始める無料で始める

1標本ブートストラップによる仮説検定

別の若いカエル、カエルCも調査され、カエルBとカエルCの衝撃力が似ているか確かめたいとします。残念ながら、カエルCの個々の衝撃力データは手元にありませんが、その平均が 0.55 N であることは分かっています。元データがないため、置換検定はできず、「カエルBとカエルCの衝撃力は同じ分布から来ている」という仮説は評価できません。そこで、より制約の少ない仮説、すなわち「カエルBの打撃力の平均はカエルCの平均に等しい」を検定します。

ブートストラップ仮説検定を設定するにあたり、検定統計量として平均を用います。目標は、「もし『カエルBの真の平均衝撃力がカエルCの平均に等しい』という仮説が正しいなら、観測されたカエルBの平均衝撃力以下の値が得られる確率」を求めることです。まず、カエルBの全データを、平均が 0.55 N になるように平行移動します。これは、カエルBの各測定値に対し、カエルCの平均を足し、カエルBの平均を引く操作に相当します。これにより、分散などカエルBの分布の他の特性は変わりません。

この演習はコースの一部です

Pythonで学ぶ統計思考(パート2)

コースを見る

演習の手順

  • カエルBの衝撃力を、平均が 0.55 N になるように平行移動してください。
  • 作成済みの draw_bs_reps() 関数を使い、平行移動後のデータの平均について 10,000 回のブートストラップ複製を生成してください。
  • 観測されたカエルBの平均衝撃力より小さいブートストラップ複製の割合から p 値を計算してください。関心のある変数は force_b です。
  • p 値を出力してください。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Make an array of translated impact forces: translated_force_b
translated_force_b = ____

# Take bootstrap replicates of Frog B's translated impact forces: bs_replicates
bs_replicates = draw_bs_reps(____, ____, 10000)

# Compute fraction of replicates that are less than the observed Frog B force: p
p = np.sum(____ <= np.mean(____)) / 10000

# Print the p-value
print('p = ', ____)
コードを編集して実行