Các cỡ mẫu R - power.prop.test, prop.test và không bằng nhau trong các thử nghiệm A / B


8

Nói rằng tôi muốn biết cỡ mẫu tôi cần cho một thử nghiệm mà tôi đang tìm cách xác định xem sự khác biệt về hai tỷ lệ thành công có ý nghĩa thống kê hay không. Đây là quy trình hiện tại của tôi:

  1. Nhìn vào dữ liệu lịch sử để thiết lập dự đoán cơ bản. Nói rằng trong quá khứ, thực hiện một hành động dẫn đến tỷ lệ thành công 10% trong khi không thực hiện một hành động dẫn đến tỷ lệ thành công 9%. Giả sử rằng những kết luận này chưa được xác thực về mặt thống kê nhưng chúng dựa trên lượng dữ liệu tương đối lớn (hơn 10.000 quan sát).
  2. Cắm các giả định này vào power.prop.test để có được những điều sau đây:

     power.prop.test(p1=.1,p2=.11,power=.9)
    
     Two-sample comparison of proportions power calculation 
    
              n = 19746.62
             p1 = 0.1
             p2 = 0.11
      sig.level = 0.05
          power = 0.9
    alternative = two.sided
  3. Vì vậy, điều này cho tôi biết rằng tôi sẽ cần cỡ mẫu ~ 20000 trong mỗi nhóm thử nghiệm A / B để phát hiện sự khác biệt đáng kể giữa các tỷ lệ.

  4. Bước tiếp theo là thực hiện thí nghiệm với 20.000 quan sát trong mỗi nhóm. Nhóm B (không có hành động nào) có 2300 thành công trong số 20.000 quan sát, trong khi nhóm A (thực hiện hành động) có 2200 thành công trong số 20.000 quan sát.

  5. Làm một prop.test

    prop.test(c(2300,2100),c(20000,20000))
    
    2-sample test for equality of proportions with continuity correction
    
    data:  c(2300, 2100) out of c(20000, 20000)
    X-squared = 10.1126, df = 1, p-value = 0.001473
    alternative hypothesis: two.sided
    95 percent confidence interval:
    0.003818257 0.016181743
    sample estimates:
    prop 1 prop 2 
    0.115  0.105
  6. Vì vậy, chúng tôi nói rằng chúng tôi có thể bác bỏ giả thuyết khống rằng tỷ lệ là bằng nhau.

Câu hỏi

  • Là phương pháp này âm thanh hoặc ít nhất là đi đúng hướng?
  • Tôi có thể chỉ định alt="greater"trên prop.test và tin tưởng vào giá trị p mặc dù power.prop.test dành cho thử nghiệm hai mặt không?
  • Nếu giá trị p lớn hơn 0,05 trên prop.test thì sao? Tôi có nên cho rằng tôi có một mẫu có ý nghĩa thống kê nhưng không có sự khác biệt có ý nghĩa thống kê giữa hai tỷ lệ? Hơn nữa, ý nghĩa thống kê vốn có trong giá trị p trong prop.test - tức là power.prop.test có cần thiết không?
  • Điều gì sẽ xảy ra nếu tôi không thể thực hiện phân tách 50/50 và cần thực hiện, phân chia 95/5? Có một phương pháp để tính kích thước mẫu cho trường hợp này?
  • Điều gì sẽ xảy ra nếu tôi không biết dự đoán cơ sở của mình nên theo tỷ lệ nào? Nếu tôi đoán và tỷ lệ thực tế đã tắt, điều đó có làm mất hiệu lực phân tích của tôi không?

Bất kỳ khoảng trống nào khác mà bạn có thể điền vào sẽ được đánh giá cao - lời xin lỗi của tôi về bản chất phức tạp của bài đăng này. Cảm ơn bạn!

Câu trả lời:


3

Là phương pháp này âm thanh hoặc ít nhất là đi đúng hướng?

Vâng, tôi nghĩ rằng đó là một cách tiếp cận khá tốt.

Tôi có thể chỉ định alt = "lớn hơn" trên prop.test và tin tưởng vào giá trị p mặc dù power.prop.test dành cho thử nghiệm hai mặt không?

Tôi không chắc chắn, nhưng tôi nghĩ bạn sẽ cần sử dụng alternative="two.sided"cho prop.test.

