數據無變化時控製圖報警我有一個腳本,我們可以在其中為許多參數生成控製圖。 對於某些參數,數據沒有變化(例如,所有數據都低於檢測限)。 對於這些沒有變化的參數,所有樣本都顯示警告,例如測試 1(超出 A 區一個點)。
這些警告/警報在我們的情況下沒有意義。 當數據沒有變化時,是否有一個技巧可以避免警告?
下面的控製圖中顯示了一個示例,該控製圖由所附腳本生成:

// Make data table with no variation and set spec limits
dt = New Table( "Control chart data",
Add Rows( 20 ),
New Column( "x", Numeric, "Continuous")
);
ForEachRow(x=0.1);
dt:x << Set Property("Spec Limits", {LSL( 0 ), USL(1 ), Show Limits( 1 )} );
// Make Individual control chart with Test 1
dt << Control Chart Builder(
Show Two Shewhart Charts( 0 ),
Show Control Panel( 0 ),
Show Alarm Report( 1 ),
Variables( Y( :x ) ),
Chart(
Points( Statistic( "Individual" ) ),
Limits( Sigma( "Levey Jennings" ), Spec Limits( 0 ) ),
Warnings( Test 1( 1 ) )
)
);
我正在使用 JMP 15.0。
彼得
腳本回复:當數據沒有變化時控製圖報警你好@peter_t ,
這可能不是解決您的解決方案的最優雅方式,但是對於您正在運行的每個進程,您可以檢查標準偏差是否為 0,如果是,則設置布爾值以顯示執行測試和/或報警報告為 0。 您還可以將整個控製圖包裝在一個布爾值中,這樣如果測試值為 0,那麼您就不會執行控製圖——因為控製圖對於始終保持不變的過程實際上沒有意義。 不管怎樣,看看下面的代碼,看看我是如何用測試值 Boolean TestV 替換的。
Names Default To Here( 1 );
// Make data table with no variation and set spec limits
dt = New Table( "Control chart data", Add Rows( 20 ), New Column( "x", Numeric, "Continuous" ) );
dt:x << Set Each Value( 0.1 );
dt:x << Set Property( "Spec Limits", {LSL( 0 ), USL( 1 ), Show Limits( 1 )} );
//test if standard deviation is 0, if so, set test value to 0
xstdev = Col Std Dev( :x );
If( xstdev == 0,
TestV = 0,
TestV = 1
);
// Make Individual control chart with Test 1
dt << Control Chart Builder(
Show Two Shewhart Charts( 0 ),
Show Control Panel( 0 ),
Eval( Substitute( Expr( Show Alarm Report( _Test_V ) ), Expr( _TestV_ ), TestV ) ),
Variables( Y( :x ) ),
Eval(
Substitute(
Expr(
Chart(
Points( Statistic( "Individual" ) ),
Limits( Sigma( "Levey Jennings" ), Spec Limits( 0 ) ),
Warnings( Test 1( (Expr( _TestV_ )) ) )
)
),
Expr( _TestV_ ), TestV
)
)
);希望這可以幫助!,
DS
附言 我必須更改代碼中的 Set Each Value 命令,以便正確填充行。
回复:當數據沒有變化時控製圖報警謝謝。 這行得通。