cpk 与 ppk你好,
当我的数据仅包含 1 列时,为什么我会得到不同的 ppk 和 cpk 值 - 为什么组内和整体 sigma 不同?例如 - 对于此数据:
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
我得到:

谢谢
基本数据分析与建模质量与工艺工程回复:cpk 与 ppk它们估算西格玛的方式不同(Cpk 是组内西格玛,Ppk 是总西格玛)。计算方法在 JMP 帮助文档里有记录,但我没能很快找到。如果我没记错的话,例如对于 Cpk,如果你没有提供子组,JMP 会将连续两行视为一个子组,数据的顺序会影响 Cpk(这一点要非常小心)。
编辑:此处有一些文档
质量和过程方法 > 过程能力 > “过程能力”平台的统计详细信息 > 正态分布能力指数的统计详细信息以及此处的基本分析 > 分布 > 连续变量的选项 > 过程能力
修改2:对所用语言略作改进,并添加了一些额外信息。这可能是解释sigma计算的正确文档:
质量和过程方法 > 过程能力 > 过程能力平台的统计详细信息 > 变异统计的统计详细信息
如果您在启动窗口中指定了子组 ID 列或子组大小常量,则可以指定您首选的子组内变异统计量。请参阅启动过程能力平台。如果您未指定子组 ID 列、子组大小常量或历史西格玛,JMP 将使用第三种方法(大小为 2 的子组移动极差)估计组内西格玛。
回复:cpk 与 ppk顺序对 Cpk 来说很重要。我也很难理解这一点,所以为了好玩,我特意创建了一个极端的例子,其中包含 1000 个随机值,并对相同的数据集进行排序,以显示差异。
代码在这里:
查看更多...
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=""></SET>
<P>在随机列和排序列之间切换来演示它。</P> <P>在排序列中,连续点之间的差异很小,而随机示例中连续点之间的差异(平均而言)较大。</P>
回复: cpk VS ppk
CPK和PPK的计算公式完全相同,区别仅在于计算样本标准差的算法。CPK采用的是估计标准,该标准有“组”的概念。
回复:cpk 与 ppk除了其他人已经发布的优秀答案之外,我还推荐STIPS在线学习课程的质量与过程章节。它通过一些具体的实践示例解释了如何计算Cpk和Ppk: SPC、MSA和过程能力培训 | JMP。