混合モデルのパラメトリック、セミパラメトリック、ノンパラメトリックブートストラップ


9

以下の移植片は、この記事から引用したものです。私はブートストラップの初心者であり、R bootパッケージを使用した線形混合モデルのパラメトリック、セミパラメトリック、ノンパラメトリックのブートストラップブートストラップを実装しようとしています。

ここに画像の説明を入力してください ここに画像の説明を入力してください ここに画像の説明を入力してください ここに画像の説明を入力してください ここに画像の説明を入力してください

Rコード

これが私のRコードです:

library(SASmixed)
library(lme4)
library(boot)

fm1Cult <- lmer(drywt ~ Inoc + Cult + (1|Block) + (1|Cult), data=Cultivation)
fixef(fm1Cult)


boot.fn <- function(data, indices){
 data <- data[indices, ]
 mod <- lmer(drywt ~ Inoc + Cult + (1|Block) + (1|Cult), data=data)
 fixef(mod)
 }

set.seed(12345)
Out <- boot(data=Cultivation, statistic=boot.fn, R=99)
Out

ご質問

  1. bootパッケージを含む混合モデルのパラメトリック、セミパラメトリック、ノンパラメトリックのブートストラップを行う方法は?
  2. 私のコードでは、混合モデルのノンパラメトリックブートストラップを実行していると思います。

これらのスライドを見つけましたが、Rパッケージを取得できませんでしたmerBoot。このパッケージをどこで入手できるかについてのアイデア。どんな助けも高く評価されます。あなたの助けと時間を事前に感謝します。

回答:


8

混合線形モデルでのブートストラップは、効果が固定とランダムに分割されるという複雑さがあることを除いて、回帰でのブートストラップとほとんど同じです。パラメトリックブートストラップを行うための回帰では、パラメトリックモデルをデータに適合させ、モデルの残差を計算し、残差をブートストラップし、ブートストラップの残差を取得して適合モデルに追加し、データのブートストラップサンプルを取得してモデルを適合させます。ブートストラップデータに追加して、ブートストラップサンプルパラメータの推定値を取得します。元の残差を再度ブートストラップし、手順の他の手順を繰り返すことで手順を繰り返し、パラメーターの別のブートストラップサンプル推定値を取得します。ノンパラメトリックブートストラップの場合、応答と共変量の値のベクトルを作成し、ブートストラップサンプルのベクトルの選択をブートストラップします。ブートストラップサンプルから、モデルを近似してパラメーターを取得し、プロセスを繰り返します。パラメトリックブートストラップとノンパラメトリックブートストラップの唯一の違いは、ノンパラメトリックブートストラップがベクトルをブートストラップするときに、パラメトリックブートストラップの残差をブートストラップすることです。混合モデルの場合、一部の効果をパラメトリックに処理し、他の効果をノンパラメトリックに処理することにより、セミパラメトリックブートストラップを使用することもできます。コードがベクトルをブートストラップする場合は、ノンパラメトリックブートストラップを実行しています。Rでこれを行うために提供する特定のソリューションはありませんが、EfronとTibshiraniの本、またはRobert LaBuddeの私の本を見ると、線形混合モデルと同様のタイプのモデルのRコードが表示されます。


素敵な答えをありがとう@Michael。で実装されてRいる3つのブートストラップメソッドすべての例を共有していただければ幸いです。
MYaseen208 2012年

セミパラメトリックな例はないと思います。私は(まだ)Rプログラマではありません。Robert LaBuddeは、私たちの本ですべてのRプログラミングを行いました。彼は、定常自己回帰モデルのRでコード化されたパラメトリックブートストラップの例を示しています(pp 120-122)。本の10ページ目で、クエリ "> help.search( 'bootstrap')を使用して表示されるRのすべてのブートストラップ関数を示しています。 DavisonとHinkleyによるパッケージは、ブートストラップブックで詳細を確認できるパッケージ「boot」です
Michael R. Chernick

混合モデルの厳密なノンパラメトリックブートストラップは失敗する傾向があることに言及する必要があります。プロセスを停止する確率変数のレベルを完全に省略することができます。
ブライアン

2

bootMerlme4の開発バージョンの関数を確認したい場合があります。

install_github("lme4",user="lme4")
library(lme4)

混合モデルのモデルベースの(セミ)パラメトリックブートストラップを実行できます...確認するだけです ?bootMer

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.