Tại sao lỗi điều chỉnh ước tính 'a' là NA NA được tạo từ gói khởi động R khi tính khoảng tin cậy bằng phương pháp bca?


14

Tôi có một vectơ số mà tôi đã tải lên ở đây (... / code / MyData.Rdata) bằng cách sử dụng dput.

Tôi muốn lấy bca ci vì vậy tôi đã viết mã này:

my.mean <- function(dat, idx){
 return (mean(dat[idx], na.rm = TRUE))
} 

boot.out<-boot(data=my.data, statistic = my.mean, R=1000)

Nhưng khi tôi chạy như sau tôi nhận được điều này:

> boot.ci(boot.out)
Error in bca.ci(boot.out, conf, index[1L], L = L, t = t.o, t0 = t0.o,  : 
estimated adjustment 'a' is NA
In addition: Warning message:
In boot.ci(boot.out) : bootstrap variances needed for studentized intervals

Ai đó có thể giúp tôi tìm ra những gì gây ra lỗi này? Cảm ơn sự giúp đỡ của bạn!


3
Tôi đã thử với R = 10000 thay vì R = 1000 (và chỉ định loại = 'bca' thay vì loại = 'tất cả' vì đây là những gì bạn thực sự muốn) và nó hoạt động. Vì vậy, kết luận của tôi sẽ là những gì gây ra lỗi này không đủ bản sao bootstrap ... nhưng tôi không thể nói thêm ...
ocram

Câu trả lời:


23

Như bạn có thể thấy từ thông báo lỗi của bạn, boot.cicác cuộc gọi bca.ci. Bởi vì boot.outđối tượng không cung cấp L, các giá trị ảnh hưởng theo kinh nghiệm cho thống kê mà bạn đang tính toán trên dữ liệu, bca.cicố gắng tính toán chúng bằng empinfhàm và sau đó (như Michael nói), nó sử dụng chúng để tính hằng số gia tốc:

L <- empinf(boot.out, index = index, t = t.o, ...)
a <- sum(L^3)/(6 * sum(L^2)^1.5)

Nhưng với một số lượng nhỏ các bản sao, empinfđôi khi thất bại và trả về một vectơ NAgiá trị. Kết quả là bạn không có giá trị nào L, akhông thể tính được và bạn gặp lỗi. Như ocram nói, việc tăng số lượng bản sao boostrap sẽ khắc phục điều này. Thậm chí tăng gấp đôi Rlên 2000 có lẽ nên làm điều đó.


1
+1 @Kieran Cảm ơn! Tôi vui mừng vì dự đoán của tôi có một số giá trị. Bạn có câu trả lời đúng từ kiến ​​thức của bạn về các chương trình R liên quan. vì vậy câu trả lời của tôi không còn cần thiết Ai đó không thích tôi đoán hoặc nghĩ câu trả lời của tôi nên là một bình luận. Vì tất cả những lý do đó, thật hợp lý khi tôi xóa nó ngay bây giờ.
Michael R. Chernick

4
Đối với những người khác gặp phải vấn đề: Theo stat.ethz.ch/pipermail/r-help/2011-F/2/269006.html số lần lặp lại phải lớn hơn số lượng hàng dữ liệu. Tôi đã rất nhẹ nhàng rằng rất nhiều sự lặp lại là cần thiết ...
BurninLeo
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.