マルチレベル回帰の標準化されたベータの重み


11

マルチレベル回帰から標準化された(固定効果)回帰重みをどのように取得できますか?

そして、「アドオン」として:- merオブジェクトから(lmerlme4パッケージの関数から)これらの標準化された重みを取得する最も簡単な方法は何Rですか?


具体的には、merまたはあなたは任意の線形モデル係数を求めていますか?
ロバートキューブリック

実際、私はそれを一般的に行う方法にもっと興味があります(通常の線形モデルのように、すべての変数を事前に標準化しますが、そのアプローチがMLMで有効かどうかはわかりません)。上記では、lme4オブジェクトでそれがどのように行われるかを確認したいと思います。私はそれに応じて質問を言い換えました!
Felix S

1
Andrew Gelman and Iain Pardoe(2007)Average predictive Comparisons for Models with Nonlinearity、Interactions、and Variance Componentsによるこの論文に興味があるかもしれません。
アンディW

回答:


9

モデルに配置する前に、説明変数を0の平均と1の分散を持つようにスケーリングするだけです。その後、係数はすべて比較可能になります。モデルの混合効果の性質は、この問題には影響しません。

それを行うための最良の方法であり、失敗する可能性が最も低いのは、モデルをフィットする前にscale()を使用することです。


おかげで、それが私が知りたかったことです:総平均に再スケーリング(グループ構造を無視して...)。
Felix S

3

Rの任意のlm(またはglm)モデルから直接標準化されたベータ係数を取得する簡単な方法についてはlm.beta(model)、QuantPsycパッケージから使用してみてください。例えば:

library("MASS")
glmModel = glm(dependentResponseVar ~ predictor1 + predictor2, data=myData)
summary(glmModel)

library(QuantPsyc)
lm.beta(glmModel)

1
、この電子メールベンBolker「lmerランド」に、この機能を翻訳。
crsh 2013年

しかし、Benが提供するリンクされたコードは、そのメールに書かれているように実際には機能していません。それは.... [編集]を言葉/擬似コードが含まれています。この質問への答えは動作するコードを提供します:stats.stackexchange.com/questions/123366/...
Bajcz

2

lm()で回帰された標準線形モデルの場合、予測子データをscale()するか、次の単純な式を使用できます。

lm.results = lm(mydata$Y ~ mydata$x1)

sd.y = sd(mydata$Y)
sd.x1 = sd(mydata$x1)
x1.Beta = coef(lm.results)["mydata$x1"] * (sd.x1 / sd.y)

1

あなたの出力設定していると仮定lmerしたモデルをlmer.resultsfixef(lmer.results)全体的な固定効果係数を返します。


2
彼らは「標準化」されないでしょうか?説明変数がすべて同じスケールである場合、固定効果のサイズを知りたいという質問を読みました。
Peter Ellis

merオブジェクトから標準化された係数を取得することが可能であることを知りません-それらは要約に表示されないので、lme4メソッドはそれらを作成しないと思います。オブジェクトfixef()から利用可能なすべての固定効果情報を返しmerます。
ミシェル

1
ピーターがすでにコメントしたように:質問の焦点は「標準化された」係数に関するものでした...
Felix S
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.