始める無料で始める

置換サンプルを生成する

動画では、置換サンプリングが「2つの変数が同一の確率分布に従う」という仮説をシミュレーションする優れた方法であることを学びました。これはしばしば検定したい仮説です。そこでこの演習では、2つのデータセットから置換サンプルを生成する関数を作成します。

思い出してください。要素数がそれぞれ n1n2 の2つの配列の置換サンプルは、まず配列を連結し、連結した配列の中身をシャッフルし、その後、先頭の n1 個を1つ目の配列の置換サンプルとして、末尾の n2 個を2つ目の配列の置換サンプルとして取り出すことで作ります。

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

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

コースを見る

演習の手順

  • np.concatenate() を使って2つの入力配列を1つに連結します。必ず data1data2 を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_1perm_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
コードを編集して実行