如何解释R中三段线性回归的输出
我有一个三段式线性回归模型,我用R来模拟大量人群中随年龄增长的体重。我的数据集称为hdata。通过一个贯穿所有断点组合的迭代过程,我找到了与最小残差平方误差模型相关的两个断点。我的分段回归的代码(指定了两个断点)是:如何解释R中三段线性回归的输出,r,regression,linear-regression,piecewise,R,Regression,Linear Regression,Piecewise,我有一个三段式线性回归模型,我用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))
piecewise=lm(hdata$weight ~ hdata$age*(hdata$age < 0.7) + hdata$age*(hdata$age>=0.7 & hdata$age<2) + hdata$age*(hdata$age>2))
我得到以下输出:
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,但我可能错了,仍然不知道如何计算其他截距和斜率。任何帮助都将不胜感激。我强烈建议您看看分节包装。罗兰:非常感谢。事实上,我最初尝试过这个软件包,但发现结果在很大程度上取决于它要求我提供的初始估计值——稍微修改一下,结果会大不相同。这就是为什么我想试着在没有那个软件包的情况下运行它。你能提供一个解决方案吗?我担心您构建的模型不是分段连续的,也就是说,值可能会在断点处跳转,我猜这是不可取的。如果你在分段软件包方面遇到问题,这也会让我担心你的问题在某种程度上是不稳定的…@BenBolker:我没有考虑我没有使它连续的事实-你可能是对的,我需要解决这个问题。因为我的数据集相当大,所以我只是想知道如何为这做一个可复制的例子。我会尽快提供一个。
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