Tôi đang cố gắng sử dụng boot.ci
từ gói boot
của R để tính toán khoảng tin cậy bootstrap lệch và lệch được sửa chữa từ bootstrap tham số. Từ việc đọc các trang của người đàn ông và thử nghiệm, tôi đã kết luận rằng tôi phải tính toán jackknife ước tính bản thân mình và cho chúng vào boot.ci
, nhưng điều này không được nói rõ ràng ở bất cứ đâu. Tôi đã không thể tìm thấy tài liệu khác, mặc dù công bằng tôi đã không nhìn vào cuốn sách Davison và Hinkley gốc mà mã dựa trên ...khoảng tin cậy bootstrap được điều chỉnh (BCa) với bootstrap tham số trong gói khởi động
Nếu tôi ngây thơ chạy b1 <- boot(...,sim="parametric")
và sau đó boot.ci(b1)
, tôi gặp lỗi influence values cannot be found from a parametric bootstrap
. Lỗi này xảy ra nếu và chỉ khi tôi chỉ định type="all"
hoặc type="bca"
; boot.ci(b1,type="bca")
cho cùng một lỗi. Vì vậy, empinf(b1)
. Cách duy nhất tôi có thể làm những việc cần làm là tính toán ước lượng jackknife một cách rõ ràng (sử dụng empinf()
với đối số data
) và nạp chúng vào boot.ci
.
Construct dữ liệu:
set.seed(101)
d <- data.frame(x=1:20,y=runif(20))
m1 <- lm(y~x,data=d)
Bootstrap:
b1 <- boot(d$y,
statistic=function(yb,...) {
coef(update(m1,data=transform(d,y=yb)))
},
R=1000,
ran.gen=function(d,m) {
unlist(simulate(m))
},
mle=m1,
sim="parametric")
Mỹ cho đến nay.
boot.ci(b1)
boot.ci(b1,type="bca")
empinf(b1)
tất cả cung cấp lỗi được mô tả ở trên.
này hoạt động:
L <- empinf(data=d$y,type="jack",
stype="i",
statistic=function(y,f) {
coef(update(m1,data=d[f,]))
})
boot.ci(b1,type="bca",L=L)
Có ai biết nếu điều này là cách tôi là nghĩa vụ phải được làm việc đó?
cập nhật: Các tác giả ban đầu của gói boot
trả lời một e-mail:
... bạn là chính xác rằng vấn đề này là bạn đang làm một bootstrap tham số . Khoảng thời gian bca được thực hiện khi khởi động là khoảng thời gian không tham số và điều này cần phải được nêu rõ là một cách rõ ràng ở đâu đó. Các công thức cho khoảng thời gian tham số bca không giống nhau và phụ thuộc vào các dẫn xuất của khả năng gia đình ít nhất thuận lợi khi có các thông số phiền toái như trong trường hợp của bạn. (Xem trang 206-207 ở Davison & Hinkley) empinf giả định rằng thống kê là một trong các hình thức được sử dụng để khởi động không tham số (mà bạn đã thực hiện trong ví dụ gọi tới empinf) nhưng cuộc gọi ban đầu của bạn để khởi động (đúng) có thống kê ở dạng khác nhau thích hợp cho lấy lại tham số.
Bạn chắc chắn có thể làm những gì bạn đang làm nhưng tôi không chắc chắn về các thuộc tính lý thuyết của việc trộn lại tham số với ước tính khoảng thời gian không tham số.
Tôi có thể có lợi thế là tôi có sách và có toàn bộ chương về ứng dụng hồi quy. Tuy nhiên, tôi không thể nói, liệu việc đăng kết quả của tôi bằng cách sử dụng 'jack.after.boot' có hữu ích không khi bạn nói rằng bạn tin chắc rằng jackknife cần phải được thực hiện trước. –