はじめに
統計検定をエクセルに頼っている若手学生 (特に学部生) は少なくないのではないだろうか。
確かにエクセルは、
- 容易にソフトを入手できる(大学で配布される)
- データをエクセルにまとめているので、すぐに統計検定を実施できる
- データの可読性に優れる(色付け等が可能)
…等のメリットを有する非常に有用なツールであり、筆者も使用しない日は無いと言っていい。しかしながら一部の統計検定についてはエクセルでは実施不可能、また実施が困難な場合がある。
本稿では、2群間の平均値の比較を中心に、Pythonを用いて統計検定を実施する方法をまとめる。
Pythonも無料(かつ容易?)に入手できるソフトウェアであり、少し発展的な統計検定に手を出そうとしている若手学生の助けになればと思う。
(Pythonの導入については筆者の過去記事を参考にすること https://qiita.com/shyu_manabe/items/682e6c73b368b0fe02ba )
正規性、等分散性の検定
(後ほど更新予定)
2群間の平均値の比較
Student's t-test
- 2群間の平均値を比較
- データ間に対応がない
- 2群とも正規分布に従う(パラメトリック)
- 2群の分散に差がない(等分散性)
Studentst.py
# 必要なモジュールをインポート
import numpy as np
from scipy import stats
# 使用するデータを定義
A = np.array([5.3, 4.1, 1.4, 9.4, 9.6, 11.5, 11.2, 12.5, 9.0, 6.8])
B = np.array([3.8, 1.1, 4.1, 3.0, 2.0, 2.0, 2.4, 1.7, 5.1, 0.4, 0.6])
# Student's t-testの実施
stats.ttest_ind(A, B)
↓結果
Result.sh
Ttest_indResult(statistic=4.8402379129604505, pvalue=0.00011370228234146141)
結果、P<0.05なので(有意水準は各自の設定に依る)、「2群間の平均値に差がない」という帰無仮説が棄却され、対立仮説である「2群間の平均値に差がある」を採択する。