始める無料で始める

ブートストラップ仮説検定

順列検定は、ヘテロ接合体と野生型のブート長が同一の分布に従うという、かなり制約の強い仮説に基づいています。次に、ブートストラップ仮説検定を使って、分布に関する仮定を設けずに「平均値が等しい」という仮説を検証してみましょう。

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

統計的思考 ケーススタディ

コースを見る

演習の手順

  • np.concatenate() を使い、野生型(bout_lengths_wt)とヘテロ接合体(bout_lengths_het)のブート長をすべて結合した配列 bout_lengths_concat を作成します。
  • 結合後の配列(bout_lengths_concat)から全ブート長の平均を計算し、結果を変数 mean_bout_length に格納します。
  • 両データセットの平均がいずれも mean_bout_length になるよう、それぞれをシフトします。シフト後の配列をそれぞれ wt_shiftedhet_shifted に格納します。
  • dcst.draw_bs_reps() を使い、シフト後の各データセットの平均についてブートストラップ複製を10,000個生成します。それぞれの複製を bs_reps_wtbs_reps_het に格納します。
  • bs_reps_het から bs_reps_wt を引いて平均値の差のブートストラップ複製を求め、結果を変数 bs_reps に格納します。
  • p値を計算します。「少なくとも同程度に極端」の定義は、帰無仮説のもとでの平均値の差が実験で観測された値以上であることとします。前の演習の変数 diff_means_exp はすでに名前空間に存在しています。

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

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

# Concatenate arrays: bout_lengths_concat
bout_lengths_concat = ____((____, ____))

# Compute mean of all bout_lengths: mean_bout_length
mean_bout_length = ____

# Generate shifted arrays
wt_shifted = ____ - np.mean(____) + ____
het_shifted = ____ - ____ + ____

# Compute 10,000 bootstrap replicates from shifted arrays
bs_reps_wt = ____
bs_reps_het = ____

# Get replicates of difference of means: bs_replicates
bs_reps = ____ - ____

# Compute and print p-value: p
p = ____(____ >= ____) / len(____)
print('p-value =', p)
コードを編集して実行