可视为线性回归的曲线回归(R语言)

用R软件进行计算,说闲话出原始数据对自变量的散点图,代码实现如下:

data9.1<-read.csv("C:/Users/Administrator/Desktop/data9.1.csv",head=TRUE)
attach(data9.1)
plot(t,y)

输出结果为:
在这里插入图片描述
  从散点图中看到, y y y随时间 t t t的变化趋势大致为指数函数形式。另外,易知复合函数 y = b 0 b 1 t y=b_{0}b{1}^{t} y=b0b1t,增长曲线 y = e x p ( b 0 + b 1 t ) y=exp(b_{0}+b_{1}t) y=exp(b0+b1t),指数函数 y = b 0 e x p ( b 1 t ) y=b_{0}exp(b_{1}t) y=b0exp(b1t)这三个曲线方程实际上是等价的。在本例中,我们取复合函数 y = b 0 b 1 t y=b_{0}b{1}^{t} y=b0b1t
  以时间 t t t为自变量,对数据进行拟合,我们考虑建立简单线性回归模型和复合函数回归模型,其中复合函数 y = b 0 b 1 t y=b_{0}b{1}^{t} y=b0b1t是可线性化的,只需要对式子两边同时取对数函数即可将其化为 l n y lny lny关于 t t t的线性函数。

代码实现如下:

data9.1<-read.csv("C:/Users/Administrator/Desktop/data9.1.csv",head=TRUE)
attach(data9.1)
lm9.1<-lm(y~t,data9.1)
summary(lm9.1)
anova(lm9.1)

ly<-log(y)
lm9.12<-lm(ly~t)
summary(lm9.12)
anova(lm9.12)

plot(data9.1)
lines(data9.1$t,exp(predict(lm9.12)),col='red')
abline(lm9.1)
detach(data9.1)

输出结果如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
  有输出结果可以知道,线性回归的决定系数 R 2 = 0.8612 R^{2}=0.8612 R2=0.8612,残差平方和 S S E = 8.436 e + 10 SSE=8.436e+10 SSE=8.436e+10;复合函数回归的决定系数 R 2 = 0.9844 R^{2}=0.9844 R2=0.9844,残差平方和 S S E = 0.3046 SSE=0.3046 SSE=0.3046是按线性化后的回归模型计算的,两者的残差不能直接比较。如果需要进行比较,可以先存储符复合函数的预测值 y ^ = e x p ( y ^ ′ ) \hat{y}=exp(\hat{y}&#x27;) y^=exp(y^),计算残差序列,进而计算得到复合函数的回归残差平方和。
  
  为了直观的说明两个回归的优劣,我们给出模型的拟合图:
在这里插入图片描述
  可见复合函数的回归更加符合实际的情况,由此得到回归方程为:
  
   y ^ = 24859.62 × ( 1.148 ) t \hat{y}=24859.62\times(1.148)^{t} y^=24859.62×(1.148)t

  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值