<<目次へ


フリードマン検定

 フリードマン検定はクルスカル・ワリス検定と同様にk群の代表値に差があるかどうかを確かめるための手法です。ただ,クルスカル・ワリス検定では「対応なしのデータ」,つまり各群(条件)によって別々の被験者を用いていたのに対して,フリードマン検定では「対応ありのデータ」,すなわち各群とも同じ被験者を用いた場合を前提として考えます。

フリードマン検定は、、、
  • 順序尺度のデータに適用できる
  • ノンパラメトリック検定の1つである
  • 対応ありのk群の代表値の差を確かめることができる


例 題-1

 心理学ではよくありがちな設定ですが人物A,人物B人物Cの顔写真を見せて魅力的に感じる順に順位づけをしてもらったとしましょう(下表)。このとき,A〜Cの人物に対する順位づけに差があるかどうかを検定してみます。

人物A 人物B 人物C
被験者1 2 1 3
被験者2 3 2 1
被験者3 2 3 1
被験者4 3 1 2
被験者5 1 2 3
順位の合計 11 9 10

解 説

 まず帰無仮説は以下のように立てます。

帰無仮説H0:人物によって魅力評価の順位に違いはない

 Rで計算してみると以下のようになります(Excelからデータを読み込むexcel.w()を使いました)。

> dat<-matrix(excel.w(3),ncol=3)
Read 18 items
> dat
[,1] [,2] [,3]
[1,] 2 1 3
[2,] 3 2 1
[3,] 2 3 1
[4,] 3 1 2
[5,] 1 2 3
[6,] 11 9 10
> friedman.test(dat)

Friedman rank sum test

data: dat
Friedman chi-squared = 1.3333, df = 2, p-value = 0.5134

☆カイ自乗値で判断する場合

χ2=1.3333<χ22,0.05=5.991(求めたカイ自乗値の方が小さい)となるので「人物によって魅力評価の順位に違いはない」という帰無仮説を採択する。

☆p値で判断する場合

p=0.5134>0.05(求めたp値の方が大きい)となるので「人物によって魅力評価の順位に違いはない」という帰無仮説を採択する。」

 したがって,A〜Cのどの人物も似たり寄ったりの評価しか受けられなかったようである。



例 題-2

 例題1では最初から被験者に順位づけしてもらったので,得られたデータは順位づけされたデータでした。フリードマン検定では順位づけされたデータでなくても検定を実行できますが,その場合は原データに対して自分で順位づけする必要があります。

 例えば例題1と同じく3種類の顔写真を見せたとき,(例題1では被験者に順位づけしてもらいましたが)10点満点で各々の顔写真に得点をつけてもらったとしましょう(下表-左)。

人物A 人物B 人物C
被験者1 9 5 7
被験者2 4 6 7
被験者3 10 7 4
被験者4 5 6 7
被験者5 8 5 10
順位づけ後
→→→
人物A 人物B 人物C
被験者1 1 3 2
被験者2 3 2 1
被験者3 1 2 3
被験者4 1 2 3
被験者5 2 3 1
順位の合計 8 12 10

解 説

 まずは上表-右のように,原データに順位づけを行います(同順位があった場合は平均順位をつけます注1)。しかし,実際にはコンピュータが勝手に計算してくれるので,このような手順を踏む必要はありません。ただし,定義式にならって手計算をする場合には順位づけを行って,その合計を求めておくと計算がしやすいです。

 実際にRで計算して見ますが,上表-左のデータを入力した場合と上表-右のデータを入力した場合とでは結果に差があるのかどうかを確かめてみましょう。

[上表-左のデータ]

> dat<-matrix(c(9,4,10,5,8,5,6,7,6,5,7,7,4,7,10),ncol=3)
> dat
  [,1] [,2] [,3]
[1,] 9 5 7
[2,] 4 6 7
[3,] 10 7 4
[4,] 5 6 7
[5,] 8 5 10
> friedman.test(dat)

Friedman rank sum test

data: dat
Friedman chi-squared =
1.6, df = 2, p-value = 0.4493

[上表-右のデータ]

> dat2<-matrix(c(1,3,1,1,2,3,2,2,2,3,2,1,3,3,1),ncol=3)
> dat2
  [,1] [,2] [,3]
[1,] 1 3 2
[2,] 3 2 1
[3,] 1 2 3
[4,] 1 2 3
[5,] 2 3 1
> friedman.test(dat2)

Friedman rank sum test

data: dat2
Friedman chi-squared =
1.6, df = 2, p-value = 0.4493

 ご覧の通り,どちらのデータで計算しても結果は同じになります。



注1.同順位がある場合

データ 12 23 21 14 17 20 17 22
順 位 8 1 3 7 5.5 4 5.5 2

大きい順に並べると

23 22 21 20 17 17 14 12
1 2 3 4 5 6 7 8

(5+6)/2=5.5