You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言polym()多元多项式回归输出解读及回归方程导出方法

系数后缀标识的含义

你看到的系数项末尾的点分标识,就是对应两个自变量的幂次,规则完全固定:

  • 调用polym(第一个自变量, 第二个自变量, degree = 阶数, raw = TRUE)拟合原始多项式时,每个非截距项的后缀为a.b格式,分别代表第一个自变量的a次幂、第二个自变量的b次幂
  • 你看到的后缀里的o是输出排版时数字0的显示讹变,代表对应变量的0次幂,也就是该项不包含这个变量
    对应你给出的几个系数项,匹配关系如下:
  • 1.o即1.0:对应项为 $Indy^1 * HI^0 = Indy$,是Indy的一次主效应项
  • 2.o即2.0:对应项为 $Indy^2 * HI^0 = Indy^2$,是Indy的二次主效应项
  • 1.1:对应项为 $Indy^1 * HI^1 = Indy*HI$,是两个变量的一阶交互项
可用回归方程的转换方法

首先注意:你贴的拟合代码末尾缺失了一个右括号,实际运行时需要补全为ploy_lm <- lm(df$SV ~ polym(df$Indy, df$HI, degree = 3, raw = TRUE), data = df)才能正常执行。
因为你设置了raw = TRUE,polym生成的是原始幂次基,不需要做正交基逆转换,直接按系数对应项拼接即可,步骤如下:

  • 提取模型所有系数:包括截距,以及所有polym生成的项的估计值。你目前只列出了4个系数(截距+3个多项式项),而3阶二元多项式完整包含所有幂次和≤3的项,总计10个系数,需要先把系数表的所有结果提取完整。
  • 逐项匹配幂次:把每个多项式项的后缀按前面说的规则拆成两个幂次,将o替换为0,明确每个项的变量构成。
  • 拼接方程:预测值$\hat{SV}$等于截距加上所有「系数值 * Indy^a * HI^b」的项之和。

按你目前给出的系数,可确定的方程片段为:

SV_预测值 = -8.903
           + 1.189 * Indy
           - 0.01651 * Indy^2
           + 0.0008247 * Indy * HI
           + 其余未列出的多项式项 * 对应系数

注意:如果没有设置raw=TRUE,使用polym默认的正交多项式基时,不能直接按上述方法拼接原始变量方程,必须用raw模式输出的系数才能直接导出到其他应用使用,否则预测结果会完全错误。

内容的提问来源于stack exchange,提问作者Koda

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 01:42:28