Bắt đầu ngayBắt đầu miễn phí

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

Xem khóa học

Hướng dẫn bài tập

  • Với các biến ngẫu nhiên time_spent, đặt size là các tuple sao cho shape là sample_size \(\times\) sims.
  • Tính power như tỷ lệ p-value nhỏ hơn 0.05 (có ý nghĩa thống kê).
  • Nếu power lớn hơn hoặc bằng 80%, break khỏi vòng lặp while. Nếu không, tiếp tục tăng sample_size thê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))
Chỉnh sửa và Chạy Mã