关于数据挖掘:R语言分位数回归GAM样条曲线指数平滑和SARIMA对电力负荷时间序列预测

39次阅读

共计 2260 个字符,预计需要花费 6 分钟才能阅读完成。

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

原文出处:拓端数据部落公众号

电力负荷预测是电网布局的根底,其程度的高下将间接影响电网布局品质的优劣。为了精确预测电力负荷,有必要进行建模。本文在 R 语言中应用分位数回归、GAM 样条曲线、指数平滑和 SARIMA 模型对电力负荷工夫序列预测并比拟。

用电量

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

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

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

交互影响:
•日期和工夫

•年份和工夫

流动
•公共假期

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

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

数据摸索

工夫对电力负荷的影响

> plot (NumWeek , Load)

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

> plot (Temp , Load)

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

> acf (Load)

 

OLS 与 中位数回归

 

中位数回归通过枯燥变换是稳固的。

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

当初,中位数回归将始终有两个察看后果。

which (predict ( fit))
21 46

分位数回归和指数平滑

简略的指数平滑:

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

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

V= function (a){for (t in 2:T){L\[t\]=a\*X\[t\]+(1 -a)\*L\[t -1\]
erreur \[t\]=X\[t\]-L\[t -1\] }
return (sum ( erreur ˆ2) )

optim (.5 ,V)$ par
\[1\] 0.2464844
hw= HoltWinters (X, beta =FALSE
hw$ alpha
\[1\] 0.2465579

咱们能够思考分位数误差

HWtau = function (tau){loss = function (e) e*(tau -(e< ;=0) *1)
V= function (a){for (t in 2:T){L\[t\]=a\*X\[t+(1 -a)\*L\[t -1
erreur \[t=X\[t-L\[t -1
return ( sum ( loss ( erreur

optim (.5 ,V)$ par

plot (X, type ="b",cex =.6 

lines ( SimpleSmooth ( HWtau (.8,col="blue",
lwd =2)

双指数平滑

咱们思考分位数误差

其中

hw= HoltWinters (X, gamma =FALSE ,l. start =X\[1\])
hw$ alpha
alpha
0.4223241
hw$ beta
beta
0.05233389

DouSmo = function (a,b){for (t in 2:T){L\[t\]=a\*X\[t+(1 -a\*(L\[t -1\]+ B\[t -1\]
B\[t\]=b*(L\[t\]-L\[t -1\]) +(1 -b*B\[t -1\] 
return (L+B)

 

预测

数理统计建设在对概率模型参数的预计和假设检验的根底上。
统计中的预测:当模型拟合观测值时,它会提供良好的预测。
相同,咱们应用没有呈现过的场景,它使咱们可能评估将来的次要趋势,而不是预测极其事件的能力。

 

预测变量的结构

 

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

回归

plot (ts( data = Temp , start =
1996 , frequency = 52) ,
lines (ts( data = train $Temp , start =
1996 , frequency = 52) )
lines (ts( data = test $Temp , start =
1996+620 /52, frequency = 52)


 

SARIMA 模型,s = 52

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


最受欢迎的见解

1. 在 python 中应用 lstm 和 pytorch 进行工夫序列预测

2.python 中利用长短期记忆模型 lstm 进行工夫序列预测剖析

3. 应用 r 语言进行工夫序列(arima,指数平滑)剖析

4.r 语言多元 copula-garch- 模型工夫序列预测

5.r 语言 copulas 和金融工夫序列案例

6. 应用 r 语言随机稳定模型 sv 解决工夫序列中的随机稳定

7.r 语言工夫序列 tar 阈值自回归模型

8.r 语言 k -shape 工夫序列聚类办法对股票价格工夫序列聚类

9.python3 用 arima 模型进行工夫序列预测

正文完
 0