G. scandens でくちばしの深さはそもそも遺伝しますか?
G. scandens におけるくちばしの深さの遺伝率は低そうに見えます。観測された遺伝率は偶然の産物であり、この種では実はあまり遺伝しない可能性もあります。ここではその仮説を検定します。そのために、ペアのパーミュテーション検定を行います。
この演習はコースの一部です
Pythonで学ぶ統計思考(パート2)
演習の手順
- 遺伝率のレプリケート用配列を初期化します。ここでは 10,000 個のペアによるパーミュテーションレプリケートを作成します。
- レプリケートを生成する
forループを書きます。np.random.permutation()を使ってbd_parent_scandens配列を並べ替えます。- その並べ替えた配列と
bd_offspring_scandens配列の間の遺伝率を、前の演習で作成したheritability()関数で計算し、結果をレプリケート配列に保存します。
- p 値は、前の演習で計算した観測値
heritability_scandensより大きいレプリケートの個数を数えて求めます。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Initialize array of replicates: perm_replicates
perm_replicates = ____
# Draw replicates
for i in range(10000):
# Permute parent beak depths
bd_parent_permuted = ____
perm_replicates[i] = ____
# Compute p-value: p
p = np.sum(____ >= ____) / len(____)
# Print the p-value
print('p-val =', p)