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 三次、二次和线性的回归结果比较
网友评论