やあ、
マハラノビス距離を使用して多変量異常値分析の UCL を取得するスクリプトを作成するのが好きです。
JMPメニューからUCLを取得できますが、とにかくUCLを取得してスクリプトで変数名に設定できますか?
ありがとうございます。 ありがとう。
キャメロンを助けてくれてどうもありがとう。 これはとても役に立ちます。
やあ@で、
レポートからこの値を取り出すのは少し難しいようですが、"Save Outlier Distances" アクションをスクリプト化し、列プロパティ "Mahal. その行動から生まれる価値」。列のプロパティ値を変数として保存するのはそれほど難しくありません。次に、Thickness サンプル データ セットを使用した例を示します。
dt = Open("$SAMPLE_DATA/Quality Control/Thickness.jmp");
multi = dt << Multivariate(
Y(
:Thickness 01,
:Thickness 02,
:Thickness 03,
:Thickness 04,
:Thickness 05,
:Thickness 06,
:Thickness 07,
:Thickness 08,
:Thickness 09,
:Thickness 10,
:Thickness 11,
:Thickness 12
),
Estimation Method( "Row-wise" )
);
multi << Mahalanobis Distances( 1 , Save Outlier Distances);
mahal_ucl = Column("Mahal. Distances") << Get Property("Mahal. Value");ただし、この制限は実際には関数で計算するのが非常に簡単です。これは、ホテリングの T^2 チャートの UCL の平方根にすぎません。
Mahal_UCL = function({p,m},
sqrt(((m-1)^2)/m*beta quantile(0.95,p/2,(m-p-1)/2));
);この式は、49 ページの多変量分析のブックの [ヘルプ] メニュー ([ヘルプ] > [ブック] > [多変量分析]) にも記載されています。
次に、厚さデータを使用した例を示します。マハラノビスの管理限界は 4.36 です。以前に提供された関数を使用して、m=50 データ ポイントと p=12 変数のマハラノビス距離 UCL を計算できます。一致する管理限界を示すログ出力は次のとおりです。
Mahal_UCL(12,50);
/*:
4.36283881449635
関数 Mahal_UCL は、alpha = 0.05 でハードコードを書きました。次のように alpha を 3 番目のパラメーターにすることができます。
Mahal_UCL = function({p, m, alpha},
sqrt( ( ( m-1 )^2 )/m*beta quantile( 1-alpha, p/2, ( m-p-1 )/2 ) );
);