Çok seviyeli regresyon için standartlaştırılmış beta ağırlıkları


11

Çok seviyeli bir regresyondan nasıl standart (sabit etkili) regresyon ağırlıkları elde edilebilir?

Ve "eklenti" olarak: Bu standart ağırlıkları bir mer-object'ten ( paketin lmerişlevinden) almanın en kolay yolu nedir ?lme4R


Özellikle mer ya da herhangi bir doğrusal model katsayısı mı istiyorsunuz?
Robert Kubrick

Aslında bunu genel olarak nasıl yapacağımla daha fazla ilgileniyorum (normal doğrusal modellerde olduğu gibi önceden tüm değişkenleri standartlaştırırdım, ancak bu yaklaşımın MLM'lerde geçerli olup olmadığından emin değilim). Yukarıda, lme4 nesneleri ile nasıl yapıldığını görmek istiyorum. Soruyu buna göre yeniden yazdım!
Felix S

Yanıtlar:


9

Açıklayıcı değişkenlerinizi modele yerleştirmeden önce sıfır ve varyansın ortalamasına sahip olmanız yeterlidir. Sonra katsayıların hepsi karşılaştırılabilir olacaktır. Modelin karışık efekt doğası bu konuyu etkilemez.

Bunu yapmanın en iyi yolu ve en az yanlış gitme olasılığı, modele uymadan önce scale () yöntemini kullanmaktır.


Teşekkürler, bilmek istediğim buydu: büyük ortalamaya yeniden ölçeklendirme (grup yapısını görmezden gelmek ...).
Felix S

3

Standart beta katsayılarına doğrudan R'deki herhangi bir lm (veya glm) modelinden ulaşmanın hızlı bir yolu için lm.beta(model)QuantPsyc paketinden kullanmayı deneyin . Örneğin:

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

library(QuantPsyc)
lm.beta(glmModel)

1
In bu e-posta Ben Bolker "llmer-kara" için bu işlevi tercüme etti.
crsh

Ancak Ben'in sağladığı bağlantılı kod aslında bu e-postada yazıldığı gibi işlevsel değil, öyle görünmüyor. Kelimeler / sözde kod içerir .... Düzenleme: Bu sorunun cevabı çalışma kodu sağlayacaktır: stats.stackexchange.com/questions/123366/…
Bajcz

2

Lm () ile gerileyen standart doğrusal modeller için tahmin verilerinizi ölçeklendirebilir () veya sadece bu basit formülü kullanabilirsiniz:

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

Eğer çıktısını belirledik varsayarsak lmermodelin lmer.results, fixef(lmer.results)genel sabit etkiler katsayıları dönecektir.


2
Yine de "standartlaştırılmayacaklar", değil mi? Açıklayıcı değişkenlerin hepsi aynı ölçekte olsaydı soruyu sabit etkilerin boyutunu bilmek istedim.
Peter Ellis

Bir mernesneden standartlaştırılmış katsayıları elde etmenin mümkün olduğunu bilmiyorum - özette görünmüyorlar, bu yüzden lme4yöntemlerin onları yaratmadığını varsayıyorum . fixef()bir mernesneden elde edilebilen tüm sabit efekt bilgilerini döndürür .
Michelle

1
Peter'ın zaten yorumladığı gibi, sorunun odağı 'standartlaştırılmış' katsayılarla ilgilidir ...
Felix S
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.