Phân tích lực kiểm định - Phần II
Trước đó, chúng ta đã mô phỏng một lần thí nghiệm và tạo ra một p-value. Giờ bạn sẽ dùng khung này để tính lực kiểm định (statistical power). Lực kiểm định của một thí nghiệm là khả năng của nó trong việc phát hiện sự khác biệt giữa nhóm xử lý và đối chứng nếu sự khác biệt thực sự tồn tại. Về mặt thực hành thống kê tốt, nên hướng tới mức power 80%.
Với trang web của chúng ta, giả sử bạn muốn biết cần bao nhiêu người truy cập mỗi phiên bản để có thể phát hiện mức tăng 10% về thời gian sử dụng với power 80%. Để làm điều này, bắt đầu với cỡ mẫu nhỏ (50), mô phỏng nhiều lần thí nghiệm và kiểm tra power. Nếu đạt 80% power, dừng lại. Nếu chưa, tăng cỡ mẫu và thử lại.
Bài tập này là một phần của khóa học
Mô phỏng Thống kê bằng Python
Hướng dẫn bài tập
- Với các biến ngẫu nhiên
time_spent, đặtsizelà các tuple sao cho shape làsample_size\(\times\)sims. - Tính
powernhư tỷ lệ p-value nhỏ hơn 0.05 (có ý nghĩa thống kê). - Nếu
powerlớn hơn hoặc bằng 80%,breakkhỏi vòng lặp while. Nếu không, tiếp tục tăngsample_sizethêm 10.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
sample_size = 50
# Keep incrementing sample size by 10 till we reach required power
while 1:
control_time_spent = np.random.normal(loc=control_mean, scale=control_sd, size=(____,____)))
treatment_time_spent = np.random.normal(loc=control_mean*(1+effect_size), scale=control_sd, size=(____,____))
t, p = st.ttest_ind(treatment_time_spent, control_time_spent)
# Power is the fraction of times in the simulation when the p-value was less than 0.05
power = (p < 0.05).sum()/____
if ____:
____
else:
____ += ____
print("For 80% power, sample size required = {}".format(sample_size))