【发布时间】:2014-03-10 23:50:03
【问题描述】:
我正在尝试了解分段混合效果模型的摘要输出,并且可以使用一些见解。具体来说,我想知道如何获得断点左右线的回归截距和斜率。据我了解,下面输出中给出的截距是断点左侧的回归线,而 I(Days * (Days = 6.07)) 是断点右侧线的斜率,也不是两个斜率的差异。
library(lme4)
sleepstudy<-as.data.frame(sleepstudy)
Linear mixed model fit by REML ['lmerMod']
Formula: Reaction ~ I(Days * (Days < 6.07)) + I(Days * (Days >= 6.07)) + (1 | Subject)
Data: sleepstudy
REML criterion at convergence: 1784.369
Random effects:
Groups Name Variance Std.Dev.
Subject (Intercept) 1377.6 37.12
Residual 965.7 31.08
Number of obs: 180, groups: Subject, 18
Fixed effects:
Estimate Std. Error t value
(Intercept) 252.2663 10.0545 25.090
I(Days * (Days < 6.07)) 10.0754 1.3774 7.315
I(Days * (Days >= 6.07)) 10.4513 0.8077 12.940
Correlation of Fixed Effects:
(Intr) I(*(<6
I(D*(D<6.07 -0.409
I(D*(D>=6.0 -0.374 0.630
我试图通过消除随机效应来简化: 当 I() 包含在 lm 模型中时,斜率/截距与上面的混合模型非常相似,我仍然感到困惑。
mod_lm= 6.07)), data = sleepstudy) 摘要(mod_lm)
Call:
lm(formula = Reaction ~ I(Days * (Days < 6.07)) + I(Days * (Days >=
6.07)), data = sleepstudy)
Residuals:
Min 1Q Median 3Q Max
-111.581 -27.632 1.614 26.994 141.443
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 252.266 7.629 33.066 < 2e-16 ***
I(Days * (Days < 6.07)) 10.075 2.121 4.751 4.17e-06 ***
I(Days * (Days >= 6.07)) 10.451 1.243 8.405 1.37e-14 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 47.84 on 177 degrees of freedom
Multiple R-squared: 0.2867, Adjusted R-squared: 0.2786
F-statistic: 35.57 on 2 and 177 DF, p-value: 1.037e-13
但是,当 I() 从 lm 公式中删除时,我理解输出,并且结果是有意义的。
mod_lm= 6.07),数据 = sleepstudy) 摘要(mod_lm)
Call:
lm(formula = Reaction ~ Days * (Days < 6.07) + Days * (Days >=
6.07), data = sleepstudy)
Residuals:
Min 1Q Median 3Q Max
-114.214 -27.833 0.603 27.254 141.693
Coefficients: (2 not defined because of singularities)
Estimate Std. Error t value Pr(>|t|)
(Intercept) 207.008 64.211 3.224 0.00151 **
Days 16.050 7.985 2.010 0.04595 *
Days < 6.07TRUE 45.908 64.671 0.710 0.47872
Days >= 6.07TRUE NA NA NA NA
Days:Days < 6.07TRUE -6.125 8.265 -0.741 0.45965
Days:Days >= 6.07TRUE NA NA NA NA
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 47.91 on 176 degrees of freedom
Multiple R-squared: 0.2887, Adjusted R-squared: 0.2766
F-statistic: 23.81 on 3 and 176 DF, p-value: 5.526e-13
当 I() 项从 lmer 公式中删除时,lmer 将不会运行。
mod1<-lmer(Reaction ~ Days*(Days < 6.07) + Days*(Days>= 6.07) + (1|Subject), data = sleepstudy)
Error in lme4::lFormula(formula = Reaction ~ Days * (Days < 6.07) + Days * :
rank of X = 4 < ncol(X) = 6
有人可以告诉我如何在模型预测变量上使用 I() 时解释 lmer() 输出,或者告诉我如何在模型预测变量上不使用 I() 的情况下运行 lmer() 模型吗?
感谢任何可用的指导,因为我无法在 R 帮助页面上找到任何关于此的指导!
谢谢。
【问题讨论】:
-
我不明白为什么
lmer结果与I()对您没有意义。绘制数据,斜率确实非常一致,每天 +10 秒;第 6 天前 10.08 秒/天和第 6 天后 10.45 秒/天对我来说很有意义。相比之下,您的lm()拟合(除了过度参数化之外)表明斜率是 10,而Days<6.07并在过去 3 天中跃升至 16 - 这 可能 给定 (1)我们忽略随机效应,并且 (2) 我们允许斜率和截距随周期变化(这里的第一个模型假设两个周期的截距相同)。