したがって、lmの重み関数は、関連する観測の「重み」値が大きいほど観測に重みを与えるように思えますが、lmeのlme関数は正確に反対です。これは簡単なシミュレーションで確認できます。
#make 3 vectors- c is used as an uninformative random effect for the lme model
a<-c(1:10)
b<-c(2,4,6,8,10,100,14,16,18,20)
c<-c(1,1,1,1,1,1,1,1,1,1)
ここで、lmの従属変数の逆数に基づいて観測値に重み付けするモデルを実行する場合、逆数をとらずに、従属変数だけで重み付けした場合にのみ、nlmeでまったく同じ結果を生成できます。
summary(lm(b~a,weights=1/b))
summary(lme(b~a,random=~1|c,weights=~b))
これを反転して、逆が真であることを確認できます。lmでweights = bを指定すると、一致するlme結果を取得するにはweights = 1 / bが必要です。
だから、私はこれをよく理解しています。あることについて検証し、別のものについて質問したいだけです。
- 従属変数の逆に基づいてデータに重みを付けたい場合、lme内でweights =〜(従属変数)をコーディングするだけで問題ありませんか?
- lmeがlmとはまったく異なる重みを処理するように書かれているのはなぜですか?混乱を引き起こす以外に、これの目的は何ですか?
どんな洞察もいただければ幸いです!
lm()
Sやさまざまな本との互換性が必要でしたが、nlmeはそうではありませんでした。nlmeはそうではなく、より柔軟で、異質性を許容範囲より柔軟にモデル化できるようにすることを目指していましたlm
。