前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >分位数回归、GAM样条曲线、指数平滑和SARIMA对电力负荷时间序列预测

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

作者头像
拓端
发布于 2022-03-05 02:41:44
发布于 2022-03-05 02:41:44
81700
代码可运行
举报
文章被收录于专栏:拓端tecdat拓端tecdat
运行总次数:0
代码可运行

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

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

用电量

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
load ("Load.RData")
plot (ts( data = Load , start= 1996 , frequency = 52) )

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

交互影响: •日期和时间

•年份和时间

活动 •公共假期

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

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

数据探索

时间对电力负荷的影响

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
> plot ( NumWeek , Load )

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
> plot ( Temp , Load )

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
> acf (Load )

OLS与 中位数回归

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
lm(y˜x, data =df)
lm(y˜x, data =df , tau =.5)

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
which ( predict ( fit ))
21 46

分位数回归和指数平滑

简单的指数平滑:

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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 ")
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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

我们可以考虑分位数误差

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
plot (X, type ="b",cex =.6 

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

双指数平滑

我们考虑分位数误差

其中

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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)

预测

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

预测变量的构造

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
plot (ts( data = Load $Load , start =
1996 , frequency = 52) ,col =" white "

回归

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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对电力负荷时间序列预测》

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 原文链接:http://tecdat.cn/?p=18359
  • 用电量
  • 数据探索
  • 分位数回归和指数平滑
  • 预测
  • 回归
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档