Як можна отримати стандартизовані (фіксований ефект) ваги регресії з багаторівневої регресії?
І, як "надбудова": Який найпростіший спосіб отримати ці стандартизовані ваги з mer
-об'єкта (від lmer
функції lme4
пакета в R
)?
Як можна отримати стандартизовані (фіксований ефект) ваги регресії з багаторівневої регресії?
І, як "надбудова": Який найпростіший спосіб отримати ці стандартизовані ваги з mer
-об'єкта (від lmer
функції lme4
пакета в R
)?
Відповіді:
Просто розмістіть свої пояснювальні змінні до значення середнього нуля та дисперсії, перш ніж поставити їх у модель. Тоді всі коефіцієнти будуть порівнянні. Характер змішаних ефектів моделі не впливає на це питання.
Найкращий спосіб зробити це, і, найменш ймовірно, піти не так, - використовувати масштаб () перед тим, як підібрати модель.
Щоб швидко отримати стандартизовані бета-коефіцієнти безпосередньо з будь-якої lm (або glm) моделі в R, спробуйте скористатися lm.beta(model)
з пакета QuantPsyc. Наприклад:
library("MASS")
glmModel = glm(dependentResponseVar ~ predictor1 + predictor2, data=myData)
summary(glmModel)
library(QuantPsyc)
lm.beta(glmModel)
Для стандартних лінійних моделей, регресуючих з допомогою lm (), ви можете або масштабувати () ваші дані прогнозів, або просто використовувати цю просту формулу:
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)
Якщо припустити, що ви встановили вихід своєї lmer
моделі lmer.results
, fixef(lmer.results)
повернуть загальні коефіцієнти фіксованих ефектів.
mer
об'єкта - вони не відображаються в резюме, тому я припускаю, що lme4
методи не створюють їх. fixef()
поверне всю інформацію з фіксованим ефектом, доступну для mer
об'єкта.