前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >R语言用多项式回归和ARIMA模型预测电力负荷时间序列数据

R语言用多项式回归和ARIMA模型预测电力负荷时间序列数据

作者头像
拓端
发布2024-04-01 13:45:37
580
发布2024-04-01 13:45:37
举报
文章被收录于专栏:拓端tecdat拓端tecdat

原文链接:http://tecdat.cn/?p=18037

根据我们对温度的预测,我们可以预测电力消耗。绘制电力消耗序列图:点击文末“阅读原文”获取完整代码数据)。

相关视频

代码语言:javascript
复制
plot(elect,type="l")

我们可以尝试一个非常简单的模型,其中日期Y_t的消耗量是时间,温度(以多项式形式表示)以及工业生产指数IPI_t的函数。

代码语言:javascript
复制
 lm(Load~1+Time+as.factor(Week)+poly(Temp,3)+Temp+IPI,data=elect )

温度影响的多项式函数来自下图(去除线性趋势后的消耗序列)


点击标题查阅往期内容

分位数回归、GAM样条曲线、指数平滑和SARIMA对电力负荷时间序列预测

左右滑动查看更多

01

02

03

04

我们还可以假设自回归形式,其中Y_ {t} 是Y_ {t-1} 的函数

代码语言:javascript
复制
lm(Load~1+Load1+Time+as.factor(Week)+
poly(Temp,3)+Temp1+IPI,data=elect

然后,我们可以尝试进行预测。第二个模型的问题是自回归部分。要预测Y_ {t + h} ,我们必须使用在t + h-1,Y ^ t + h − 1中所作的预测。

代码语言:javascript
复制

 
IPI = elect[futur,"IPI"])
for(t in 1:110){ 
 base_prevision[t+1,"Load1"] = p}

然后,我们可以预测 Y ^ t与观察值 Yt进行比较。

我们在夏季估计良好(我们预测了8月上半月的高峰),但我们低估了冬季的消耗量。

最后,我们可以忽略解释变量,而直接尝试建立时间序列模型。

代码语言:javascript
复制
plot(elect[passe,"Load"],type="l")

令人担忧的是该序列的异方差,其最小斜率低于最大斜率。

代码语言:javascript
复制
n=length(passe)="l")
m=aggregate(elect
by=list(as.f
points(sort((1
xM=((1:n)[vM])
regm=lm(m$x~xm,col="blue")
regM=lm(M$x~xM,col="blue")
abline(regm,lty=2)
abline(regM,lty=2)

经典(简单)的解决方案是取对数

代码语言:javascript
复制
plot(elect
plot(z,type="l")
B = data.frame(z=z,t=1:length

然后,我们必须消除线性趋势,以平稳序列

代码语言:javascript
复制
z = residuals(lm(z~t,data=B))

 
arima(Z,order = c(4,0,0), 
seasonal = list(order = c(1

第一个模型是稳定的,没有单位根。我们可以尝试引入季节性单位根

代码语言:javascript
复制
 arima(Z,order = c(0,0,0), 
seasonal = list(order = c(0,1,

最后,最后一个要简单一些

代码语言:javascript
复制
arima(Z,order = c(1,0,0), 
seasonal = list(order = c(2,0,0)))

然后,我们将所有预测存储在数据库中

然后将线性趋势添加到残差的预测中

代码语言:javascript
复制
reg = lm(z~t,data=B)

在这里,我们在 logY上建立了线性模型,即 logY〜N(μ,σ2),因此 E [Y] = exp(μ+σ2/ 2)

代码语言:javascript
复制
sqrt(predict(modelz1,n.ahead = 111)$se^2+sigma^2),
 

我们在这里假设两个模型(线性趋势和自回归模型的线性)的预测估计量是独立的,因此我们可以对方差项求和。另外,Y的预测是

代码语言:javascript
复制
 exp(DOz$z1+1/2*DONNseu$seu1^2),

我们比较三个模型的预测(与观察值)

我们与之前的预测进行比较,

代码语言:javascript
复制
lines(futur,base_previ
col="orange")

夏季预测会有所偏差,而冬季预测我们有所改善。


本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-03-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 拓端数据部落 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 原文链接:http://tecdat.cn/?p=18037
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档