Jak uzyskać znormalizowane wagi regresji (efekt stały) z regresji wielopoziomowej?
I jako „dodatek”: Jaki jest najłatwiejszy sposób na uzyskanie tych standardowych wag z obiektu mer
-object (z lmer
funkcji lme4
pakietu w R
)?
Jak uzyskać znormalizowane wagi regresji (efekt stały) z regresji wielopoziomowej?
I jako „dodatek”: Jaki jest najłatwiejszy sposób na uzyskanie tych standardowych wag z obiektu mer
-object (z lmer
funkcji lme4
pakietu w R
)?
Odpowiedzi:
Po prostu skaluj zmienne objaśniające, tak aby miały średnią zero i wariancję jednej, zanim umieścisz je w modelu. Wtedy wszystkie współczynniki będą porównywalne. Charakter mieszanych efektów modelu nie ma wpływu na ten problem.
Najlepszym sposobem na zrobienie tego i najmniejszym prawdopodobieństwem popełnienia błędu jest użycie skali () przed dopasowaniem modelu.
Aby szybko uzyskać znormalizowane współczynniki beta bezpośrednio z dowolnego modelu lm (lub glm) w R, spróbuj użyć lm.beta(model)
z pakietu QuantPsyc. Na przykład:
library("MASS")
glmModel = glm(dependentResponseVar ~ predictor1 + predictor2, data=myData)
summary(glmModel)
library(QuantPsyc)
lm.beta(glmModel)
W przypadku standardowych modeli liniowych z regresją za pomocą lm () można albo skalować () dane predyktorów, albo po prostu użyć tej prostej formuły:
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)
Zakładając, że ustawiłeś wyjście swojego lmer
modelu na lmer.results
, fixef(lmer.results)
zwróci ogólne ustalone współczynniki efektów.
mer
obiektu - nie pojawiają się one w podsumowaniu, więc zakładam, że lme4
metody ich nie tworzą. fixef()
zwróci wszystkie informacje o stałym efekcie dostępne z mer
obiektu.