Bootstrap yang bias: apakah boleh memusatkan CI di sekitar statistik yang diamati?

11

Ini mirip dengan Bootstrap: perkiraan di luar interval kepercayaan

Saya memiliki beberapa data yang mewakili jumlah genotipe dalam suatu populasi. Saya ingin memperkirakan keragaman genetik menggunakan indeks Shannon dan juga menghasilkan interval kepercayaan menggunakan bootstrap. Namun, saya perhatikan bahwa perkiraan melalui bootstrap cenderung sangat bias dan menghasilkan interval kepercayaan yang berada di luar statistik yang saya amati.

Di bawah ini adalah contohnya.

# 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]))
}

Pembuatan data

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

Perhitungan

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

Menghasilkan CI dengan bias-koreksi

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

Dengan asumsi bahwa varian t dapat digunakan untuk varian t0 .

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

## [1] 3.55475 3.80421

Apakah benar melaporkan CI terpusat sekitar t0 ? Apakah ada cara yang lebih baik untuk menghasilkan bootstrap?

ZNK
sumber

Jawaban:

11

Dalam pengaturan yang diberikan oleh OP, parameter yang diminati adalah entropi Shannon yang merupakan fungsi dari vektor probabilitas . Estimator berdasarkan sampel ( dalam simulasi) adalah estimator plug-in Sampel dihasilkan menggunakan distribusi seragam yang entropi Shannon adalahKarena entropi Shannon dimaksimalkan dalam distribusi seragam, estimator plug-in harus bias ke bawah . Sebuah simulasi menunjukkan itu

θ(p)=i=150pilogpi,
pR50nn=100
θ^n=θ(p^n)=i=150p^n,ilogp^n,i.
log(50)=3.912.bias(θ^100)0.28 sedangkan . Estimator plug-in konsisten, tetapi metode tidak berlaku untuk menjadi distribusi seragam, karena turunan dari entropi Shannon adalah 0. Dengan demikian untuk pilihan khusus dari , interval kepercayaan berdasarkan argumen asimptotik tidak jelas. bias(θ^500)0.05Δpp

Interval persentil didasarkan pada distribusi mana adalah estimator yang diperoleh dari sampling pengamatan dari . Secara khusus, ini adalah interval dari kuantil 2,5% ke kuantil 97,5% untuk distribusi . Seperti yang ditunjukkan oleh simulasi bootstrap OP, jelas juga condong ke bawah sebagai penaksir , yang menghasilkan interval persentil menjadi sepenuhnya salah.θ(pn)pnnp^nθ(pn)θ(pn)θ(p^n)

Untuk interval dasar (dan normal), peran kuantil dipertukarkan. Ini menyiratkan bahwa interval tampaknya masuk akal (mencakup 3,912), meskipun interval yang melampaui 3,912 secara logis tidak bermakna. Selain itu, saya tidak tahu apakah interval dasar akan memiliki cakupan yang benar. Pembenarannya didasarkan pada perkiraan identitas distribusi berikut:

n n = 100

θ(pn)θ(p^n)Dθ(p^n)θ(p),
yang mungkin dipertanyakan untuk (relatif) kecil seperti .nn=100

Saran terakhir OP tentang interval berbasis kesalahan standar tidak akan berfungsi karena bias yang besar. Ini mungkin bekerja untuk penduga yang dikoreksi bias, tetapi kemudian Anda pertama-tama membutuhkan kesalahan standar yang benar untuk penduga yang dikoreksi bias.θ(p^n)±1.96se^n

Saya akan mempertimbangkan interval kemungkinan berdasarkan profil log-kemungkinan untuk . Saya khawatir bahwa saya tidak tahu cara sederhana untuk menghitung log-kemungkinan profil untuk contoh ini kecuali bahwa Anda perlu memaksimalkan log-likelihood lebih dari untuk nilai tetap yang berbeda dari .p θ ( p )θ(p)pθ(p)

