0
点赞
收藏
分享

微信扫一扫

拓端tecdat|R语言分位数回归、GAM样条曲线、指数平滑和SARIMA对电力负荷时间序列预测

 

电力负荷预测是电网规划的基础,其水平的高低将直接影响电网规划质量的优劣。为了准确预测电力负荷,有必要进行建模。本文在R语言中使用分位数回归、GAM样条曲线、指数平滑和SARIMA模型对电力负荷时间序列预测并比较。

用电量

本文使用的数据是1996年至2010年之间的每周用电量数据,序列

拓端tecdat|R语言分位数回归、GAM样条曲线、指数平滑和SARIMA对电力负荷时间序列预测_分位数回归

  1.   
  2.  load ("Load.RData")
  3.  plot (ts( data = Load , start= 1996 , frequency = 52) )

拓端tecdat|R语言分位数回归、GAM样条曲线、指数平滑和SARIMA对电力负荷时间序列预测_R语言_02

用电量变量及其影响因素:
•星期几(离散)
•时间小时(离散或非参数)
•年(连续)

交互影响:
•日期和时间

•年份和时间

活动
•公共假期

温度对模型的影响:高温、低温和极冷温度
 

模型:
分段线性函数,
GAM模型中的样条曲线
 

数据探索

时间对电力负荷的影响

> plot ( NumWeek , Load )

拓端tecdat|R语言分位数回归、GAM样条曲线、指数平滑和SARIMA对电力负荷时间序列预测_分位数回归_03

温度对电力负荷的影响,(Tt,Yt)

> plot ( Temp , Load )

拓端tecdat|R语言分位数回归、GAM样条曲线、指数平滑和SARIMA对电力负荷时间序列预测_B样条曲线_04

负荷序列(Yt)的自相关的影响,

拓端tecdat|R语言分位数回归、GAM样条曲线、指数平滑和SARIMA对电力负荷时间序列预测_分位数回归_05

拓端tecdat|R语言分位数回归、GAM样条曲线、指数平滑和SARIMA对电力负荷时间序列预测_GAM_06

> acf (Load )

 

OLS与 中位数回归 

中位数回归通过单调变换是稳定的。

拓端tecdat|R语言分位数回归、GAM样条曲线、指数平滑和SARIMA对电力负荷时间序列预测_B样条曲线_07

拓端tecdat|R语言分位数回归、GAM样条曲线、指数平滑和SARIMA对电力负荷时间序列预测_GAM_08

拓端tecdat|R语言分位数回归、GAM样条曲线、指数平滑和SARIMA对电力负荷时间序列预测_B样条曲线_09

 

  1.  lm(y˜x, data =df)
  2.  lm(y˜x, data =df , tau =.5)

现在,中位数回归将始终有两个观察结果。

  1.   
  2.  which ( predict ( fit ))
  3.  21 46

拓端tecdat|R语言分位数回归、GAM样条曲线、指数平滑和SARIMA对电力负荷时间序列预测_R语言_10

 

拓端tecdat|R语言分位数回归、GAM样条曲线、指数平滑和SARIMA对电力负荷时间序列预测_时间序列_11

拓端tecdat|R语言分位数回归、GAM样条曲线、指数平滑和SARIMA对电力负荷时间序列预测_R语言_12

分位数回归和指数平滑

简单的指数平滑:

拓端tecdat|R语言分位数回归、GAM样条曲线、指数平滑和SARIMA对电力负荷时间序列预测_分位数回归_13

经典地,我们寻找使预测误差最小的α,即

