Я хотел бы знать, как правильно обратно преобразовать выходные данные из одномерной линейной модели смешанных эффектов, чтобы интерпретировать ее.Я не опубликовал данные, соответствующие моему вопросу, потому что мой вопрос должен отвечать без данных.
Моя модель (упрощенная для целей этого вопроса):
library(lme4)
m1<-lmer(activity ~ sex + BirthDate+ (1|id), data=merge.data)
> m1
Linear mixed model fit by REML ['lmerMod']
Formula: activity ~ sex + BirthDate + (1 | id)
Data: merge.data
REML criterion at convergence: 572.0483
Random effects:
Groups Name Std.Dev.
id (Intercept) 0.7194
Residual 1.4651
Number of obs: 150, groups: id, 89
Fixed Effects:
(Intercept) sexM BirthDate
-0.08661 0.20718 0.43022
Где:
activity
- переменная непрерывного отклика sex
- категориальная переменная с 2 уровнями (женский и мужской) BirthDate
- непрерывная переменная;BirthDate
- это количество дней с 1 января, а затем оно центрируется по среднему значению и стандартизируется до одного стандартного отклонения. id
- это случайный эффект для индивидуальной идентичности merge.data
- этоимя моего набора данных
До того, как BirthDate
будет иметь среднее значение по центру и стандартизировано для одного стандартного отклонения:
> summary(merge.data$BirthDate)
Min. 1st Qu. Median Mean 3rd Qu. Max.
94.96 115.96 121.96 122.67 127.96 138.96
После того, как BirthDate
будет иметь среднее значение по центру и стандартизировано до одного стандартного отклонения:
merge.data<-merge.data %>%
mutate(BirthDate = ((BirthDate-mean(BirthDate))/(1*(sd(BirthDate)))))
> summary(merge.data$BirthDate)
Min. 1st Qu. Median Mean 3rd Qu. Max.
-3.09082 -0.74816 -0.07883 0.00000 0.59050 1.81761
Я хотел бы знать, каково среднее значение для sex
и BirthDate
.Основываясь на чтении The R Book by Crawley , я могу получить среднее значение из моей модели m1
со следующим кодом:
tapply(predict(m1,type="response"), merge.data$sex,mean) #gives you the back-transformed mean for sex from the model "m1"
F M
-0.08334649 0.11199685
, который говорит, что средний показатель активности для женщин-0,083, а у мужчин 0,11.
Когда я пытаюсь это сделать для BirthDate
, вот так:
tapply(predict(m1,type="response"), merge.data$BirthDate,mean)
-3.09082367412411 -1.6406056364576 -1.52905040279094 #mean centered birth date
-0.79030344 -0.87012920 -0.44792213 #activity score
and so on...
В результате я получаю 1 среднее значение для каждой даты рождения (BirthDate
среднее по центру и стандартизировано до одного стандартного отклонения).В отличие от sex
, я не могу ничего сделать с этой информацией ... Я пытаюсь представить эффект (размер эффекта) увеличения даты рождения на активность.
Что бы я хотелв конечном счете, скажем, что на каждый 1-дневный рост даты рождения возрастает показатель активности [число из модели].