NRH
sumber
5
Masalah bias dengan menggunakan estimator "plug-in" untuk entropi telah dihargai selama beberapa dekade. Makalah ini menganalisis perkiraan yang kurang bias. Koreksi bias hingga urutan , yang dimulai pada tahun 1955 (lihat persamaan 4 dari kertas terkait), dapat diterapkan pada kasus yang disajikan oleh OP. Koreksi adalah 0,245, hampir identik dengan bias yang diidentifikasi oleh bootstrap. Mungkin bootstrap harus digunakan di sini untuk memperkirakan entropi itu sendiri, bukan hanya batas kepercayaannya. 1/n
EdM
@ EDM informasi ini sangat berguna. Saya tidak tahu literatur tentang masalah bias khusus ini. Ini bisa sangat berguna jika Anda bisa mengubah komentar menjadi jawaban yang menjelaskan koreksi bias dan bagaimana bisa digunakan dengan bootstrap, katakanlah, untuk mendapatkan interval kepercayaan.
NRH
Saya juga tidak tahu literatur ini, sampai pertanyaan ini dan jawaban Anda muncul. Yang agak memalukan, karena entropi Shannon sering digunakan sebagai ukuran dalam bidang ilmu biomedis saya. Saya akan melihat apa yang bisa saya kumpulkan sebagai jawaban tambahan.
EdM
1
Meningkatkan jumlah sampel bootstrap tidak akan membantu. Itu harus cukup besar sehingga Anda dapat secara andal memperkirakan jumlah bunga untuk distribusi , katakanlah, tetapi sebaliknya meningkatkan jumlah sampel bootstrap tidak akan menghapus bias atau membuat kepercayaan lebih tepat. θ(pn)
NRH
1
Maaf ZNK, saya salah mengerti pertanyaan Anda. Jika Anda menambah ukuran sampel , biasnya akan lebih kecil, ya! Estimator konsisten. Justru untuk distribusi seragam saya akan agak skeptis tentang cakupan sebenarnya dari interval kepercayaan bahkan untuk besar karena alasan yang saya jelaskan dalam jawaban. Untuk semua distribusi lainnya, CLT berlaku, dan metode yang berbeda akan menghasilkan cakupan yang benar secara asimptotik untuk . n n nnn
NRH
6

Sebagaimana dijawab oleh @NRH, masalahnya bukan bahwa bootstrap memberikan hasil yang bias. Itu adalah estimasi "plug in" sederhana dari entropi Shannon, berdasarkan data dari sampel, bias ke bawah dari nilai populasi yang sebenarnya.

Masalah ini diakui pada 1950-an, dalam beberapa tahun setelah definisi indeks ini. Makalah ini membahas masalah mendasar, dengan referensi ke literatur terkait.

Masalah muncul dari hubungan nonlinear dari probabilitas individu dengan ukuran entropi ini. Dalam hal ini, fraksi genotipe yang diamati untuk gen i dalam sampel n , , adalah penaksir yang tidak bias dari probabilitas sebenarnya, . Tetapi ketika nilai yang diamati diterapkan pada formula "plug in" untuk entropi lebih dari gen M:p^n,ipn,i

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

hubungan non-linear berarti bahwa nilai yang dihasilkan adalah bias di bawah perkiraan keanekaragaman genetik yang sebenarnya.

Bias tergantung pada jumlah gen, dan jumlah pengamatan, . Untuk urutan pertama, estimasi plug-in akan lebih rendah dari entropi sebenarnya dengan jumlah . Koreksi tingkat tinggi dievaluasi dalam makalah yang ditautkan di atas.N ( M - 1 ) / 2 NMN(M1)/2N

Ada paket di R yang menangani masalah ini. The simbootpaket khususnya memiliki fungsi estShannonfyang membuat koreksi Bias ini, dan fungsi sbdivuntuk menghitung interval keyakinan. Akan lebih baik menggunakan alat sumber terbuka yang sudah mapan tersebut untuk analisis Anda daripada mencoba memulai dari awal.

EdM
sumber
Jadi estimator itu sendiri salah karena ukuran sampel? The simbootpaket terlihat menjanjikan, tapi tampaknya tidak cocok untuk tujuan saya karena membutuhkan sampel kontrol untuk memperkirakan interval kepercayaan.
ZNK
1
"Keliru" tidak sepenuhnya benar; penaksirnya "bias" karena nilai yang diharapkan tidak sama dengan nilai populasi aktual. Itu tidak berarti itu "salah"; estimator yang bias dapat bermanfaat, seperti yang diilustrasikan oleh tradeoff bias-varians dalam memilih estimator. Jika simboottidak memenuhi kebutuhan Anda, Google "shannon entropi Bias r" untuk link ke paket R lainnya seperti entropy, entropart, dan EntropyEstimation.
EdM
1
Ada masalah tambahan yang muncul dari fakta bahwa beberapa genotipe yang ada dalam populasi cenderung terlewatkan dalam sampel tertentu. Beberapa paket R berbasis populasi dan ekologi tampaknya memiliki cara untuk mengatasi masalah ini.
EdM