產生一次排列
在接下來的幾個練習中,我們要使用排列檢定來做顯著性檢定。就像影片所說的,我們想檢查兩種設計 A 與 B 所帶來的捐款是否有差異。假設你已經同時執行兩個版本數天,並在 A 取得 500 筆捐款、在 B 取得 700 筆捐款,分別存放在變數 donations_A 與 donations_B 中。
我們首先需要為「平均數差」建立虛無分佈。做法是對資料集產生多次排列,並在每次情況下計算平均數的差。
先從產生一次排列開始,並計算此排列後資料集的平均數差。
本練習屬於課程
Python 的統計模擬
練習說明
- 使用
np.concatenate()串接陣列donations_A與donations_B,指定給data。 - 使用
np.random.permutation()取得一次排列,指定給perm。 - 計算
permuted_A與permuted_B的平均數差,指定為diff_in_means。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Concatenate the two arrays donations_A and donations_B into data
len_A, len_B = len(donations_A), len(donations_B)
data = ____([donations_A, donations_B])
# Get a single permutation of the concatenated length
perm = ____(len(donations_A) + len(donations_B))
# Calculate the permutated datasets and difference in means
permuted_A = data[perm[:len(donations_A)]]
permuted_B = data[perm[len(donations_A):]]
diff_in_means = ____
print("Difference in the permuted mean values = {}.".format(diff_in_means))