教師あり機械学習分類アルゴリズムのパフォーマンスを評価しようとしています。観察は99の被験者の母集団から抽出された名義クラスに分類されます(当面は2ですが、これをマルチクラス問題に一般化したいと思います)。
アルゴリズムが入力クラス間で分類精度に有意差を示すかどうかは、私が回答したい質問の1つです。バイナリ分類のケースでは、対応するウィルコクソン検定を使用して、被験者間のクラス間の平均精度を比較しています(基礎となる分布が正規でないため)。この手順をマルチクラス問題に一般化するために、私はフリードマン検定を使用することを意図しました。
しかし、バイナリIVの場合には、これら二つの手順により得られたp値を得たウィルコクソン検定を用いて、激しく変わるp < .001
一方p = .25
フリードマンテスト用。これは私がフリードマン検定の構造について根本的な誤解を持っていると私を信じさせます。
この場合、フリードマン検定を使用して、すべての被験者にわたって精度の繰り返し測定の結果を比較することは適切ではありませんか?
これらの結果を取得するための私のRコード(subject
は、サブジェクトID、acc
精度DV、およびexpected
観測クラスIVです):
> head(subject.accuracy, n=10)
subject expected acc
1 10 none 0.97826087
2 10 high 0.55319149
3 101 none 1.00000000
4 101 high 0.68085106
5 103 none 0.97826087
6 103 high 1.00000000
7 104 none 1.00000000
8 104 high 0.08510638
9 105 none 0.95121951
10 105 high 1.00000000
> ddply(subject.accuracy, .(expected), summarise, mean.acc = mean(acc), se.acc = sd(acc)/sqrt(length(acc)))
expected mean.acc se.acc
1 none 0.9750619 0.00317064
2 high 0.7571259 0.03491149
> wilcox.test(acc ~ expected, subject.accuracy, paired=T)
Wilcoxon signed rank test with continuity correction
data: acc by expected
V = 3125.5, p-value = 0.0003101
alternative hypothesis: true location shift is not equal to 0
> friedman.test(acc ~ expected | subject, subject.accuracy)
Friedman rank sum test
data: acc and expected and subject
Friedman chi-squared = 1.3011, df = 1, p-value = 0.254
wilcox.test
ペアリング変数を知らせないため、2つの条件で精度を比較する署名ランクテストを呼び出すかどうかはわかりません。少なくとも、入力データの行の順序に依存しているため、これはテストを実行する安全な方法ではありません。