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

Posted tecdat

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了R语言用多项式回归和ARIMA模型预测电力负荷时间序列数据相关的知识,希望对你有一定的参考价值。

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

 

根据我们对温度的预测,我们可以预测电力消耗。绘制电力消耗序列图:

plot(elect,type="l")

 

技术图片

 

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

 lm(Load~1+Time+as.factor(Week)+poly(Temp,3)+Temp+IPI,data=elect )

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

技术图片

 

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

  1.  
    lm(Load~1+Load1+Time+as.factor(Week)+
  2.  
    poly(Temp,3)+Temp1+IPI,data=elect

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

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

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

 

技术图片

 

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

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

plot(elect[passe,"Load"],type="l")

 

技术图片

 

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

  1.  
    n=length(passe)="l")
  2.  
    m=aggregate(elect
  3.  
    by=list(as.f
  4.  
    points(sort((1
  5.  
    xM=((1:n)[vM])
  6.  
    regm=lm(m$x~xm,col="blue")
  7.  
    regM=lm(M$x~xM,col="blue")
  8.  
    abline(regm,lty=2)
  9.  
    abline(regM,lty=2)

 

技术图片

 

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

  1.  
    plot(elect
  2.  
    plot(z,type="l")
  3.  
    B = data.frame(z=z,t=1:length

 

技术图片

 

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

  1.  
    z = residuals(lm(z~t,data=B))
  2.  
     
  3.  
     
  4.  
    arima(Z,order = c(4,0,0),
  5.  
    seasonal = list(order = c(1

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

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

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

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

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

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

reg = lm(z~t,data=B)

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

sqrt(predict(modelz1,n.ahead = 111)$se^2+sigma^2),
 

 

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

 exp(DOz$z1+1/2*DONNseu$seu1^2),

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

 

技术图片

 

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

  1.  
    lines(futur,base_previ
  2.  
    col="orange")

 

技术图片

 

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


技术图片

最受欢迎的见解

1.用SPSS估计HLM层次线性模型模型

2.R语言线性判别分析(LDA),二次判别分析(QDA)和正则判别分析(RDA)

3.基于R语言的lmer混合线性回归模型

4.R语言Gibbs抽样的贝叶斯简单线性回归仿真分析

5.在r语言中使用GAM(广义相加模型)进行电力负荷时间序列分析

6.使用SAS,Stata,HLM,R,SPSS和Mplus的分层线性模型HLM

7.R语言中的岭回归、套索回归、主成分回归:线性模型选择和正则化

8.R语言用线性回归模型预测空气质量臭氧数据

9.R语言分层线性模型案例请选中你要保存的内容,粘贴到此文本框

以上是关于R语言用多项式回归和ARIMA模型预测电力负荷时间序列数据的主要内容,如果未能解决你的问题,请参考以下文章

R语言实战应用精讲50篇(二十)-R语言时间序列预测模型:ARIMA vs KNN

R语言实战应用精讲50篇(二十)-R语言时间序列预测模型:ARIMA vs KNN

R语言的ARIMA模型预测

拓端tecdat|R语言编程指导用线性模型进行臭氧预测: 加权泊松回归,普通最小二乘,加权负二项式模型,多重插补缺失值

用Python和ARIMA模型进行股价时间序列预测(A0001ECON17083101v001)

如何转成libsvm支持的数据格式并做回归分析