DI - 方法监控仪表板使用哪些规则? - WKB326642
环境
- wcc - 数据智能
答案
Data Intelligence 在 Waters 封装程序中嵌入了一个分析功能包。
方法监控仪表板可帮助客户执行以下操作:
· 对包含特定峰名称的所有采集点进行趋势分析。
· 将峰趋势与预定义的控制图规则进行比较,并清晰突出显示任何规则违规情况。
· 可按日期范围、项目、系统和样品类型筛选数据。
· 可查看保留时间、峰面积和峰高等字段的数据。
请务必注意:
- 每个仪表板工作表中应用和引用的规则均遵循 Western Electric 规则集和 Nelson 规则集。
- 按日期范围、项目、系统和样品类型应用筛选器,会影响均值参考线和 σ 参考线的计算。如果希望基于整个数据集计算均值参考线和 σ 参考线,请仅设置峰名称,并使用 x 轴上的蓝色缩放栏查看较小的数据子集。
- 如果将仪表板另存为自定义分析,则可以修改所有规则计算。
下表列出了仪表板上提供的不同规则类型,并对各规则集进行了比较。
规则类别 |
控制图示例 |
Western Electric 规则说明 |
Nelson 规则说明 |
发现的问题 |
超出 3σ 界限的点 |
一个点与中心线的距离超过 3 个标准差。(规则 1) |
一个点与中心线的距离超过 3 个标准差。(规则 1) |
样品严重失控。 |
|
超出 2σ 界限的点 |
连续三个点中有两个点位于中心线同一侧,且与中心线的距离超过 2 个标准差。(规则 2) |
连续三个点中有两个(或三个)点位于中心线同一侧,且与中心线的距离超过 2 个标准差。(规则 5) |
样品存在中等程度的失控倾向。 |
|
超出 1σ 界限的点 |
连续五个点中有四个点位于中心线同一侧,且与中心线的距离超过 1 个标准差。(规则 3) |
连续五个点中有四个(或五个)点位于中心线同一侧,且与中心线的距离超过 1 个标准差。(规则 6) |
样品存在轻微失控的强烈倾向。 |
|
连续点位于中心线同一侧 |
连续八个或更多点位于中心线同一侧。(规则 4) |
连续九个(或更多)点位于中心线同一侧。(规则 2) |
存在持续偏差。 |
|
趋势 |
N/A |
连续六个(或更多)点持续递增(或递减)。(规则 3) |
存在趋势。 |
|
振荡 |
N/A |
连续十四个(或更多)点交替改变方向,先增加后减少。(规则 4) |
这种程度的波动已不能归因于噪声。 |
|
变异性降低 |
N/A |
连续十五个点均位于中心线两侧距中心线 1 个标准差以内。(规则 7) |
通常预期数据的变异会超出 1 个标准差的范围。 |
|
变异性增加 |
N/A |
连续八个点均位于距均值 1 个标准差以外,并且分布在中心线两侧。(规则 8) |
数据点在中心线上下两侧跳动,却均避开距中心线 1 个标准差以内的区域,这种模式通常并非随机产生。 |
嵌入式分析软件包允许在数据集或分析中创建计算字段。
为实施这些规则,已在分析层级创建计算字段。
下表列出了该分析中包含的所有计算字段。
- 图表参考线:下表列出了每个仪表板工作表中用于设置图表属性参考线的计算字段:
计算字段名 |
公式 |
均值 |
avgOver(AnalysisField, [ ], PRE_AGG) |
-1σ |
(avgOver(AnalysisField, [ ], PRE_AGG))-(stdevOver(AnalysisField, [ ], PRE_AGG)) |
-2σ |
(avgOver(AnalysisField, [ ], PRE_AGG))-(2*(stdevOver(AnalysisField, [ ], PRE_AGG))) |
-3σ |
(avgOver(AnalysisField, [ ], PRE_AGG)) - (3*(stdevOver(AnalysisField, [ ], PRE_AGG))) |
+1σ |
(avgOver(AnalysisField, [ ], PRE_AGG))+(stdevOver(AnalysisField, [ ], PRE_AGG)) |
+2σ |
(avgOver(AnalysisField, [ ], PRE_AGG))+(2*(stdevOver(AnalysisField, [ ], PRE_AGG))) |
+3σ |
(avgOver(AnalysisField, [ ], PRE_AGG))+(3*(stdevOver(AnalysisField, [ ], PRE_AGG))) |
2. 需要为“AnalysisField”参数创建一个计算字段,以便更改用于分析的字段。可以采用相同格式添加新的待分析字段,从而扩展此计算字段。 该字段还会作为值字段添加到 Y 轴。
计算字段名 |
公式 |
AnalysisField |
ifelse( ${AnalysisField}='Amount',amount, ${AnalysisField}='Area',area, ${AnalysisField}='Height', height, ${AnalysisField}='Retention Time',retentiontime, ${AnalysisField}='USP Resolution',uspresolution, ${AnalysisField}='USP Tailing', usptailing, ${AnalysisField}='Width',width, area) |
3. 规则 1(“超出 3σ 的点”工作表)
将“Rule1”计算字段添加到 Y 轴,以红色突出显示所有违反该规则的数据点。
计算字段名 |
公式 |
规则 1 |
ifelse(avg(AnalysisField) > avg({ +3σ}) OR avg(AnalysisField) <avg({ -3σ}), avg(AnalysisField), NULL) |
4. 规则 2(数据点超出 2σ 工作表)
将“Rule2”计算字段添加到 Y 轴,以红色突出显示所有违反该规则的数据点。
将“Rule2Flag”计算字段添加为 Y 轴上的字段,以琥珀色突出显示任何达到或超出 ±2σ 界限的数据点。
计算字段名 |
公式 |
R2tag |
ifelse(avg(AnalysisField) > avg({ +2σ}) OR avg(AnalysisField) < avg({ -2σ}), 1, 0) |
R2Prev1 |
lag({ R2tag}, [dateacquired ASC], 1) |
R2Prev2 |
lag({ R2tag}, [dateacquired ASC], 2) |
Rule2 |
ifelse({ R2tag} + { R2Prev1} + { R2Prev2} >= 2, avg(AnalysisField), NULL) |
Rule2Flag |
ifelse(avg(AnalysisField) > avg({ +2σ}) OR avg(AnalysisField) < avg({ -2σ}), avg(AnalysisField), NULL) |
5. 规则 3(数据点超出 1σ 工作表)
将“Rule3”计算字段添加到 Y 轴,以红色突出显示所有违反该规则的数据点。
将“Rule3Flag”计算字段添加为 Y 轴上的字段,以琥珀色突出显示任何达到或超出 ±1σ 界限的数据点。
计算字段名 |
公式 |
R3tag |
ifelse(avg(AnalysisField) > avg({ +1σ}) OR avg(AnalysisField) < avg(-{ -1σ}), 1, 0) |
R3Prev1 |
lag({ R3tag}, [dateacquired ASC], 1) |
R3Prev2 |
lag({ R3tag}, [dateacquired ASC], 2) |
R3Prev3 |
lag({ R3tag}, [dateacquired ASC], 3) |
R3Prev4 |
lag({ R3tag}, [dateacquired ASC], 4) |
Rule3 |
ifelse({ R3tag} + { R3Prev1} + { R3Prev2} + { R3Prev3} +{ R3Prev4} >= 4,avg(AnalysisField), NULL) |
Rule 3Flag |
ifelse(avg(AnalysisField) > avg({ +1σ}) OR avg(AnalysisField) < avg(-{ -1σ}), avg(AnalysisField), NULL) |
6. 规则 4(连续数据点位于均值同一侧工作表)
将“Rule4”计算字段添加为 Y 轴上的字段,以红色突出显示任何违反规则的数据点。
将“Rule4Flag”计算字段添加为 Y 轴上的字段,以琥珀色突出显示前一个数据点与当前数据点位于均值同一侧的数据点。
计算字段名 |
公式 |
R4tag |
ifelse(AnalysisField > avgOver(AnalysisField, [], PRE_AGG), 1, -1) |
Rule4 |
ifelse(avg({ R4tag}) <> 0 AND lag(avg({ R4tag}), [dateacquired ASC], 1) = avg({ R4tag}) AND lag(avg({ R4tag}), [dateacquired ASC], 2) = avg({ R4tag}) AND lag(avg({ R4tag}), [dateacquired ASC], 3) = avg({ R4tag}) AND lag(avg({ R4tag}), [dateacquired ASC], 4) = avg({ R4tag}) AND lag(avg({ R4tag}), [dateacquired ASC], 5) = avg({ R4tag}) AND lag(avg({ R4tag}), [dateacquired ASC], 6) = avg({ R4tag}) AND lag(avg({ R4tag}), [dateacquired ASC], 7) = avg({ R4tag}) , avg(AnalysisField), NULL) |
Rule4Flag |
ifelse((AnalysisField > avgOver(AnalysisField, [], PRE_AGG) OR AnalysisField < avgOver(AnalysisField, [], PRE_AGG)), AnalysisField, NULL) |
7. 规则 5(趋势工作表)
将“Rule5”计算字段添加到 Y 轴,以红色突出显示所有违反该规则的数据点。
将“Rule5Flag”计算字段添加到 Y 轴,以琥珀色突出显示相较于前一个数据点上升或下降的数据点。
计算字段名称 |
公式 |
Direction |
ifelse(avg(AnalysisField) > lag(avg(AnalysisField), [dateacquired ASC], 1), 1, ifelse(avg(AnalysisField) < lag(avg(AnalysisField), [dateacquired ASC], 1), -1, 0)) |
Rule5 |
ifelse({ Direction} <> 0 AND { Direction} = lag({ Direction}, [dateacquired ASC], 1) AND { Direction} = lag({ Direction}, [dateacquired ASC], 2) AND { Direction} = lag({ Direction}, [dateacquired ASC], 3) AND { Direction} = lag({ Direction}, [dateacquired ASC], 4) AND { Direction} = lag({ Direction}, [dateacquired ASC], 5), avg(AnalysisField), NULL) |
Rule5Flag |
ifelse((avg(AnalysisField) > lag(avg(AnalysisField), [dateacquired ASC], 1) OR avg(AnalysisField) < lag(avg(AnalysisField), [dateacquired ASC], 1)), avg(AnalysisField), NULL) |
8. 规则 6(振荡工作表)
将“Rule6”计算字段添加到 Y 轴,以红色突出显示所有违反该规则的数据点。
将“Rule6Flag”计算字段添加到 Y 轴,以琥珀色突出显示相较于前一个数据点走势方向发生变化的数据点。
计算字段名称 |
公式 |
Alternating |
ifelse({ Direction} * lag({ Direction},[dateacquired ASC], 1) = -1, 1, 0) |
Rule6 |
ifelse({ Alternating} =1 AND lag({ Alternating}, [dateacquired ASC], 1) =1 AND lag({ Alternating}, [dateacquired ASC], 2) =1 AND lag({ Alternating}, [dateacquired ASC], 3) =1 AND lag({ Alternating}, [dateacquired ASC], 4) =1 AND lag({ Alternating}, [dateacquired ASC], 5) =1 AND lag({ Alternating}, [dateacquired ASC], 6) =1 AND lag({ Alternating}, [dateacquired ASC], 7) =1 AND lag({ Alternating}, [dateacquired ASC], 8) =1 AND lag({ Alternating}, [dateacquired ASC], 9) =1 AND lag({ Alternating}, [dateacquired ASC], 10) =1 AND lag({ Alternating}, [dateacquired ASC], 11) =1 AND lag({ Alternating}, [dateacquired ASC], 12) =1 AND lag({ Alternating}, [dateacquired ASC], 13) =1 AND lag({ Alternating}, [dateacquired ASC], 14) =1, avg(AnalysisField), NULL) |
Rule6Flag |
ifelse({ Direction} * lag({ Direction},[dateacquired ASC], 1) = -1, avg(AnalysisField), NULL) |
9. 规则 7(变异性降低工作表)
将“Rule7”计算字段添加到 Y 轴,以红色突出显示所有违反该规则的数据点。
将“Rule7Flag”计算字段添加到 Y 轴,以琥珀色突出显示 ±1σ 区间内的数据点。
计算字段名 |
公式 |
R7Prev1 |
lag({ Rule7Flag}, [dateacquired ASC], 1) |
R7Prev2 |
lag({ Rule7Flag}, [dateacquired ASC], 2) |
R7Prev3 |
lag({ Rule7Flag}, [dateacquired ASC], 3) |
R7Prev4 |
lag({ Rule7Flag}, [dateacquired ASC], 4) |
R7Prev5 |
lag({ Rule7Flag}, [dateacquired ASC], 5) |
R7Prev6 |
lag({ Rule7Flag}, [dateacquired ASC], 6) |
R7Prev7 |
lag({ Rule7Flag}, [dateacquired ASC], 7) |
R7Prev8 |
lag({ Rule7Flag}, [dateacquired ASC], 8) |
R7Prev9 |
lag({ Rule7Flag}, [dateacquired ASC], 9) |
R7Prev10 |
lag({ Rule7Flag}, [dateacquired ASC], 10) |
R7Prev11 |
lag({ Rule7Flag}, [dateacquired ASC], 11) |
R7Prev12 |
lag({ Rule7Flag}, [dateacquired ASC], 12) |
R7Prev13 |
lag({ Rule7Flag}, [dateacquired ASC], 13) |
R7Prev14 |
lag({ Rule7Flag}, [dateacquired ASC], 14) |
Rule7 |
ifelse({ Rule7Flag} + { R7Prev1} + { R7Prev2} + { R7Prev3} + { R7Prev4} + { R7Prev5} + { R7Prev6} + { R7Prev7} + { R7Prev8} + { R7Prev9} + { R7Prev10} + { R7Prev11} + { R7Prev12} + { R7Prev13} + { R7Prev14} >= 14, avg(AnalysisField), NULL) |
Rule7Flag |
ifelse(avg(AnalysisField) < avg({ +1σ}) AND avg(AnalysisField) > avg({ -1σ}), avg(AnalysisField), NULL) |
10. 规则 8(变异增加工作表)
将“Rule8”计算字段添加为 Y 轴上的字段,以红色突出显示任何违反规则的数据点。
将“Rule8Flag”计算字段添加到 Y 轴,以琥珀色突出显示超出 +/- 1σ 范围的数据点。
计算字段名 |
公式 |
R8Prev1 |
lag({ Rule8Flag}, [dateacquired ASC], 1) |
R8Prev2 |
lag({ Rule8Flag}, [dateacquired ASC], 2) |
R8Prev3 |
lag({ Rule8Flag}, [dateacquired ASC], 3) |
R8Prev4 |
lag({ Rule8Flag}, [dateacquired ASC], 4) |
R8Prev5 |
lag({ Rule8Flag}, [dateacquired ASC], 5) |
R8Prev6 |
lag({ Rule8Flag}, [dateacquired ASC], 6) |
R8Prev7 |
lag({ Rule8Flag}, [dateacquired ASC], 7) |
Rule8 |
ifelse({ Rule8Flag} + { R8Prev1} + { R8Prev2} + { R8Prev3} + { R8Prev4} +{ R8Prev5} + { R8Prev6} + { R8Prev7} >= 7, avg(AnalysisField), NULL) |
Rule8Flag |
ifelse(avg(AnalysisField) > avg({ +1σ}) OR avg(AnalysisField) < avg({ -1σ}), avg(AnalysisField), NULL) |
附加信息
id326642, consecutive, noise, X-Axis, Y-Axis, 噪音, 美国药典