如何在R中获取多元多项式回归模型的方程?
解读多元二次多项式回归模型方程
系数命名规则解析
你用polym(..., raw=TRUE)生成的二次多项式,每个系数后缀的五个数字依次对应自变量disp、hp、drat、wt、qsec的次数,比如:
1.0.0.0.0→disp^1(一次项)2.0.0.0.0→disp^2(二次项)1.1.0.0.0→disp^1 * hp^1(交互项)- 以此类推,五个数字的和≤2(因为degree=2)
完整模型方程
结合输出的Estimate值,模型方程为:
mpg = -132.0 + 0.3381*disp + 0.0005522*disp² + 0.02575*hp - 0.0002318*disp*hp - 0.0003833*hp² + 82.39*drat - 0.04733*disp*drat + 0.04463*hp*drat - 7.873*drat² -25.80*wt -0.1625*disp*wt +0.1435*hp*wt -4.472*drat*wt +7.614*wt² +2.376*qsec +0.006842*disp*qsec -0.02991*hp*qsec -0.5645*drat*qsec +0.3352*wt*qsec +0.02492*qsec²
优化建议:让系数名更直观
如果想直接在summary里看到清晰的项名,无需解析数字后缀,可以手动写出所有二次项和交互项,代码如下:
# 生成数据 df <- subset(mtcars, select = c(mpg, disp, hp, drat, wt, qsec)) # 手动构建二次多项式回归 poly_reg <- lm( mpg ~ disp + I(disp^2) + hp + I(hp^2) + drat + I(drat^2) + wt + I(wt^2) + qsec + I(qsec^2) + disp:hp + disp:drat + disp:wt + disp:qsec + hp:drat + hp:wt + hp:qsec + drat:wt + drat:qsec + wt:qsec, data = df ) summary(poly_reg)
这样输出的系数名会直接显示disp、I(disp^2)、disp:hp等,可读性更强。
内容的提问来源于stack exchange,提问作者UseR10085
相关产品推荐
相关产品推荐

