Bootstrap thiên vị: có ổn không khi tập trung CI xung quanh thống kê quan sát?


11

Điều này tương tự với Bootstrap: ước tính nằm ngoài khoảng tin cậy

Tôi có một số dữ liệu đại diện cho số lượng kiểu gen trong dân số. Tôi muốn ước tính sự đa dạng di truyền bằng chỉ số của Shannon và cũng tạo ra khoảng tin cậy bằng cách sử dụng bootstrapping. Tuy nhiên, tôi đã nhận thấy rằng ước tính thông qua bootstrapping có xu hướng cực kỳ sai lệch và dẫn đến một khoảng tin cậy nằm ngoài thống kê quan sát của tôi.

Dưới đây là một ví dụ.

# Shannon's index
H <- function(x){
  x <- x/sum(x)
  x <- -x * log(x, exp(1))
  return(sum(x, na.rm = TRUE))
}
# The version for bootstrapping
H.boot <- function(x, i){
  H(tabulate(x[i]))
}

Tạo dữ liệu

set.seed(5000)
X <- rmultinom(1, 100, prob = rep(1, 50))[, 1]

Phép tính

H(X)

## [1] 3.67948

xi <- rep(1:length(X), X)
H.boot(xi)

## [1] 3.67948

library("boot")
types <- c("norm", "perc", "basic")
(boot.out <- boot::boot(xi, statistic = H.boot, R = 1000L))

## 
## CASE RESAMPLING BOOTSTRAP FOR CENSORED DATA
## 
## 
## Call:
## boot::boot(data = xi, statistic = H.boot, R = 1000)
## 
## 
## Bootstrap Statistics :
##     original     bias    std. error
## t1*  3.67948 -0.2456241  0.06363903

Tạo các TCTD với hiệu chỉnh sai lệch

boot.ci(boot.out, type = types)

## BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS
## Based on 1000 bootstrap replicates
## 
## CALL : 
## boot.ci(boot.out = boot.out, type = types)
## 
## Intervals : 
## Level      Normal              Basic              Percentile     
## 95%   ( 3.800,  4.050 )   ( 3.810,  4.051 )   ( 3.308,  3.549 )  
## Calculations and Intervals on Original Scale

Giả sử rằng phương sai của t có thể được sử dụng cho phương sai của t0 .

norm.ci(t0 = boot.out$t0, var.t0 = var(boot.out$t[, 1]))[-1]

## [1] 3.55475 3.80421

Nó có đúng không khi báo cáo CI tập trung vào khoảng t0 ? Có cách nào tốt hơn để tạo bootstrap không?

Câu trả lời:


11

θ(p)=i=150pilogpi,
pR50nn=100
θ^n=θ(p^n)=i=150p^n,ilogp^n,i.
log(50)=3.912.bias(θ^100)0.28bias(θ^500)0.05Δpp

θ(pn)pnnp^nθ(pn)θ(pn)θ(p^n), dẫn đến khoảng phần trăm là hoàn toàn sai.

Đối với khoảng thời gian cơ bản (và bình thường), vai trò của các lượng tử được thay thế cho nhau. Điều này ngụ ý rằng khoảng thời gian có vẻ hợp lý (nó bao gồm 3.912), mặc dù các khoảng kéo dài ngoài 3.912 không có ý nghĩa logic. Hơn nữa, tôi không biết nếu khoảng cơ bản sẽ có phạm vi bảo hiểm chính xác. Sự biện minh của nó dựa trên danh tính phân phối gần đúng sau:

θ(pn)θ(p^n)Dθ(p^n)θ(p),
nn=100

θ(p^n)±1.96se^n

θ(p)pθ(p)


5
1/n

@EdM đây là thông tin rất hữu ích. Tôi không biết tài liệu về vấn đề thiên vị đặc biệt này. Nó có thể thực sự hữu ích nếu bạn có thể biến nhận xét thành một câu trả lời giải thích sự điều chỉnh sai lệch và cách nó có thể được sử dụng với bootstrapping, giả sử, để có được khoảng tin cậy.
NRH

Tôi cũng không biết tài liệu này, cho đến khi câu hỏi này và câu trả lời của bạn xuất hiện. Điều này hơi xấu hổ, vì entropy của Shannon thường được sử dụng như một biện pháp trong lĩnh vực khoa học y sinh của tôi. Tôi sẽ xem những gì tôi có thể đưa ra như một câu trả lời bổ sung.
EdM

1
θ(pn)

1
nnn

6

Như câu trả lời của @NRH chỉ ra, vấn đề không phải là bootstrapping cho kết quả sai lệch. Đó là ước tính "cắm vào" đơn giản của entropy Shannon, dựa trên dữ liệu từ một mẫu, bị lệch xuống so với giá trị dân số thực.

Vấn đề này đã được công nhận vào những năm 1950, trong vòng một vài năm định nghĩa về chỉ số này. Bài viết này thảo luận về các vấn đề cơ bản, với các tài liệu tham khảo đến văn học liên quan.

p^n,ipn,i

θ^n=θ(p^n)=i=1Mp^n,ilogp^n,i.

mối quan hệ phi tuyến tính có nghĩa là giá trị kết quả là một ước tính sai lệch của sự đa dạng di truyền thực sự.

MN(M1)/2N

Có các gói trong R giải quyết vấn đề này. Các simbootgói đặc biệt có chức năng estShannonfmà làm cho những điều chỉnh sai lệch, và một hàm sbdivđể tính khoảng tin cậy. Sẽ tốt hơn khi sử dụng các công cụ nguồn mở được thiết lập như vậy cho phân tích của bạn thay vì cố gắng bắt đầu lại từ đầu.


Vì vậy, công cụ ước tính trong và của chính nó là sai lầm do kích thước mẫu? Các simboothình gói đầy hứa hẹn, nhưng dường như không phù hợp với mục đích của tôi vì nó cần một mẫu đối chứng để ước lượng khoảng tin cậy.
ZNK

1
"Sai lầm" không hoàn toàn đúng; công cụ ước tính bị "sai lệch" ở chỗ giá trị dự kiến ​​của nó không giống với giá trị dân số thực tế. Điều đó không có nghĩa là "sai lầm"; công cụ ước tính sai lệch có thể hữu ích, như được minh họa bằng sự đánh đổi sai lệch trong việc lựa chọn công cụ ước tính. Nếu simbootkhông đáp ứng được nhu cầu của bạn, Google "shannon entropy thiên vị r" cho các liên kết đến các gói R khác như entropy, entropart, và EntropyEstimation.
EdM

1
Có nhiều vấn đề phát sinh từ thực tế là một số kiểu gen có trong quần thể có khả năng bị bỏ sót trong bất kỳ mẫu cụ thể nào. Một số gói R dựa trên dân số và sinh thái dường như có cách để giải quyết vấn đề này.
EdM
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.