偏ったブートストラップ:観測された統計を中心にCIを中心にしても大丈夫ですか?


11

これはブートストラップに似ています:推定は信頼区間外です

母集団の遺伝子型の数を表すデータがいくつかあります。Shannonのインデックスを使用して遺伝的多様性を推定し、ブートストラップを使用して信頼区間も生成したいと考えています。ただし、ブートストラップによる推定は非常に偏りがちであり、信頼区間が私の観察した統計の範囲外にあることに気づきました。

以下に例を示します。

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

データ生成

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

計算

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

バイアス補正によるCIの生成

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

分散と仮定すると、tはの分散のために使用することができるT0

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

## [1] 3.55475 3.80421

t0を中心としたCIを報告することは正しいでしょうか?ブートストラップを生成するより良い方法はありますか?

回答:


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)、パーセンタイル間隔が完全に間違っているという結果になります。

基本(および通常)間隔では、変位値の役割が入れ替わります。これは、間隔が妥当であるように見える(3.912をカバーする)ことを意味しますが、3.912を超える間隔は論理的に意味がありません。さらに、基本的な間隔が正しいカバレッジになるかどうかはわかりません。その正当化は、次のおおよその分布IDに基づいています。

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

θ(p^n)±1.96se^n

θ(p)pθ(p)


5
1/n

@EdMこれは非常に役立つ情報です。この特定のバイアス問題に関する文献は知りませんでした。コメントをバイアスの修正を説明する回答に変えて、信頼区間を取得するためにブートストラップでどのように使用できるかなどは、非常に役立ちます。
NRH 2015年

この質問とあなたの答えが出るまで、私もこの文学を知りませんでした。シャノンのエントロピーは私の生物医学の分野でしばしば尺度として使用されているので、これはやや恥ずかしいことです。追加の答えとして、私が何をまとめることができるかを見ていきます。
EdM 2015年

1
θ(pn)

1
nnn

6

@NRHの答えが示すように、問題は、ブートストラップが偏った結果を与えたことではありません。サンプルからのデータに基づくシャノンエントロピーの単純な「プラグイン」推定は、真の母集団値から下向きにバイアスされます。

この問題は、このインデックスの定義から数年以内に、1950年代に認識されました。このペーパーでは、関連する文献を参照しながら、根本的な問題について説明します。

p^n,ipn,i

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

非線形の関係は、結果の値が真の遺伝的多様性の偏った過小評価であることを意味します。

MN(M1)/2N

この問題に対処するパッケージがRにあります。simboot特に、パッケージには、機能を有するestShannonfこれらのバイアスの修正を行い、機能sbdiv信頼区間を計算するために。最初からやり直すよりも、そのような確立されたオープンソースツールを分析に使用する方が良いでしょう。


それで、推定量自体はサンプルサイズのために間違っていますか?simbootパッケージルックスは有望が、それは信頼区間を推定するために、コントロール試料を必要とするように私の目的には適していないようです。
ZNK 2015年

1
「誤った」は正しくありません。推定値は、その期待値が実際の母集団値と同じではないという点で「偏っています」。それはそれが「誤った」という意味ではありません。推定器 を選択する際のバイアス分散のトレードオフで示されているように、バイアス推定器は有用です。場合はsimboot、あなたのニーズを満たしていない、などの他のRパッケージへのリンクがGoogleの「シャノンエントロピーバイアスR」entropyentropartEntropyEstimation
EdM、2015年

1
母集団に存在するいくつかの遺伝子型は、特定のサンプルでは見逃される可能性が高いという事実から生じる追加の問題があります。人口ベースおよびエコロジーベースのRパッケージのいくつかは、この問題に対処する方法があるようです。
EdM、2015年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.