Đánh giá sức mạnh của một bài kiểm tra tính quy phạm (tính bằng R)


9

Tôi muốn đánh giá độ chính xác của các phép thử quy phạm đối với các cỡ mẫu khác nhau trong R (Tôi nhận ra rằng các phép thử quy tắc có thể gây hiểu nhầm ). Ví dụ, để xem xét nghiệm Shapiro-Wilk, tôi đang tiến hành mô phỏng sau (cũng như vẽ kết quả) và hy vọng rằng khi kích thước mẫu tăng xác suất từ ​​chối null sẽ giảm:

n <- 1000
pvalue_mat <- matrix(NA, ncol = 1, nrow = n)

for(i in 10:n){
    x1 <- rnorm(i, mean = 0, sd = 1)
    pvalue_mat[i,] <- shapiro.test(x1)$p.value
}   

plot(pvalue_mat)

Tôi nghĩ rằng khi kích thước mẫu tăng lên sẽ có tỷ lệ loại bỏ thấp hơn, tuy nhiên nó có vẻ khá đồng đều. Tôi nghĩ rằng tôi đang hiểu nhầm điều này - bất kỳ và tất cả các suy nghĩ đều được chào đón.


2
Bạn có thể muốn xem qua: stats.stackexchange.com/questions/2492/ Cách
nico

Câu trả lời:


7

Bạn đang mô phỏng theo giả thuyết null (phân phối bình thường), do đó tỷ lệ loại bỏ sẽ có xu hướng ở mức ý nghĩa như mong đợi. Để đánh giá sức mạnh, bạn cần mô phỏng theo bất kỳ phân phối không bình thường nào. Có các khả năng / kịch bản vô hạn (ví dụ: phân phối gamma với độ lệch tăng dần, phân phối t với giảm df, v.v.) để lựa chọn, tùy thuộc vào phạm vi nghiên cứu của bạn.


Cảm ơn vì sự trả lời. Khi tôi mô phỏng các phân phối không bình thường, tôi quan sát một mẫu lồi liên quan đến nguồn gốc - tức là khi kích thước mẫu trở nên lớn hơn đối với bất kỳ phân phối không bình thường nào, xác suất từ ​​chối null của quy tắc tăng. Tuy nhiên, tôi không hiểu tại sao nó không nghịch đảo khi vẽ từ phân phối bình thường: tại sao xác suất từ ​​chối giảm null khi kích thước mẫu lớn hơn? Cảm ơn
user94759

3
Bởi vì xác suất phạm lỗi loại 1 như vậy là theo định nghĩa bằng với mức ý nghĩa, không đổi. Hoặc đặt khác nhau, giá trị p được phân phối đồng đều dưới giá trị null. Btw, nên thực hiện nhiều mô phỏng cho mỗi cài đặt, bao gồm cả lựa chọn n, không chỉ một như trong mã của bạn.
Michael M

7

Hiểu phân tích sức mạnh của các bài kiểm tra giả thuyết thống kê có thể được tăng cường bằng cách thực hiện một số và xem xét kỹ các kết quả.


Theo thiết kế, một thử nghiệm về kích thước được dự định để từ chối giả thuyết null với cơ hội ít nhất là khi null là đúng ( tỷ lệ dương tính giả dự kiến ​​của nó ). αalphaα Khi chúng tôi có khả năng (hoặc sang trọng) trong việc lựa chọn trong số các thủ tục thay thế với tài sản này, chúng tôi sẽ thích những phương pháp (a) thực sự gần với tỷ lệ dương tính giả danh nghĩa và (b) có cơ hội từ chối giả thuyết khống tương đối cao hơn khi nó không đúng.

Tiêu chí thứ hai yêu cầu chúng tôi quy định theo cách nàobao nhiêu null không thành sự thật. Trong trường hợp sách giáo khoa, điều này là dễ dàng, bởi vì các lựa chọn thay thế bị giới hạn về phạm vi và được chỉ định rõ ràng. Với các thử nghiệm phân phối như Shapiro-Wilk, sự thay thế còn mơ hồ hơn nhiều: chúng "không bình thường". Sau đó, khi lựa chọn trong số các thử nghiệm phân phối, nhà phân tích có thể phải tiến hành nghiên cứu sức mạnh một lần của riêng họ để đánh giá các thử nghiệm hoạt động tốt như thế nào trước các giả thuyết thay thế cụ thể hơn đang được quan tâm trong vấn đề.

Một ví dụ được thúc đẩy bởi câu trả lời của Michael Mayer cho rằng phân phối thay thế có thể có những phẩm chất tương tự như các phân phối của gia đình Sinh viên t. Họ này, được tham số hóa bởi một số (cũng như theo vị trí và tỷ lệ) bao gồm trong giới hạn lớn các phân phối Bình thường.ν1ν

Trong cả hai trường hợp - dù đánh giá kích thước thử nghiệm thực tế hay sức mạnh của nó-- chúng ta phải tạo các mẫu độc lập từ một phân phối xác định, chạy thử nghiệm trên từng mẫu và tìm tốc độ từ chối giả thuyết khống. Tuy nhiên, có nhiều thông tin có sẵn trong bất kỳ kết quả thử nghiệm nào: giá trị P của nó. Bằng cách giữ lại tập hợp các giá trị P được tạo trong quá trình mô phỏng như vậy, sau đó chúng ta có thể đánh giá tốc độ thử nghiệm sẽ từ chối null cho bất kỳ giá trị nào của mà chúng ta có thể quan tâm. Trung tâm của phân tích công suất, sau đó, là một chương trình con tạo ra phân phối giá trị P này (bằng cách mô phỏng, như vừa mô tả, hoặc - đôi khi - với một công thức lý thuyết). Đây là một ví dụ được mã hóa trong . Đối số của nó bao gồmαR

  • rdist, tên của hàm để tạo mẫu ngẫu nhiên từ một số phân phối

  • n, kích thước của mẫu để yêu cầu rdist

  • n.iter, số lượng mẫu như vậy để có được

  • ...rdistν