Nếu giá trị p lớn hơn 0,05 trên prop.test thì sao? Tôi có nên cho rằng tôi có một mẫu có ý nghĩa thống kê nhưng không có sự khác biệt có ý nghĩa thống kê giữa hai tỷ lệ? Hơn nữa, ý nghĩa thống kê vốn có trong giá trị p trong prop.test - tức là power.prop.test có cần thiết không?

Có, nếu giá trị p lớn hơn 0,05 thì không có gì chắc chắn rằng có sự khác biệt có thể phát hiện được giữa các mẫu. Có, ý nghĩa thống kê vốn có trong giá trị p, nhưng power.prop.test vẫn cần thiết trước khi bạn bắt đầu thử nghiệm để xác định kích thước mẫu của mình. power.prop.testđược sử dụng để thiết lập thử nghiệm của bạn, prop.testđược sử dụng để đánh giá kết quả thử nghiệm của bạn.

BTW - Bạn có thể tính toán khoảng tin cậy cho mỗi nhóm và xem liệu chúng có trùng nhau ở mức độ tin cậy của bạn không. Bạn có thể làm điều đó bằng cách làm theo các bước sau để tính nhiều khoảng tin cậy từ lúc phân phối .

Để hình dung ý tôi muốn nói, hãy nhìn vào máy tính này với dữ liệu ví dụ của bạn được cắm vào: http://www.evanmiller.org/ab-testing/chi-squared.html#!2300/20000;2100/20000@95

Đây là kết quả:

khoảng tin cậy cho mỗi nhóm

Lưu ý đồ họa mà nó cung cấp cho thấy phạm vi của khoảng tin cậy cho mỗi nhóm.

Điều gì sẽ xảy ra nếu tôi không thể thực hiện phân tách 50/50 và cần thực hiện, phân chia 95/5? Có một phương pháp để tính kích thước mẫu cho trường hợp này?

Đây là lý do tại sao bạn cần sử dụng power.prop.testvì sự phân chia không thành vấn đề. Vấn đề là bạn đáp ứng cỡ mẫu tối thiểu cho mỗi nhóm. Nếu bạn thực hiện phân tách 95/5, thì sẽ mất nhiều thời gian hơn để đạt kích thước mẫu tối thiểu cho biến thể nhận được 5%.

Điều gì sẽ xảy ra nếu tôi không biết dự đoán cơ sở của mình nên theo tỷ lệ nào? Nếu tôi đoán và tỷ lệ thực tế đã tắt, điều đó có làm mất hiệu lực phân tích của tôi không?

Bạn sẽ cần vẽ một đường thẳng trên cát, đoán hiệu ứng có thể phát hiện hợp lý và tính toán kích thước mẫu cần thiết. Nếu bạn không có đủ thời gian, tài nguyên, v.v. để đáp ứng cỡ mẫu được tính toán power.prop.test, thì bạn sẽ phải giảm hiệu ứng có thể phát hiện được. Tôi thường thiết lập nó như thế này và chạy qua các deltagiá trị khác nhau để xem kích thước mẫu sẽ cần cho hiệu ứng đó.

#Significance Level (alpha)
alpha <- .05

# Statistical Power (1-Beta)
beta <- 0.8

# Baseline conversion rate
p <- 0.2   

# Minimum Detectable Effect
delta <- .05

power.prop.test(p1=p, p2=p+delta, sig.level=alpha, power=beta, alternative="two.sided")

1
Javid, khi bạn trích dẫn một phần câu hỏi trong câu trả lời của mình, bạn có thể cân nhắc sử dụng đánh dấu nhằm chỉ ra một trích dẫn khối ( > ở đầu khối trích dẫn) thay vì chỉ tô đậm.
Glen_b -Reinstate Monica

2
"Nếu bạn thực hiện phân tách 95/5, thì sẽ mất nhiều thời gian hơn để đạt kích thước mẫu tối thiểu cho biến thể nhận được 5%." - mặc dù đây là một cách tiếp cận thận trọng để ít nhất thỏa mãn sức mạnh được chỉ định của thử nghiệm, nhưng thực tế bạn sẽ vượt quá công suất được chỉ định trong power.prop.test nếu bạn có một nhóm "nhỏ" và trên "lớn" (ví dụ n1 = 19746, n2 = 375174). Một phương pháp chính xác hơn để đáp ứng các yêu cầu năng lượng cho các cỡ mẫu không bằng nhau có thể sẽ được mong muốn.
Underminer
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.