转 简单多项回归

 例子:销售额x与流通费率y

xx = c(1.5,2.8,4.5,7.5,10.5,13.5,15.1,16.5,19.5,22.5,24.5,26.5)
yy = c(7.0,5.5,4.6,3.6,2.9,2.7,2.5,2.4,2.2,2.1,1.9,1.8)
tt<-data.frame(xx,yy)
names(tt)<-c("x","y")
plot(tt$x,tt$y)

# 直线回归(R2值不理想)
lm.1=lm(y~x,data=tt)
summary(lm.1)

# 多项式回归,假设用二次多项式方程y=a+bx+cx2
lm.2=lm(y~x+I(x^2),data=tt)
summary(lm.2)
plot(tt$x,tt$y)
lines(tt$x,fitted(lm.2))

# 对数法,y=a+blogx
lm.log=lm(y~log(x),data=tt)
summary(lm.log)
plot(tt$x,tt$y)
lines(tt$x,fitted(lm.log))

# 指数法,y=aebx
lm.exp=lm(log(y)~x,data=tt)
summary(lm.exp)
plot(tt$x,tt$y)
lines(tt$x,exp(fitted(lm.exp)))

# 幂函数法,y=axb
lm.pow=lm(log(y)~log(x),data=tt)
summary(lm.pow)
plot(tt$x,tt$y)
lines(tt$x,exp(fitted(lm.pow)))


对比以上各种拟合回归过程得出结论是幂函数法为最佳

猜你喜欢

转载自blog.csdn.net/scpcmoon/article/details/80554922