Pythonの検定(Test of Tukey, Wilcoxon, Dunn, Dwass and so on)用パッケージ

検定が必要になったので調べた備忘録。
R言語使えれば選択肢は多いようですが、使い慣れたPythonでの検定の実現可否を調査した結果です。


検定用methodを持つパッケージ

  1. statsmodels
  2. scikit-posthocs
    • Scipy, statsmodelsのWrapper+α?
  3. Scipy

[途中]検定手法別module対応表

  • 作成中 (=誤りがある可能性があります)
NAME Scipy statsmodels scikit-posthocs
T検定[^2]
_対応有り .ttest_relメソッド Y
_対応無し[^3] .ttest_ind (等分散か否かはOpt(equal_var)で指定) .ttest_ind(Scipyの該当method呼び出し?
Welch(=非等分散への) T test 〃↑ 〃↑
Tukey[^1] pairwise_tukeyhsd posthoc_tukey?

注記

  1. [^1]TukeyとTukeyの関係を未調査なためその使い分けはご注意下さい
  2. [^2]T検定の対応有無
    • scipy.ttest_indはscipyの説明を読むと2 independent samplesとあり、independent=>独立なのでun-pair(対応無し)かと思うのですが、別サイトでは対応ありのデータ群にこれを適用しているものもあり、対応できるものと考えても良さそうですがどうなのでしょう。
    • parameterのequal_varFalseにすれば同一という述べられているサイトもありましたが、私の手元で計算したら、同じT,P値にならないような...(間違いの可能性あり)
  3. [^3] 対応無しT検定
    • 非等分散: Student T-test
    • 等分散: Welchi T-test

scikit-posthocs

多数のパッケージ対応。上記URLより引用。

scikit-posthocsFeatures
Parametric pairwise multiple comparisons tests:
Scheffe test.
Student T test.
Tamhane T2 test.
TukeyHSD test.
Non-parametric tests for factorial design:
Conover test.
Dunn test.
Dwass, Steel, Critchlow, and Fligner test.
Mann-Whitney test.
Nashimoto and Wright (NPM) test.
Nemenyi test.
van Waerden test.
Wilcoxon test.
Non-parametric tests for block design:
Conover test.
Durbin and Conover test.
Miller test.
Nemenyi test.
Quade test.
Siegel test.
Other tests:
Anderson-Darling test.
Mack-Wolfe test.
Hayter (OSRT) test.
Outliers detection tests:
Simple test based on interquartile range (IQR).
Grubbs test.
Tietjen-Moore test.
Generalized Extreme Studentized Deviate test (ESD test).
Plotting functionality (e.g. significance plots).