cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Choose Language Hide Translation Bar
septon
Level I

cpk VS ppk

Hi,

Why do I get different values of ppk and cpk when my data contains only 1 column - why are the within and overall sigma different?For example - for this data:


98.8
99.7
99.7
99.9
99.5
100
100.4
98.8
99.3
100.5
100.4
100.5
100.2
100.4
101.5
100.7
100.7
100.4
99.7
100.3
100.4
101.2
101.2
100
99.7
100.3
101.4
101
100.5

 

I get:

septon_0-1760007714704.png

 

Thanks

 

3 REPLIES 3
jthi
Super User

Re: cpk VS ppk

They estimate sigma in different ways (within sigma for Cpk and overall sigma for Ppk). The calculations are documented somewhere in JMP Help but I couldn't quickly find it. If I remember correctly for example for Cpk if you do not provide subgroup, JMP will consider two consecutive rows as a subgroup and the ordering of the data will affect Cpk (be very careful with this).

 

Edit: Some documentation here

Quality and Process Methods > Process Capability > Statistical Details for the Process Capability Pl... and here Basic Analysis > Distributions > Options for Continuous Variables > Process Capability 

 

Edit2: Slight improvements to the used language and some extra information. This might be the correct documentation to explain the sigma calculations:

Quality and Process Methods > Process Capability > Statistical Details for the Process Capability P... 


If you specify a subgroup ID column or a constant subgroup size on the launch window, you can specify your preferred within-subgroup variation statistic. See Launch the Process Capability Platform. If you do not specify a subgroup ID column, a constant subgroup size, or a historical sigma, JMP estimates the within sigma using the third method (moving range of subgroups of size two).




 

-Jarmo
matth1
Level IV

Re: cpk VS ppk

Order matters for Cpk. I had a hard time getting my head around it as well, so just for fun I created a deliberately extreme example of 1000 random values and the same data set sorted to show the difference.

Code here:

View more...
names default to here(1);

dt0 = New Table( "init", New Column( "Random" ), Invisible );
dt0 << Begin Data Update << Add Rows( 1000 );
For Each Row( dt0, :Random = Random Normal( 0, 1 ) );
dt0 << End Data Update;

dt_sort = dt0 << Sort( By( :Random ), Order( Ascending ), Invisible );
dt_sort:Random << Set Name( "Sorted" );

dt = dt0 << Join( With( dt_sort ), By Row Number, Output Table( "cpk_vs_ppk" ) );
Close( dt0, No Save );
Close( dt_sort, No Save );

For Each( {col}, dt << get column references(),
	col << Set Property( "Spec Limits", {LSL( -2.5 ), USL( 2.5 ), Show Limits( 1 )} )
);

Wait( 0 );

win01 = New Window( "Cpk vs Ppk",
	Text Box( "The Random column conatins 1000 rows of normally distributed random data", <<set wrap( 1000 ) ),
	Text Box( "The Sorted column is the same data, just sorted low-high", <<set wrap( 1000 ) ),
	Text Box(
		"Switch between the two colums to show the impact of data order on Cpk (but not Ppk)",
		<<set wrap( 1000 )
	),
	Data Filter Context Box(
		H List Box(
			V List Box(
				cs = dt << column switcher( :Random, {:Random, :Sorted} ),
				dt << data filter( Local, Show Controls( 0 ), Add Filter( Columns( :Random ) ) )
			),
			V List Box(
				dist = dt << Distribution(
					Continuous Distribution(
						Column( :Random ),
						Quantiles( 0 ),
						Summary Statistics( 0 ),
						Horizontal Layout( 1 ),
						Histogram( 0 ),
						Vertical( 0 ),
						Outlier Box Plot( 0 ),
						Process Capability(
							Use Column Property Specs,
							Process Capability Analysis( Nonconformance( 0 ) )
						)
					)
				),
				Text Box( "    " ),
				runchart = dt << Graph Builder(
					Transform Column( "Row", Formula( Row() ) ),
					Size( 795, 393 ),
					Show Control Panel( 0 ),
					Variables( X( :Row ), Y( :Random ) ),
					Elements( Points( X, Y, Legend( 3 ) ), Line( X, Y, Legend( 5 ) ) ),
					SendToReport(
						Dispatch( {}, "Row", ScaleBox,
							{Min( -5 ), Max( 1005 ), Inc( 200 ), Minor Ticks( 3 ), Label Row( Show Major Grid( 1 ) )
							}
						),
						Dispatch( {}, "Random", ScaleBox, {Label Row( Show Major Grid( 1 ) )} ),
						Dispatch( {}, "400", ScaleBox,
							{Legend Model( 5, Properties( 0, {Line Width( 1 )}, Item ID( "Random", 1 ) ) )}
						)
					)
				)
			)
		)
	)
);

cs << link platform( dist );
cs << link platform( runchart );

Switch between the random and sorted columns to demonstrate it.

In the sorted column there is a tiny difference between consecutive points compared to a (on average) larger difference between consecutive points in the random example.

Xinghua
Level III

回复: cpk VS ppk

The calculation formulas for CPK and PPK are exactly the same. The only difference is the algorithm for calculating the sample standard deviation. CPK uses an estimation standard, which has the concept of "group".

Recommended Articles