やあ、
JMPで3標準偏差を超える外れ値を検出する方法はありますか?
「Levey Jennings」管理図だけでなく、「explore outliers」オプションにも精通していると言わざるを得ませんが、3SD 以外の外れ値を検出する方法はありますか?
ありがとう、
ネ
値 > 3 SD を示す 2 番目の式にはエラーが含まれています。したがって、機能しません。 「*」を「*」に置き換える必要があります
したがって、値を取得するための正しい式は次のとおりです。
If( :Data > Col Mean( :Data ) + Col Std Dev( :Data ) * 3,
:データ、
.
)
簡単な補足ですが@トーマス1応答。 重大な外れ値がある場合、Col Std Dev はかなり大きくなり、平均に偏りが生じる可能性があります。
別の方法として、スクリーニングの上限に中央値 + k* 疑似シグマを使用し、スクリーニングの下限に中央値 - k* 疑似シグマを使用することもできます。
以下は、weight という名前の列の列式です。 生データの場合、ps の乗数として 6 を使用して疑似シグマを計算するために分位数 0.85 と 0.15 が使用されることがあります。
Local( {ps},
ps = (Col Quantile( :weight, 0.75 ) - Col Quantile( :weight, 0.25 )) / 1.349;
If(
:weight > Col Quantile( :weight, 0.5 ) + 5 * ps, 1,
:weight < Col Quantile( :weight, 0.5 ) - 5 * ps, -1,
0
);
)スクリプトを作成している場合、Distribution プラットフォームはロバスト平均とロバスト標準偏差を計算します。これらの値を取得する簡単なスクリプトを次に示します。
Names Default To Here(1);
dt = Open( "$sample_data/Big class.jmp");
dist = dt << Distribution(
Continuous Distribution(
Column( :height ),
Quantiles( 0 ),
Horizontal Layout( 1 ),
Histogram( 0 ),
Vertical( 0 ),
Outlier Box Plot( 0 ),
Customize Summary Statistics(
Trimmed Mean( 1 ),
Robust Mean( 1 ),
Robust Std Dev( 1 ),
Set Alpha Level( 0.05 )
)
)
);
snames = report(dist)["Summary Statistics"][TableBox(1)][StringColBox(1)] << get;
svalues= report(dist)["Summary Statistics"][TableBox(1)][NumberColBox(1)] << get;
stats = Associative Array(snames, svalues); //cretea a keyed list
r_xb = stats["Robust Mean"];
r_sd = stats["Robust Standard Deviation"];
show(r_xb, r_sd);
//now use r_xb + <4|5|6> * r_sd and r_xb - <4|5|6> * r_sd for screening limits
@ネフ書きました:
やあ、
JMPで3標準偏差を超える外れ値を検出する方法はありますか?
「Levey Jennings」管理図だけでなく、「explore outliers」オプションにも精通していると言わざるを得ませんが、3SD 以外の外れ値を検出する方法はありますか?
ありがとう、
ネ
これは、次の数式で新しい数式列を作成することで解決できます。
If( :Data > Col Mean( :Data ) + Col Std Dev( :Data ) * 3,
1、
0
)
データ列はソース列です。
値 > 3SD が必要な場合、式は次のとおりです。
If( :Data > Col Mean( :Data ) + Col Std Dev( :Data ) * 3,
:データ、
「。」
)