Các thông số còn lại kiểm soát việc hiển thị kết quả; chúng được bao gồm chủ yếu như một sự thuận tiện để tạo ra các số liệu trong câu trả lời này.

sim <- function(rdist, n, n.iter, prefix="",
                breaks=seq(0, 1, length.out=20), alpha=0.05,
                plot=TRUE, ...) {

  # The simulated P-values.
  # NB: The optional arguments "..." are passed to `rdist` to specify
  #     its parameters (if any).
  x <- apply(matrix(rdist(n*n.iter, ...), ncol=n.iter), 2, 
             function(y) shapiro.test(y)$p.value)

  # The histogram of P-values, if requested.
  if (plot) {
    power <- mean(x <= alpha)
    round.n <- 1+ceiling(log(1 + n.iter * power * (1-power), base=10) / 2)
    hist(x[x <= max(breaks)], xlab=paste("P value (n=", n, ")", sep=""), 
         breaks=breaks, 
         main=paste(prefix, "(power=", format(power, digits=round.n), ")", sep=""))
    # Specially color the "significant" part of the histogram
    hist(x[x <= alpha], breaks=breaks, col="#e0404080", add=TRUE)
  }

  # Return the array of P-values for any further processing.
  return(x)
}

5100.n520.

n.iter <- 10^5                 # Number of samples to generate
n.spec <- c(5, 10, 20)         # Sample sizes to study
par(mfrow=c(1,length(n.spec))) # Organize subsequent plots into a tableau
system.time(
  invisible(sapply(n.spec, function(n) sim(rnorm, n, n.iter, prefix="DF = Inf ")))
)

Sau khi chỉ định các tham số, mã này cũng chỉ là một dòng. Nó mang lại đầu ra sau:

Biểu đồ cho null

01α=0.05,.04810.0499

10.2

νν=100ν=11001000), mà không mất thời gian nào cả. Mã bây giờ yêu cầu một vòng lặp kép (và trong các tình huống phức tạp hơn, chúng ta thường cần các vòng lặp ba hoặc bốn lần để phù hợp với tất cả các khía cạnh chúng ta cần thay đổi): một để nghiên cứu cách công suất thay đổi theo kích thước mẫu và một cách khác để nghiên cứu cách thay đổi với Các bậc tự do. Tuy nhiên, một lần nữa, mọi thứ được thực hiện chỉ trong một dòng mã (thứ ba và cuối cùng):

df.spec <- c(64, 16, 4, 2, 1)
par(mfrow=c(length(n.spec), length(df.spec)))
for (n in n.spec) 
  for (df in df.spec)
    tmp <- sim(rt, n, n.iter, prefix=paste("DF =", df, ""), df=df)

Biểu đồ cho các lựa chọn thay thế

Một nghiên cứu nhỏ về hoạt cảnh này cung cấp trực giác tốt về sức mạnh. Tôi muốn thu hút sự chú ý đến các khía cạnh nổi bật và hữu ích nhất của nó:

  • ν=64ν=1

  • n=5n=20

  • 1

  • 201110086.57=13%205%95%

  • αα=0.10

    α0.05020%α=0.01α=0.005breakssim


Thật thú vị khi có rất nhiều thứ có thể được lượm lặt từ những gì, thực tế, lên tới ba dòng mã: một để mô phỏng các mẫu iid từ một phân phối được chỉ định, một để áp dụng điều đó cho một mảng phân phối null và thứ ba áp dụng nó cho một mảng một loạt các phân phối thay thế. Đây là ba bước đi vào bất kỳ phân tích sức mạnh nào: phần còn lại chỉ là tóm tắt và diễn giải kết quả.


1

(Hơn một bình luận, có lẽ không phải là một câu trả lời hoàn chỉnh)

[Tôi] hy vọng rằng khi kích thước mẫu tăng xác suất từ ​​chối null sẽ giảm

Bỏ qua các cân nhắc về các bài kiểm tra thiên vị (không phổ biến về mức độ phù hợp, vì vậy nó đáng được đề cập), có ba tình huống liên quan đến tỷ lệ từ chối mà người ta có thể muốn xem xét:

1) tỷ lệ từ chối khi mô phỏng từ null (như bạn dường như đang làm trong câu hỏi của mình)

α

2) tỷ lệ loại bỏ khi mô phỏng từ một số thay thế

Ở đây tỷ lệ loại bỏ nên tăng khi n tăng.

3) tỷ lệ từ chối cho một số bộ sưu tập dữ liệu thực

Trên thực tế, null không bao giờ thực sự đúng và dữ liệu thực sẽ có một số hỗn hợp của số lượng không quy tắc (được đo bằng thống kê kiểm tra). Nếu mức độ không quy tắc không liên quan đến kích thước mẫu, tỷ lệ loại bỏ sẽ tăng khi n tăng.

Vì vậy, trên thực tế, không có trường hợp nào trong số những tình huống này chúng ta sẽ thấy tỷ lệ loại bỏ giảm theo kích thước mẫu.

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.