プログラミング

【Python】scipyでウィルコクソンの符号付順位和検定を実装する

この記事は約2分で読めます。

 

Pythonでウィルコクソンの符号付順位和検定(Wilcoxon signed-rank test)を実行するには、scipy.statsモジュールのwilcoxon関数を使用します。この検定は、対応のある2つのサンプル群間の差異が偶然によるものかどうかを評価するのに使われます。特に、データが正規分布に従わない場合の非パラメトリックな検定として適用されます。

 

ウィルコクソンの符号付順位和検定の実装

 

まず、必要なライブラリをインストールします(まだインストールしていない場合):

 

$ pip install scipy

 

次に、サンプルデータに対してウィルコクソンの符号付順位和検定を実行する例を示します。

 

import scipy.stats as stats

# サンプルデータ
data1 = [20, 22, 19, 20, 22, 18, 24, 20, 19, 23, 17, 21]
data2 = [22, 24, 18, 21, 24, 16, 26, 22, 20, 25, 19, 23]

# ウィルコクソンの符号付順位和検定を実行
stat, p = stats.wilcoxon(data1, data2)

# 結果を表示
print('統計量:', stat)
print('p値:', p)

 

<実行結果>

統計量: 10.0

p値: 0.02099609375

 

 

結果の解釈

 

統計量(stat): 検定統計量は、順位の差の絶対値の合計です。この値自体は一般的に解釈されることは少ないです。

 

p値(p): p値が統計的有意水準(通常は0.05)以下の場合、2つのサンプル群間に統計的に有意な差異があると解釈されます。つまり、p値が0.05以下であれば、2つのサンプル群間の差異は偶然ではない可能性が高いと考えられます。

 

この検定を使用する際の注意点

ウィルコクソンの符号付順位和検定は、対応のある2つのサンプルに対して使用されます。独立した2つのサンプルにはウィルコクソンの順位和検定(Mann-Whitney U test)を使用する必要があります。データのペア数が少ない場合(通常は30ペア未満)、検定の結果は解釈に注意が必要です。

 

 


プログラミング・スクレイピングツール作成の相談を受け付けています!

クラウドワークス・ココナラ・MENTAなどでPython・SQL・GASなどのプログラミングに関する相談やツール作成などを承っております!

過去の案件事例:

  • Twitter・インスタグラムの自動化ツール作成
  • ウェブサイトのスクレイピングサポート
  • ダッシュボード・サイト作成
  • データエンジニア転職相談

これまでの案件例を見る

キャリア相談もお気軽に!文系学部卒からエンジニア・データサイエンティストへの転職経験をもとに、未経験者がどう進むべきかのアドバイスを提供します。


スポンサーリンク
/* プログラミング速報関連記事一覧表示 */
ミナピピンの研究室

コメント

タイトルとURLをコピーしました