Engineering Skills

製品開発エンジニアがデータ解析のノウハウを垂れ流します

Friedman検定

Kruskal-Wallis検定に続いてFriedman検定です。実務でも使う機会は多いはずですが、Kruskal-Wallis検定が普通でないとFriedman検定は使わない気がします。でも適用機会は多いので。

Friedman検定

Friedman検定は、乱塊法のために開発された手法です。ノンパラメトリック検定の一つで、対応のある2群以上の多群の差を検定します。対応のある一元配置分散分析や二元配置分散分析に対応するノンパラメトリック検定と捉えると良いです。対応する各行毎にデータの順位付けを行い、検定対象となる各列毎に順位和を求めて検定統計量を行います。

Friedman検定の計算方法

Friedman検定では対応するデータ集合に対して順位付けを行います。そして、この順位を各郡ごとに足して。[math] \displaystyle R_i [/math]を計算します。データ総数を[math] \displaystyle N [/math]、水準数を[math] \displaystyle k [/math]として、検定統計量[math] \displaystyle {{\chi}_{0}}^{2} [/math]は下記のように計算されます。

[math] \displaystyle {{\chi}_{0}}^{2} =\frac {12}{nk(k+1)} \sum_{i=1}^{k}{ {R_i}^2 } - 3n(k+1) [/math]

あるいは順位和[math] \displaystyle R_i [/math]から、順位平均[math] \displaystyle r_i [/math]を計算して下記のようにも表せます。同じものです。

[math] \displaystyle {{\chi}_{0}}^{2} =\frac {12n}{k(k+1)} \left( \sum_{i=1}^{k}{ {r_i}^2 } - \frac{k{(k+1)}^2}{4} \right) [/math]

データ間で同順位がある場合には、次のように調整された検定統計量が用いられます。同順位のデータには平均順位を与え、[math] \displaystyle l [/math]は同順位の組の個数、[math] \displaystyle t_j [/math]は同順位の組の中でのデータ数です。

[math] \displaystyle {{\chi}_{0}}^{2} =\frac {12 \sum_{i=1}^{k}{ {(R_i - n(k+1)/2)}^2 } } { nk(k+1) - \sum_{j=1}^{l}{ ({t_j}^3-{t_j}) } /(k-1) } [/math]

Friedman検定の計算方法実例

本節ではFriedman検定をデータ例と共に追ってみます。本節で用いるデータは二元配置の下記のようなデータ例で、A1~6水準とB1~4水準があります。簡単のため下記では、同順位補正の式は適用していません。

f:id:OceanOne:20210810002119p:plain:h170

要因Bに対して検定するためには、下記のように要因Aが共通のデータ間で順位付けを行います。

f:id:OceanOne:20210810002414p:plain:h210

順位付け結果を用いて検定量の計算を行います。

f:id:OceanOne:20210810002936p:plain:h250

この例では検定統計量が自由度5の[math] \displaystyle \chi^2 [/math]分布に従う事よりP値を計算します(P=0.5912)。


要因Aに対して検定するためには、下記のように要因Bが共通のデータ間で順位付けを行います。

f:id:OceanOne:20210811015702p:plain:h190

順位付け結果を用いて検定量の計算を行います。

f:id:OceanOne:20210811020036p:plain:h310

この例では検定統計量が自由度3の[math] \displaystyle \chi^2 [/math]分布に従う事よりP値=0.0138と計算されます。

まとめ

Friedman検定の計算方法について述べました。今回も、こちらのツールに実装しています。メニューバーからDOE>Make DOE fileで解析対象ファイル作成、応答を入力してDOE>Analyze DOE fileで解析できます。