我有一个三段式线性回归模型,我在 R 中运行它来模拟大量人群中随年龄增长的体重。我的数据集称为 hdata。通过遍历所有断点组合的迭代过程,我找到了与最低残差平方误差模型相关的两个断点。我的分段回归代码,指定了两个断点:
piecewise=lm(hdata$weight ~ hdata$age*(hdata$age < 0.7) + hdata$age*(hdata$age>=0.7 & hdata$age<2) + hdata$age*(hdata$age>2))
当我看:
summary(piecewise)
我得到以下输出:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 1723.012 210.042 8.203 3.67e-16 ***
hdata$age 18.494 1.089 16.975 < 2e-16 ***
hdata$age < 0.7TRUE -1690.051 210.476 -8.030 1.48e-15 ***
hdata$age >= 0.7 & hdata$age < 2TRUE -721.200 213.882 -3.372 0.000758 ***
hdata$age > 2TRUE 478.094 210.194 2.275 0.023016 *
hdata$age:hdata$age < 0.7TRUE 2022.896 45.477 44.481 < 2e-16 ***
hdata$age:hdata$age >= 0.7 & hdata$age < 2TRUE 603.453 30.532 19.764 < 2e-16 ***
hdata$age:hdata$age > 2TRUE NA NA NA NA
根据这些估计,我想计算三个截距,以及与模型相关的三个斜率,但我不知道该怎么做。为简单起见,我称与 (Intercept) Est1 相关的估计,与 hdata$age Est2 相关的估计,依此类推……直到 Est7。我认为第一个截距应该是 Est1 + Est3,第一个斜率应该是 Est2 + Est6,但我可能错了,仍然不知道如何计算其他截距和斜率。任何帮助,将不胜感激。