パラメトリックブートストラップからのバイアスおよびスキュー補正されたブートストラップ信頼区間を計算するために、Rのboot
パッケージのboot.ci
を使用しようとしています。マニュアルページと実験の私の読書から、ジャックナイフの推定値を自分で計算してboot.ci
に入力しなければならないと結論づけましたが、これは明示的にどこにも述べられていません。私は、私は、その後、起動パッケージのパラメトリックブートストラップで調整されたブートストラップ信頼区間(BCa)
私は単純にb1 <- boot(...,sim="parametric")
を実行した場合とboot.ci(b1)
...私はコードがベースとなるオリジナル・デイヴィソンとヒンクリー本を見ていない公正であるためにも、他のドキュメントを見つけることができませんでしたエラーinfluence values cannot be found from a parametric bootstrap
を取得します。このエラーは、type="all"
またはtype="bca"
を指定した場合にのみ発生します。 boot.ci(b1,type="bca")
は同じエラーを返します。だからempinf(b1)
です。私は仕事を得ることができる唯一の方法は、(empinf()
とdata
引数を使って)ジャックナイフの推定値を明示的に計算し、これらをboot.ci
に送り込むことです。
構築物データ:
set.seed(101)
d <- data.frame(x=1:20,y=runif(20))
m1 <- lm(y~x,data=d)
ブートストラップ:これまで
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")
ファイン。
boot.ci(b1)
boot.ci(b1,type="bca")
empinf(b1)
はすべて上記のエラーを示します。
これは動作します:これは私がそれをやってことになってるな方法であれば
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)
誰でも知っていますか?
更新:boot
パッケージの原作者は、電子メールに応答する:
は...あなたは問題があなたが パラメトリックブートストラップを行っているということであることを正しいです。起動時に実装されるbca間隔は、 ノンパラメトリック間隔であり、これは明示的にどこかに と記載されているはずです。パラメトリックbca間隔の式は、 のような厄介なパラメータがある場合、同じではなく、もっとも好ましくない値の導関数に依存します( )。 empinfは、 統計値がノンパラメトリックブートストラップのために使用される形式の1つであると仮定していますが、元の が起動(正しく)されたことを呼び出します。パラメトリックリサンプリングに適した別の形式の統計を に持っていました。あなたは確かにあなたがやっていることをすることができますが、 ノンパラメトリック間隔推定とパラメトリックリサンプリングを混合する理論的な性質はわかりません。
私はおそらく私が本を持っているという利点があり、それは回帰アプリケーションの全章を持っています。しかし、jackknifeを最初に行う必要があると確信していると言うので、 'jack.after.boot'を使って自分の結果を投稿すると便利なのかどうかはわかりません。 –