ブートストラップ仮説検定
順列検定は、ヘテロ接合体と野生型のブート長が同一の分布に従うという、かなり制約の強い仮説に基づいています。次に、ブートストラップ仮説検定を使って、分布に関する仮定を設けずに「平均値が等しい」という仮説を検証してみましょう。
この演習はコースの一部です
統計的思考 ケーススタディ
演習の手順
np.concatenate()を使い、野生型(bout_lengths_wt)とヘテロ接合体(bout_lengths_het)のブート長をすべて結合した配列bout_lengths_concatを作成します。- 結合後の配列(
bout_lengths_concat)から全ブート長の平均を計算し、結果を変数mean_bout_lengthに格納します。 - 両データセットの平均がいずれも
mean_bout_lengthになるよう、それぞれをシフトします。シフト後の配列をそれぞれwt_shiftedとhet_shiftedに格納します。 dcst.draw_bs_reps()を使い、シフト後の各データセットの平均についてブートストラップ複製を10,000個生成します。それぞれの複製をbs_reps_wtとbs_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)