拓端tecdat|R语言分位数回归、GAM样条曲线、指数平滑和SARIMA对电力负荷时间序列预测_B样条曲线_14

 

  1.   
  2.  X=as. numeric ( Nile )
  3.  SimpleSmooth = function (a){
  4.   
  5.  for (t in 2:T{L[t=a*X[t+(1 -a)*L[t -1
  6.   
  7.  }lines ( SimpleSmooth (.2) ,col =" red ")
  8.   

拓端tecdat|R语言分位数回归、GAM样条曲线、指数平滑和SARIMA对电力负荷时间序列预测_B样条曲线_15

  1.  V= function (a){
  2.   
  3.  for (t in 2:T){
  4.  L[t]=a*X[t]+(1 -a)*L[t -1]
  5.  erreur [t]=X[t]-L[t -1] }
  6.  return ( sum ( erreur ˆ2) )
  7.   
  8.  optim (.5 ,V)$ par
  9.  [1] 0.2464844
  10.  hw= HoltWinters (X, beta =FALSE
  11.  hw$ alpha
  12.  [1] 0.2465579

拓端tecdat|R语言分位数回归、GAM样条曲线、指数平滑和SARIMA对电力负荷时间序列预测_时间序列_16

我们可以考虑分位数误差

拓端tecdat|R语言分位数回归、GAM样条曲线、指数平滑和SARIMA对电力负荷时间序列预测_B样条曲线_17

  1.  HWtau = function ( tau ){
  2.  loss = function (e) e*(tau -(e< ;=0) *1)
  3.  V= function (a){
  4.   
  5.   
  6.  for (t in 2:T){
  7.  L[t]=a*X[t+(1 -a)*L[t -1
  8.  erreur [t=X[t-L[t -1
  9.  return ( sum ( loss ( erreur
  10.   
  11.  optim (.5 ,V)$ par
  12.   

拓端tecdat|R语言分位数回归、GAM样条曲线、指数平滑和SARIMA对电力负荷时间序列预测_分位数回归_18

  1.  plot (X, type ="b",cex =.6
  2.   
  3.  lines ( SimpleSmooth ( HWtau (.8,col=" blue ",
  4.  lwd =2)

拓端tecdat|R语言分位数回归、GAM样条曲线、指数平滑和SARIMA对电力负荷时间序列预测_R语言_19

拓端tecdat|R语言分位数回归、GAM样条曲线、指数平滑和SARIMA对电力负荷时间序列预测_B样条曲线_20

 

双指数平滑

我们考虑分位数误差

拓端tecdat|R语言分位数回归、GAM样条曲线、指数平滑和SARIMA对电力负荷时间序列预测_分位数回归_21

其中

拓端tecdat|R语言分位数回归、GAM样条曲线、指数平滑和SARIMA对电力负荷时间序列预测_B样条曲线_22


  1.   
  2.  hw= HoltWinters (X, gamma =FALSE ,l. start =X[1])
  3.  hw$ alpha
  4.  alpha
  5.  0.4223241
  6.  hw$ beta
  7.  beta
  8.  0.05233389
  9.   
  10.  DouSmo = function (a,b){
  11.   
  12.  for (t in 2:T){
  13.  L[t]=a*X[t+(1 -a*(L[t -1]+ B[t -1]
  14.  B[t]=b*(L[t]-L[t -1]) +(1 -b*B[t -1]
  15.  return (L+B)

 

拓端tecdat|R语言分位数回归、GAM样条曲线、指数平滑和SARIMA对电力负荷时间序列预测_时间序列_23

预测

数理统计建立在对概率模型参数的估计和假设检验的基础上。
统计中的预测:当模型拟合观测值时,它会提供良好的预测。
相反,我们使用没有出现过的场景,它使我们能够评估未来的主要趋势,而不是预测极端事件的能力。

 

预测变量的构造 

  1.   
  2.  plot (ts( data = Load $Load , start =
  3.  1996 , frequency = 52) ,col =" white "

拓端tecdat|R语言分位数回归、GAM样条曲线、指数平滑和SARIMA对电力负荷时间序列预测_B样条曲线_24

回归

  1.  plot (ts( data = Temp , start =
  2.  1996 , frequency = 52) ,
  3.  lines (ts( data = train $Temp , start =
  4.  1996 , frequency = 52) )
  5.  lines (ts( data = test $Temp , start =
  6.  1996+620 /52, frequency = 52)

 

拓端tecdat|R语言分位数回归、GAM样条曲线、指数平滑和SARIMA对电力负荷时间序列预测_分位数回归_25


 SARIMA模型,s = 52

拓端tecdat|R语言分位数回归、GAM样条曲线、指数平滑和SARIMA对电力负荷时间序列预测_R语言_26

  1.   
  2.  ARIMA = arima (z, order =c(1 ,0 ,0 ,seasonal =list ( order =c(0 ,1 ,0 ,period =52
  3.  plot ( forecast (ARIMA ,h =112 )

拓端tecdat|R语言分位数回归、GAM样条曲线、指数平滑和SARIMA对电力负荷时间序列预测_分位数回归_27

拓端tecdat|R语言分位数回归、GAM样条曲线、指数平滑和SARIMA对电力负荷时间序列预测_B样条曲线_28

举报

相关推荐

0 条评论