そのため、Rのパッケージを使用してquantreg
分位点回帰分析を実行し、予測子の効果が結果の分布全体でどのように変化するかをテストしています。
FML <- as.formula(outcome ~ VAR + c1 + c2 + c3)
quantiles <- c(0.25, 0.5, 0.75)
q.Result <- list()
for (i in quantiles){
i.no <- which(quantiles==i)
q.Result[[i.no]] <- rq(FML, tau=i, data, method="fn", na.action=na.omit)
}
次にanova.rq
、すべてのモデルで Wald 検定を実行し、共変量ごとに pvalue を出力して、結果の分布全体で各共変量の効果が大きく異なるかどうかを示します。
anova.Result <- anova(q.Result[[1]], q.Result[[2]], q.Result[[3]], joint=FALSE)
それはうまくいきます。ただし、私の特定のデータ (および一般的には?) については、推定値とその誤差をブートストラップすることが望ましいです。上記のコードを少し変更して実行します。
q.Result <- rqs(FML, tau=quantiles, data, method="fn", na.action=na.omit)
q.Summary <- summary(Q.mod, se="boot", R=10000, bsmethod="mcmb",
covariance=TRUE)
ここで行き詰まります。はquantreg
現在、ブーストラップ推定値に対して anova (Wald) 検定を実行できません。パッケージの情報ファイルにはquantreg
、ブーストストラップの方法について「anova.rq で使用するメソッドの拡張を行う必要がある」と具体的に記載されています。
anova.rq メソッドの詳細を見てみます。ブートストラップ時に分位モデルに存在しない 2 つのコンポーネントが必要であることがわかります。
1) Hinv
(逆ヘッセ行列)。パッケージ情報ファイルには、「推定された共分散行列をそのサンドイッチ構成部分に分割する方法がないことに注意してくださいse = "boot"
」と具体的に記載されています。
2)J
情報ファイルによると、これは "と の場合に返される勾配行列のスケーリングされていない外積です。 フーバー サンドイッチはです。コンポーネントに関しては、 の場合はコンポーネントがありません。 (フーバー サンドイッチを作成するには、追加する必要があることに注意してください。マヨネーズはcov=TRUE
se != "iid"
cov = tau
(1-tau) Hinv %*% J %*% Hinv
Hinv
J
se == "boot"
tau (1-tau)
自分で。) 」
Hinv
ブートストラップされた推定値から計算または推定できますJ
か? そうでない場合、続行する最善の方法は何ですか?
これに関するヘルプは大歓迎です。ここに質問を投稿するのは初めてのタイミングですが、過去に他の人の質問への回答から大きな恩恵を受けました.