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

Phân tích lực kiểm định - Phần I

Giờ chúng ta chuyển sang phân tích lực kiểm định (power analysis). Thông thường, bạn muốn đảm bảo bất kỳ thí nghiệm hay A/B test nào bạn chạy đều có ít nhất 80% power. Một cách để đảm bảo điều này là tính kích thước mẫu cần thiết để đạt 80% power.

Giả sử bạn phụ trách một trang tin và muốn tăng thời gian người dùng ở lại trên website. Hiện tại, thời gian người dùng ở lại được phân phối chuẩn với trung bình 1 phút và độ lệch chuẩn 0.5 phút. Giả sử bạn sắp ra mắt một tính năng giúp tải trang nhanh hơn và muốn biết kích thước mẫu cần có để đo được mức tăng 5% về thời gian ở lại trên website.

Trong bài tập này, chúng ta sẽ thiết lập khung để chạy một mô phỏng, chạy t-test, và tính p-value.

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

  • Khởi tạo effect_size là 5%, control_mean là 1 và control_sd là 0.5.
  • Dùng np.random.normal() để mô phỏng một lần rút mẫu cho control_time_spenttreatment_time_spent với các giá trị bạn vừa khởi tạo.
  • Chạy t-test trên treatment_time_spentcontrol_time_spent bằng st.ttest_ind() với stscipy.stats (đã được import sẵn).
  • Mức ý nghĩa thống kê stat_sig nên là True nếu p_value nhỏ hơn 0.05, ngược lại là False.

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.

# 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))
Chỉnh sửa và Chạy Mã