開始使用免費開始

產生一次排列

在接下來的幾個練習中,我們要使用排列檢定來做顯著性檢定。就像影片所說的,我們想檢查兩種設計 A 與 B 所帶來的捐款是否有差異。假設你已經同時執行兩個版本數天,並在 A 取得 500 筆捐款、在 B 取得 700 筆捐款,分別存放在變數 donations_Adonations_B 中。

我們首先需要為「平均數差」建立虛無分佈。做法是對資料集產生多次排列,並在每次情況下計算平均數的差。

先從產生一次排列開始,並計算此排列後資料集的平均數差。

本練習屬於課程

Python 的統計模擬

檢視課程

練習說明

  • 使用 np.concatenate() 串接陣列 donations_Adonations_B,指定給 data
  • 使用 np.random.permutation() 取得一次排列,指定給 perm
  • 計算 permuted_Apermuted_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))
編輯並執行程式碼