仮説検定
scipy.stats を使って、帰無仮説、p 値、t 検定、カイ二乗検定を扱います。
「仮説検定」はCoddyKit上の無料Learn AI with Pythonレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはLearn AI with Python学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Learn AI with Pythonコースには全4レッスンが含まれています。
仮説検定とは
仮説検定は、観測された効果が本物なのか、単なる偶然なのかをデータで判断する方法です。「新しいデザインによってクリック数が増えた」といった主張をデータサイエンティストが裏付けるために使います。
帰無仮説と対立仮説
帰無仮説H0は、効果がないとする仮説です(初期設定となる慎重な立場)。対立仮説H1は、効果があるとする仮説です。H0に反する証拠を集めようとします。
p値
p値は、H0が真だと仮定した場合に、これほど極端なデータが得られる確率です。p値が小さいほど、H0のもとではデータが予想外であることを意味するため、H0を疑います。
有意水準
p値をしきい値alpha(通常は0.05)と比較します。p < alphaならH0を棄却し、それ以外の場合は棄却できないと判断します。alphaは許容する偽陽性率です。
p値が意味しないこと
p値は、H0が真である確率ではありません。また、効果の大きさでもありません
1標本t検定
ttest_1sampは、標本平均が既知の値と異なるかを検定します。たとえば、平均応答時間が目標値200 msと異なるかを調べられます。
from scipy import stats
import numpy as np
times = np.array([198, 205, 210, 195, 220, 208])
t, p = stats.ttest_1samp(times, popmean=200)
print(t, p)2標本t検定
ttest_indは、独立した2つのグループの平均を比較します。標準的なA/Bテストの分析に使われます。
control = np.array([20, 22, 19, 24, 21])
treat = np.array([25, 27, 24, 29, 26])
t, p = stats.ttest_ind(control, treat)
print(t, p) # small p -> groups differ結果の解釈
p値をalphaと比較し、結論を平易な言葉で述べます。有意であることは判断であって、確実性の証明ではありません。
alpha = 0.05
if p < alpha:
print("Reject H0: the groups differ significantly")
else:
print("Fail to reject H0: no significant difference")カイ二乗独立性検定
chi2_contingencyは、度数をまとめた分割表を使って、2つのカテゴリ変数に関連があるかを検定します。
table = np.array([[30, 10], [20, 40]]) # rows: group, cols: outcome
chi2, p, dof, expected = stats.chi2_contingency(table)
print(chi2, p)第1種過誤と第2種過誤
第1種過誤(偽陽性)は、真であるH0を棄却する誤りで、その発生率はalphaです。第2種過誤(偽陰性)は、偽であるH0を棄却できない誤りで、その発生率はbetaです。検出力 = 1 - betaは、本当の効果を検出できる確率です。
トレードオフ
alphaを下げると偽陽性は減りますが、偽陰性率が上がり、検出力が下がります。標本数を増やすと両方の過誤が減るため、実験の前に標本数を計画することが重要です。
理解度チェック
仮説検定に関する知識を確認しましょう。
まとめ
仮説検定の要点:
- H0(効果なし)とH1(効果あり)を比較し、H0に反する証拠を集めます
- p値 = P(H0のもとでこれほど極端なデータ);p < alphaなら棄却します
- pはP(H0が真)ではなく、効果量でもありません
ttest_1samp、ttest_ind、chi2_contingency- 第1種過誤(偽陽性、発生率alpha)と第2種過誤(偽陰性、発生率beta);検出力 = 1-beta
よくある質問
「仮説検定」レッスンは無料ですか?
はい。「仮説検定」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Learn AI with Pythonコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Learn AI with Pythonコースには全4レッスンが含まれています。
「仮説検定」で何を学びますか?
scipy.stats を使って、帰無仮説、p 値、t 検定、カイ二乗検定を扱います。 ブラウザで直接実行するハンズオンコードでLearn AI with Pythonを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Learn AI with Pythonを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのLearn AI with Pythonは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。
「仮説検定」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このLearn AI with Pythonレッスンでコードを書いて実行できますか?
はい。すべてのLearn AI with Pythonレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。