產生排列樣本(permutation sample)
在影片中,你學到排列抽樣是用來模擬「兩個變數具有相同機率分佈」這個虛無假設的好方法。這常是你想檢定的假設。因此在本練習中,你會撰寫一個函式,從兩個資料集產生一組排列樣本。
回顧一下:對於分別含有 n1 與 n2 個元素的兩個陣列,其排列樣本的建構方式為:先將兩個陣列串接在一起,將串接後的內容隨機打散,接著取前 n1 個元素作為第一個陣列的排列樣本,最後 n2 個元素作為第二個陣列的排列樣本。
本練習屬於課程
Statistical Thinking in Python(第 2 部分)
練習說明
- 使用
np.concatenate()將兩個輸入陣列串接為一個陣列。務必將data1與data2以單一引數(data1, data2)傳入。 - 使用
np.random.permutation()隨機打亂串接後的陣列。 - 將
permuted_data的前len(data1)個元素存成perm_sample_1,最後len(data2)個元素存成perm_sample_2。實務上可用切片:len(data1)與len(data1):來擷取permuted_data。 - 回傳
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