women数据集-多项式回归2021.3.18

2021-03-19  本文已影响0人  R语言_茶味先生

1. 多项式回归

多项式回归只有一个自变量和一个因变量,用于求解一元多次方程,比线性回归准确率更好,且项数越高理论上回归的也更准确,但是如果项数太高也会出现过拟合的情况。过拟合意思就是太局限于那些已知的点而绘制出的粗糙的曲线,这种模型在进行预测时往往十分不准确。怎么防止过拟合呢?应该用cross validation,交叉比对。


图0 欠拟合,拟合得当和过拟合

1.1 二次多项式回归

由线性回归可推出多项式回归,这样可以对数据拟合的更好。

fit2<-lm(weight~height+I(height^2),data=women)
#这里不可以写成weight~height+height^2,因为^在回归表达式里具有特殊的含义

用summary函数总结拟合结果

summary(fit2)

结果可以得出拟合的R方判定系数是99.95%,因此可以知道相较于线性回归拟合的更加准确。


图1 二次多项式回归
plot(women$height,women$weight)
abline(fit)#线性回归结果,只有线性回归才用ablines绘图,多项式回归用lines
lines(women$height,fitted(fit2),col="red")#二次多项式回归结果
图2 二次和线性的回归结果比较

1.2 三次次多项式回归

由二次回归可推出三次多项式回归,这样可以对数据拟合应该会更好。

fit3<-lm(weight~height+I(height^2)+I(height^3),data=women)

用summary函数总结拟合结果

summary(fit3)

结果可以得出拟合的R方判定系数是99.98%,因此可以知道相较于二次多项式回归拟合的更加准确。


图3 三次多项式回归
plot(women$height,women$weight)
abline(fit)#线性回归结果,只有线性回归才用ablines绘图,多项式回归用lines
lines(women$height,fitted(fit2),col="red")#二次多项式回归结果
lines(women$height,fitted(fit3),col="green")#三次多项式回归结果
图4 三次、二次和线性的回归结果比较
上一篇 下一篇

猜你喜欢

热点阅读