置換サンプルを生成する
動画では、置換サンプリングが「2つの変数が同一の確率分布に従う」という仮説をシミュレーションする優れた方法であることを学びました。これはしばしば検定したい仮説です。そこでこの演習では、2つのデータセットから置換サンプルを生成する関数を作成します。
思い出してください。要素数がそれぞれ n1 と n2 の2つの配列の置換サンプルは、まず配列を連結し、連結した配列の中身をシャッフルし、その後、先頭の n1 個を1つ目の配列の置換サンプルとして、末尾の n2 個を2つ目の配列の置換サンプルとして取り出すことで作ります。
この演習はコースの一部です
Pythonで学ぶ統計思考(パート2)
演習の手順
np.concatenate()を使って2つの入力配列を1つに連結します。必ずdata1とdata2を1つの引数(data1, data2)として渡してください。np.random.permutation()を使って、連結した配列を並べ替えます。permuted_dataの先頭len(data1)個をperm_sample_1、末尾のlen(data2)個をperm_sample_2にそれぞれ格納します。実際には、permuted_dataを:len(data1)とlen(data1):でスライスすれば達成できます。perm_sample_1とperm_sample_2を返します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
def permutation_sample(data1, data2):
"""Generate a permutation sample from two data sets."""
# Concatenate the data sets: data
data = ____
# Permute the concatenated array: permuted_data
permuted_data = ____
# Split the permuted array into two: perm_sample_1, perm_sample_2
perm_sample_1 = permuted_data[____]
perm_sample_2 = permuted_data[____]
return perm_sample_1, perm_sample_2