Pythonのフリードマンテストと事後テスト


9

私のデータセットには、x量の測定値を持つ5つの(通常の)グループがあります。等分散性に違反しているため、グループ間に統計的差異があるかどうかを確認するためにフリードマンカイ2乗検定を実行しました。

fried = stats.friedmanchisquare(*[grp for idx, grp in df.iteritems()]))

これは統計的な差を返しましたが、次に、どのグループ間に差が存在するのかを調べたいと思います。これRには素晴らしい解決策があります(フリードマンのテストと事後分析https://www.r-statistics.com/2010/02/post-hoc-analysis-for-friedmans-test-r-code/) 、Wilcoxon-Nemenyi-McDonald-Thompsonテストを使用していますが、Python用のテストを見つけることができません。

フリードマン検定の事後分析を行う可能性はありますか?別の方法として、グループ間の比較を可能にするフリードマン検定(たとえば、一般化された推定方程式)の良い代替手段は何でしょうか。

回答:


6

私は現在この問題を自分で調べています。このペーパーによると、ポストホックテストを実行するための多くの可能性があります(更新:ノンパラメトリックテストの使用に関する拡張機能はここにあります):

  • すべてのペアワイズの組み合わせについてネメニー検定を実行します。これは、ANOVA のTukey -testに似ています。
  • 実行ボンフェローニ-ダン -testを。この設定では、すべての値を制御値のリストと比較します。
  • あるいは、ステップアップおよびステップダウン手順を実行して、重要度順に並べられた仮説を順次テストすることもできます。一つは使用することができますホルムのステップダウンの手順、Hochbergののステップアップの手順やホンメルの手順を。

STAC Pythonライブラリは、ホンメルの手順を除くすべてのこれらのテストが含まれているようです。


3

Pythonでの事後テストの実装について質問したので、他の回答を補完します。オレンジライブラリは、クリティカル差分ダイアグラムを描画する関数を含む事後テスト(NemenyiとBonferroni-Dunn)を実装します[1]

http://docs.orange.biolab.si/3/data-mining-library/reference/evaluation.cd.html(「CD図」のセクションを参照)

[1] Janez Demsar、複数のデータセットに対する分類子の統計的比較、7(1月):1–30、2006。


2

あなたが次のテストのいずれかを実行することができますscikit-posthocsのパッケージ:コノバー、Nemenyi、シーゲルを、そしてミラー事後テストします。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.