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

原文链接:http://tecdat.cn/?p=18359 原文出处:拓端数据部落公众号 电力负荷预测是电网规划的基础,其水平的高低将直接影响电网规划质量的优劣。为了准确预测电力负荷,有必要进行建模。本文在R语言中使用分位数回归、GAM样条曲线、指数平滑和SARIMA模型对电力负荷时间序列预测并比较。
用电量 本文使用的数据是1996年至2010年之间的每周用电量数据,序列R语言分位数回归、GAM样条曲线、指数平滑和SARIMA对电力负荷时间序列预测
文章图片

load ("Load.RData") plot (ts( data = https://www.it610.com/article/Load , start= 1996 , frequency = 52) )

R语言分位数回归、GAM样条曲线、指数平滑和SARIMA对电力负荷时间序列预测
文章图片

用电量变量及其影响因素:
?星期几(离散)
?时间小时(离散或非参数)
?年(连续)
交互影响:
?日期和时间
?年份和时间
活动
?公共假期
温度对模型的影响:高温、低温和极冷温度

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

数据探索 时间对电力负荷的影响
> plot ( NumWeek , Load )

R语言分位数回归、GAM样条曲线、指数平滑和SARIMA对电力负荷时间序列预测
文章图片

温度对电力负荷的影响,(Tt,Yt)
> plot ( Temp , Load )

R语言分位数回归、GAM样条曲线、指数平滑和SARIMA对电力负荷时间序列预测
文章图片

负荷序列(Yt)的自相关的影响,
R语言分位数回归、GAM样条曲线、指数平滑和SARIMA对电力负荷时间序列预测
文章图片

R语言分位数回归、GAM样条曲线、指数平滑和SARIMA对电力负荷时间序列预测
文章图片

> acf (Load )


OLS与 中位数回归
中位数回归通过单调变换是稳定的。
R语言分位数回归、GAM样条曲线、指数平滑和SARIMA对电力负荷时间序列预测
文章图片

R语言分位数回归、GAM样条曲线、指数平滑和SARIMA对电力负荷时间序列预测
文章图片

R语言分位数回归、GAM样条曲线、指数平滑和SARIMA对电力负荷时间序列预测
文章图片

lm(y?x, data =https://www.it610.com/article/df) lm(y?x, data =df , tau =.5)

现在,中位数回归将始终有两个观察结果。
which ( predict ( fit )) 21 46

R语言分位数回归、GAM样条曲线、指数平滑和SARIMA对电力负荷时间序列预测
文章图片

R语言分位数回归、GAM样条曲线、指数平滑和SARIMA对电力负荷时间序列预测
文章图片

R语言分位数回归、GAM样条曲线、指数平滑和SARIMA对电力负荷时间序列预测
文章图片

分位数回归和指数平滑 简单的指数平滑:
R语言分位数回归、GAM样条曲线、指数平滑和SARIMA对电力负荷时间序列预测
文章图片

经典地,我们寻找使预测误差最小的α,即
R语言分位数回归、GAM样条曲线、指数平滑和SARIMA对电力负荷时间序列预测
文章图片

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 ")

R语言分位数回归、GAM样条曲线、指数平滑和SARIMA对电力负荷时间序列预测
文章图片

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

R语言分位数回归、GAM样条曲线、指数平滑和SARIMA对电力负荷时间序列预测
文章图片

我们可以考虑分位数误差
R语言分位数回归、GAM样条曲线、指数平滑和SARIMA对电力负荷时间序列预测
文章图片

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 ( erreuroptim (.5 ,V)$ par

R语言分位数回归、GAM样条曲线、指数平滑和SARIMA对电力负荷时间序列预测
文章图片

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

R语言分位数回归、GAM样条曲线、指数平滑和SARIMA对电力负荷时间序列预测
文章图片

R语言分位数回归、GAM样条曲线、指数平滑和SARIMA对电力负荷时间序列预测
文章图片

双指数平滑
R语言分位数回归、GAM样条曲线、指数平滑和SARIMA对电力负荷时间序列预测
文章图片
我们考虑分位数误差
R语言分位数回归、GAM样条曲线、指数平滑和SARIMA对电力负荷时间序列预测
文章图片

其中R语言分位数回归、GAM样条曲线、指数平滑和SARIMA对电力负荷时间序列预测
文章图片

hw= HoltWinters (X, gamma =FALSE ,l. start =X\[1\]) hw$ alpha alpha 0.4223241 hw$ beta beta 0.05233389DouSmo = 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)


R语言分位数回归、GAM样条曲线、指数平滑和SARIMA对电力负荷时间序列预测
文章图片

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

预测变量的构造
plot (ts( data = https://www.it610.com/article/Load $Load , start = 1996 , frequency = 52) ,col =" white "

R语言分位数回归、GAM样条曲线、指数平滑和SARIMA对电力负荷时间序列预测
文章图片

回归
plot (ts( data = https://www.it610.com/article/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)

R语言分位数回归、GAM样条曲线、指数平滑和SARIMA对电力负荷时间序列预测
文章图片


SARIMA模型,s = 52
R语言分位数回归、GAM样条曲线、指数平滑和SARIMA对电力负荷时间序列预测
文章图片

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

R语言分位数回归、GAM样条曲线、指数平滑和SARIMA对电力负荷时间序列预测
文章图片

R语言分位数回归、GAM样条曲线、指数平滑和SARIMA对电力负荷时间序列预测
文章图片

最受欢迎的见解
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时间序列聚类方法对股票价格时间序列聚类
【R语言分位数回归、GAM样条曲线、指数平滑和SARIMA对电力负荷时间序列预测】9.python3用arima模型进行时间序列预测

    推荐阅读