カエルのデータに対する置換検定
カエルAの平均打撃力は 0.71 ニュートン(N)、カエルBは 0.42 N で、その差は 0.29 N でした。両者が同じ力で打撃しており、この観測された差が偶然生じた可能性もあります。2匹のカエルの打撃力分布が同一であるという仮説の下で、平均打撃力の差が少なくとも 0.29 N となる確率を計算します。検定統計量として平均の差を用いる置換検定でこの仮説を検証します。
データは配列 force_a と force_b に保存されています。
この演習はコースの一部です
Pythonで学ぶ統計思考(パート2)
演習の手順
- 呼び出しシグネチャが
diff_of_means(data_1, data_2)の関数を定義し、2つのデータセットの平均の差(data_1の平均 −data_2の平均)を返すようにします。 - この関数を使って、カエルのデータで観測された実測の平均差を計算します。
- 平均の差の置換リプリケートを 10,000 回作成します。
- p値を計算します。
- p値を出力します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
def diff_of_means(data_1, data_2):
"""Difference in means of two arrays."""
# The difference of means of data_1, data_2: diff
diff = ____
return diff
# Compute difference of mean impact force from experiment: empirical_diff_means
empirical_diff_means = ____
# Draw 10,000 permutation replicates: perm_replicates
perm_replicates = draw_perm_reps(____, ____,
____, size=10000)
# Compute p-value: p
p = np.sum(____ >= ____) / len(____)
# Print the result
print('p-value =', p)