開始使用免費開始

檢定力分析 - 第一部分

接下來我們進入檢定力分析。通常你會希望任何實驗或 A/B 測試至少有 80% 的檢定力。要達成這點,其中一個方法是計算達到 80% 檢定力所需的樣本數。

假設你負責一個新聞媒體網站,目標是提升使用者在網站上停留的時間。現在使用者停留時間服從常態分配,平均為 1 分鐘、標準差為 0.5 分鐘。你打算推出一個能更快載入頁面的功能,並想知道要測得網站停留時間提升 5% 所需的樣本數。

在這個練習中,我們會先建立執行單次模擬的架構,進行一次 t 檢定,並計算 p 值。

本練習屬於課程

Python 的統計模擬

檢視課程

練習說明

  • effect_size 初始化為 5%,control_mean 為 1,control_sd 為 0.5。
  • 使用 np.random.normal(),依你初始化的數值各模擬一次 control_time_spenttreatment_time_spent
  • 使用 st.ttest_ind()(其中 st 是已匯入的 scipy.stats)對 treatment_time_spentcontrol_time_spent 執行 t 檢定。
  • p_value 小於 0.05 時,統計顯著 stat_sig 應為 True,否則為 False

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

# Initialize effect_size, control_mean, control_sd
effect_size, sample_size, control_mean, control_sd = ____, 50, ____, ____

# Simulate control_time_spent and treatment_time_spent, assuming equal variance
control_time_spent = np.random.normal(loc=control_mean, scale=____, size=sample_size)
treatment_time_spent = np.random.normal(loc=____*(1+effect_size), scale=control_sd, size=____)

# Run the t-test and get the p_value
t_stat, p_value = st.ttest_ind(____, ____)
stat_sig = p_value < ____
print("P-value: {}, Statistically Significant? {}".format(p_value, stat_sig))
編輯並執行程式碼