节假日电力负荷预测之点对点倍比法

使用点对点倍比法进行特殊值预测


要预测2016.12.25圣诞节的电力负荷,假设现在是距离12.25那天还有 天的某一天,选取这一天的前 n 天作为计算数据,在2015年也同样选取n天。

应用倍比法公式
计算出平滑系数;
然后根据2015年圣诞节的电力负荷应用公式

预测出2016年圣诞节的电力负荷。
from __future__ import print_function
import numpy as np
from scipy import stats
import pandas as pd
import matplotlib.pyplot as plt

datas=pd.read_csv('C:\\Users\\nsw.csv')
index=pd.date_range('1/1/2015','7/19/2017',freq='30min')
index1=index[1:]
dta=pd.Series(datas['TOTALDEMAND'])
dta.index=pd.Index(pd.date_range('1/1/2015','7/19/2017',freq='30min')[1:])

import time
holi='2016/12/25 0:00'
a=time.strptime(holi, '%Y/%m/%d %H:%M' )
print(a)

import datetime
d = datetime.datetime(* a[:6])
print(d)

index2=pd.date_range('12/10/2016','12/17/2016',freq='30min')
index3=pd.date_range('12/4/2015','12/11/2015',freq='30min')

index4=pd.date_range('12/25/2016','12/26/2016',freq='30min')

B=0.5 #初始β为0.5
rs=[]
for i in range(0,48):#遍历一天的每一时刻
    A1=B*(1-B)**5*dta[index2[i]]+B*(1-B)**4*dta[index2[i+48]]+B*(1-B)**3*dta[index2[i+48*2]]+B*(1-B)**2*dta[index2[i+48*3]]+B*(1-B)*dta[index2[i+48*4]]+B*dta[index2[i+48*5]]
    A2=B*(1-B)**5*dta[index3[i]]+B*(1-B)**4*dta[index3[i+48]]+B*(1-B)**3*dta[index3[i+48*2]]+B*(1-B)**2*dta[index3[i+48*3]]+B*(1-B)*dta[index3[i+48*4]]+B*dta[index3[i+48*5]]
    Pre=(A1/A2)*dta[index4[i]]
    rs.append(Pre)

predict=pd.DataFrame({'predict':rs})
pred=pd.Series(predict['predict'])
pred.index=pd.Index(index4[0:48])
pred

mis=0
for i in range(0,48) :
        mis+=abs((dta[index4[i]]-pred[index4[i]])/dta[index4[i]])
mis=mis/48
print(mis)

plt.plot(pred, 'r--', dta[index4[0:47]], 'b--')
plt.show()



  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值