Process-Oriented Basis Representations
(POBREP) for Multivariate SPC: Tracing
Errors to their Source
Russell R. BartonPenn State, Smeal College of Business
Acknowledgments: J. McCool, D. Gonzalez-Barreto, E. Foster
Multivariate Repeated Measurements - Motivation
A Process-Oriented Approach
Math Details
Example If time: POBREP for Multivariate Capability
Many products consist of multiple similar measurements, such as temperatures, thickness or registration errors at multiple locations. Under such conditions, it is possible to produce process diagnostics analyzing the multivariate process quality vector using a process-oriented basis. Many potential production problems have characteristic signatures that can be detected in the multivariate quality vector.
POBREP for Capturing Process Knowledge
Silver
Clay
PRESSUREChip Capacitor Manufacturing
POBREP for Capturing Process Knowledge
Screen Printing of Silver Squares: Registration Errors Problematic
SilverSquares
ClaySubstrate
POBREP for Capturing Process Knowledge
Measuring Registration Error
actual
target
i ii
iv iii
2.1
1.4
1.7
3.9
1.6
-2.8
1.8
1.7
1.7
3.9
x =
h
v
h
v
h
v
h
v
i
ii
iii
iv
}
}
}
}
Define the set of n measured deviations from nominal to be a multivariate quality vector x.
In this example suppose horizontal and vertical registration errors measured only for the pads at each corner of the sheet: x1 is horizontal error at upper left pad, x2 is vertical error at upper left pad, x3 is horizontal error at upper right pad, etc.
A littl math: notation for multivariate quality vector
Notation for multivariate quality vector
Measuring Registration Error
actual
target
i ii
iv iii
2.1
1.4
1.7
3.9
1.6
-2.8
1.8
1.7
1.7
3.9
x =
h
v
h
v
h
v
h
v
i
ii
iii
iv
}
}
}
}
A process-oriented approach
The situation: a set of 8 misregistration numbers is hard to interpretSPC using Hotelling’s T 2 or principal components is complicated and not intuitiveIdeally, the link to specific causes would be clear
Process-specific causes of misregister and characteristic signatures
Misregister
variationsin flat thickness locating fences
screen
stretch
rotationheight
verticalmisplacement
horizontalmisplacement
slurryinhomogeneity
variations insheet pull speed
frametwist
Suppose have n different characteristic signatures for n different process causes, say a1, a2, ... , an.
If the process-oriented basis vectors a1, a2, ... , an are linearly independent (not linear combinations of each other) then they provide an alternative ‘basis’ for representing the x data as a linear combination of the signatures:
x = z1a1 + z2a2 + ... + znan.
Mathematical notation: POBREP vector
x = z1a1 + z2a2 + ... + znan.
The z = (z1, z2, ..., zn)' found by computing a matrix inverse and then doing a simple linear calculation:
z = A-1x
A is the matrix consisting of the column vectors a1, a2, ... , an. These are the characteristic signatures.
We call this basis { a1, a2, ... , an } a process-oriented basis.
Thus POBREP: z is a process-oriented basis representation of the original data vector, x.
Mathematical notation: POBREP vector
Screen printing example
Misregister
variationsin flat thickness locating fences
screen
stretch
rotationheight
verticalmisplacement
horizontalmisplacement
slurryinhomogeneity
variations insheet pull speed
frametwist
Screen printing example
10000000
standard basis
process-orientedbasis
uniform errors rotation uniformstretch/shrink
differentialstretch/shrink
e =i
01000000
00100000
00010000
00001000
00000100
00000010
00000001
10101010
a =i
01010101
111
-1-1-1-11
1-111
-11
-1-1
-101010
-10
01010
-10
-1
10
-1010
-10
010
-1010
-1
i = 1 i = 2 i = 3 i = 4 i = 5 i = 6 i = 7 i = 8
diagonalstretch/shrink
Screen printing example
10101010
01010101
111
-1-1-1-11
1-111
-11
-1-1
-101010
-10
01010
-10
-1
10
-1010
-10
010
-1010
-1
A =
z = A-1x
Inverse easy: use Excel or Octave (free MATLAB)
A-1 =
Excel instructions: http://judgeg.myweb.port.ac.uk/SAME/Xmatinv.pdf
Step 1 Highlight the block of cells for the inverse (for example if you are inverting a 3x3 matrix this should also be 3x3). In my illustration the matrix is in cells A1:C3 and the inverse is going to go in cells A6:C8. Step 2 In the top left hand cell of the new block (A6) type the following =MINVERSE( Step 3Then use the mouse to paste over the cells where the matrix to invert is situated (i.e. A1:C3) Step 4 Enter the close bracket symbol ) Step 5Press the following keys together Ctrl Shift Enter
Screen printing example
10101010
01010101
111
-1-1-1-11
1-111
-11
-1-1
-101010
-10
01010
-10
-1
10
-1010
-10
010
-1010
-1
A =
1/40
1/81/8
-1/40
1/40
01/41/8
-1/80
1/40
1/4
1/40
1/81/81/4
0-1/4
0
01/4
-1/81/8
01/4
0-1/4
1/40
-1/8-1/81/4
01/4
0
01/4
-1/81/8
0-1/4
01/4
1/40
-1/8-1/8-1/4
0-1/4
0
01/41/8
-1/80
-1/40
-1/4
-1A =z = A-1x
Inverse easy: use Excel or Octave (free MATLAB)
Screen Printing Example
Standard Representation:x = (0, 1, 2, -1, 0, -1, -2, 1)'
z = (z1, z2, ..., zn)‘
Let’s show the calculation of z1. We will need the standard representation, x, and the first row of A-1:
x = (0, 1, 2, -1, 0, -1, -2, 1)‘
First row of A-1 :(0, 1/4, 0, 1/4, 0, 1/4, 0, 1/4)
So the calculation is:
z1 = 0*0 + ¼*1 + 0*2 + ¼*-1 + 0*0 + ¼*-1 + 0*-2 + ¼*1 = 0
That means we observe NO HORIZONTAL SHIFT.
KEY: once A-1 is constructed, this calculation is easy in Excel.
The calculation
Screen Printing Example
Standard Representation of x = (0, 1, 2, -1, 0, -1, -2, 1)'
POBREP Representation of x = (0, 1, 2, -1, 0, -1, -2, 1)’ is z = (0, 0, 1, 0, 1, 0, 0, 0)’
uniform errors rotation uniformstretch/shrink
differentialstretch/shrink
diagonalstretch/shrink
x = z1a1 + z2a2 + ... + znan.
Using the process-oriented basis representation z, of the original vector x, diagnosis is possible:
Potential causes are associated with patterns (ai) having positive or negative coefficients (zi) that are large in magnitude. These patterns are linked with one or more specific causes.
Further, if the ai are scaled so that the maximum magnitude is 1, the zi value indicates the worst error magnitude introduced by this cause. (our example: one unit of error from rotation, one from horizontal stretch).
The power of POBREP
POBREP for Data Reduction
In many interesting cases, would like to keep full set of measurements (e.g. all misregistration errors) but have a relatively small set of signatures – giving both data reduction and cause connection.POPBREP facilitates this: instead of computing A-1, solve
x = Az
by least squares
INFORMS Fall 2000 21
1
52
.
.
.
.
.
.
.
.
.
.
.
.
.
105
.
.
.
.
.
.
.
.
.
.
.
.
.
.
156
53 . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . .104
208 . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . .157
Fine Pitch Component with CCD = .020 and 208 leads
Q: in this case is ((z1), (z2), …, (z208)) PRACTICAL??
POBREP for Data Reduction
Basis # 1 Basis # 2 Basis # 3 Basis # 4
Four Basis Elements for Fine Pitch Component Example
a1 a2 a3 a4
POBREP for Data Reduction
Summary: POBREP Diagnosis Methodology
Observed Error Patterns (x)
Hypothesized or Observed Process Deviations
Process Oriented Basis Matrix A A = [ a1 | a2 | .....…an ]
Process
x = Az + - solving the linear system (via least squares if A is not full rank) will provide a representation of the error vector in the basis matrix space: zi are coefficients for the ai
.........
Potential process causes are associated with patterns having large z i coefficients
a1 =
z1 z2 z4z3 zn
……...
10101010
Since causes are associated with signatures (ai) having positive or negative coefficients (zi) that are large in magnitude, multivariate SPC with POBREP can be more informative than univariate SPC.
Univariate SPC: monitor for special cause variation, then separately investigate to find cause.
Multivariate SPC: POBREP z coefficients give the cause!
POBREP vector for SPC
POBREP for Diagnosis-based SPC: Charts for z Coefficients
0 5 10 15 20 25 30 35 40 45 50-10
0
10
0 5 10 15 20 25 30 35 40 45 50-10
0
10
0 5 10 15 20 25 30 35 40 45 50-10
0
10
Basis # 2
Basis # 3
Basis # 1
Multivariate SPC – ‘usual’ methods (principal
components, Hotellings T 2) difficult to interpret
A Process-Oriented Multivariate Vector, z interpretable
practical (can be calculated easily and with adequate precision) in many cases
can induce independence between components
Conclusions
Process-Oriented Basis Representations
(POBREP) for Multivariate SPC: Tracing
Errors to their Source
POBREP and Multivariate Capability
POBREP can address similar issues in multivariate capability.
A brief overview…
Three widely accepted univariate indices:
Cp = (USL-LSL)/6σ
22 )(6 T
LSLUSLCpm
3
,3
minLSLUSL
Cpk
Process Capability and Multivariate
Capability Indices
Taam et al.: Assumed elliptical specifications
Shahriari et al.: Presented three numbers that describe
multivariate capability
Chen: A general approach allowing rectangular or
elliptical specifications and non-normal distributions
Wierda: Direct computation of percentage conforming
approach
(Taam et. al (1993), Shahriari et. al (1995), Chen (1994),Wierda (1992))
Multivariate capability index literature review summary:
Criteria Taam Wierda Chen HubeleComputationally easy? yes yes* no yesEstimates proportion good parts? no yes yes noRectangular specification limits? no yes yes yesProcess oriented? no no no no
Wierda (1993) approach to the multivariate index:
Multivariate index proposed that uses p-dimensional rectangular specification area.
Minimum expected or potentially attainable proportion of non-conformance items approach.
Original “proportion conforming” definition of capability indices is explicitly preserved
= probability of producing a good part
)(3
1 1 θMCpk
Wierda (1993) multivariate indexdetails:
Compute when quality variables independent:
Compute when quality variables dependent
( known):
np is MVN density is covariance matrix L and U are vectors of
specifications
1
1 1
1
1 11 ΦΦ
s
XLSL
s
XUSL
p
p p
p
p pp
s
XLSL
s
XUSLθ ΦΦ
p ... ˆ 21).ˆ (1/3Φˆ 1 pkCM
dyn
1n,X|yn
U][L,
p )(ˆ
means of vector a is X
is a bivariate “reliability” capability measure
gives multivariate proportion conforming: Integrate over bivariate normal density for the dependent case
Independent case: = 12
Wierda multivariate capability index graphical aid:
x2
x1
USL1LSL1
LSL2
USL2
1
2
Current Limitations in Multivariate Capability:
Estimating x is difficult when there are many quality variables.
Interpretation is difficult when one number represents the joint affect of many variables.
Multivariate Process-oriented Capability Method Example
z = A-1x (Eight z’s per part)
Z = [z1| z 2|…| z 100].
Using Z and the specification limits, capability can be computed
Often, covariance matrix z will have zero non-diagonal elements—independent causes
Multivariate Process-oriented Capability Method Example
If the values 1 and –1 are in each column at least once, the full affect of basis elements is estimated
x rectangular specifications LSL < x < USL may make less sense than specifications on z components – because of cause connection and scaling to match maximum x-deviation for a specific cause.
Using z values instead of x likely to yield independence
Independent case: = 12
POBREP multivariate capability index graphical aid:
z2
z1
USL1LSL1
LSL2
USL2
1
2
Multivariate Capability Indices using Process-Oriented Basis Representations
Multivariate Capability Indices - difficult to interpret
A Process-Oriented Multivariate Capability Vector
interpretable
practical (can be calculated with adequate precision) in many cases
can induce independence between components
Conclusions