断棒回归线性混合效应模型

问题描述

我正在尝试将损坏的棒模型拟合到纵向数据。我无法重现数据,这是前六个观察结果:

         pid    arm pday pardens  logpd
1 MOB2004_002     SP    0   40973 10.621
2 MOB2004_002     SP    1   91404 11.423
3 MOB2004_002     SP    2   14342  9.571
4 MOB2004_002     SP    3       0  0.000
5 MOB2004_002     SP    7       0  0.000
6 MOB2004_003 SP/ART    0   11428  9.344

以及显示每天“logpd”平均值的图(注意:它显然是非线性的,但我被特别要求使用断棒假设线条是线性的):

interaction plot

断点设置在第 2 天。我发现以下语法来自:

(1) bp1

(2)bp2

一个包括创建新参数,就像分段线性回归一样:

bp = 2
b1 <- function(x,bp) ifelse(x < bp,bp - x,0)
b2 <- function(x,x - bp)

#Mixed effects model with break point = 2

(mod <- lmer(logpd ~ arm * b1(pday,bp) * b2(pday,bp) + (b1(pday,bp) + b2(pday,bp) | pid),data = q1))
summary(mod)

Fixed effects:
                       Estimate Std. Error       df t value Pr(>|t|)    
(Intercept)              2.0071     0.1782 291.5626   11.26  < 2e-16 ***
armSP/ART               -2.0949     0.2520 289.3692   -8.31  3.7e-15 ***
b1(pday,bp)             3.3350     0.1103 305.7435   30.24  < 2e-16 ***
b2(pday,bp)            -0.3713     0.0488 438.5265   -7.61  1.7e-13 ***
armSP/ART:b1(pday,bp)   0.3178     0.1562 303.0042    2.03    0.043 *  
armSP/ART:b2(pday,bp)   0.3972     0.0691 437.3673    5.75  1.7e-08 ***

第二种使用指示变量:

mod.1 = lmer(logpd ~ arm * I(pday * (pday <= 2)) * I(pday* (pday > 2)) + (1 | pid),data = q1)
summary(mod.1)

Fixed effects:
                                 Estimate Std. Error        df t value Pr(>|t|)    
(Intercept)                        7.4796     0.2001 1051.4035   37.37  < 2e-16 ***
armSP/ART                         -1.4758     0.2845 1048.5079   -5.19  2.5e-07 ***
I(pday * (pday <= 2))             -2.4792     0.1469 1142.4166  -16.88  < 2e-16 ***
I(pday * (pday > 2))              -1.1930     0.0429 1151.6921  -27.78  < 2e-16 ***
armSP/ART:I(pday * (pday <= 2))   -0.5121     0.2076 1138.0203   -2.47   0.0138 *  
armSP/ART:I(pday * (pday > 2))     0.1609     0.0610 1148.1222    2.64   0.0084 ** 

结果非常不同,根据情节,第二个模型似乎是正确的。但我不明白为什么他们会如此不同?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)