フリードマン検定(Friedman test)のメモ。
ノンパラメトリックな対応のある差の検定(3時点以上)。
【目次】
帰無仮説、対立仮設
・帰無仮説 すべての時点に差がない
・対立仮設 何れかの時点に差がある
計算式等
※ n=被験者数、k=時点数、t=タイ数、r=順位の合計(Rank Sum)
※ Q'はタイ補正済みの統計量
計算例
架空データで計算。
- 被験者毎に平均順位を算出。
- 平均順位にタイがあれば
t (t^2-1)
を計算。
※表中のSubject=106のように同一被験者内でタイが複数あればその分計算する。106は10が2つ、11が3つタイなので2(2^2-1)+3(3^2-1) = 6 + 24
。 - 時点毎に順位の合計(Rank Sum)を算出。
- 上記で式を示したQ統計量を算出。
- Q統計量でカイ二乗検定を実施。時点数-1のカイ二乗分布に従う。
Rで検算。
> ads <- matrix(c( + 10,12,14,15,16, + 11,12,13,12,11, + 8,10,12,11,9, + 10,15,20,21,21, + 13,13,15,16,17, + 10,10,11,11,11, + 10,10,10,11,11, + 10,10,10,10,11, + 10,10,10,10,10, + 10,10,11,12,12 + ), byrow=T, ncol=5) > friedman.test(ads) Friedman rank sum test data: ads Friedman chi-squared = 20.987, df = 4, p-value = 0.0003186
プログラムコード
friedman.test(ads) #-- Matrix型を与える。
proc freq data=ADS; tables Subject*Time*AVAL / cmh2 scores=rank noprint; run;
今回のサンプルデータで算出してみるとRもSASもタイ補正済みの結果が出力されるよう。
SASはSCORES=RANKのANOVA (行平均スコア) CMH統計量がFriedman検定結果。
参考
https://www.sas.com/offices/asiapacific/japan/service/help/pdf/v94/procstat.pdf
フリードマンの順位検定 | 感性・官能評価システム J-SEMS
【例題で解説】フリードマン検定|Staat