python用电预测_Python时间序列预测实战(电力负荷预测)

本文介绍了使用Python进行电力负荷预测的实战案例,通过时间序列分析,包括数据预处理、平稳性检测、ARIMA模型选择与建模,以及预测结果的可视化。针对非平稳时间序列,采用差分处理使其平稳,并利用贝叶斯信息准则(BIC)确定ARIMA模型的最优阶数。最后,结合季节性因素、趋势因素和随机因素的预测,生成了整体预测结果。
摘要由CSDN通过智能技术生成

这是我之前工作做的一个项目

import os

import pandas as pd

import numpy

path = "E:/工作/负荷预测/历史负荷数据-每天" #文件夹目录

files= os.listdir(path) #得到文件夹下的所有文件名称

data_history = pd.DataFrame()

for file in files: #遍历文件夹

if not os.path.isdir(file): #判断是否是文件夹,不是文件夹才打开

f = open(path+"/"+file)

try:

df = pd.read_csv(f)

except UnicodeDecodeError:

print(path+"/"+file)

data_history = pd.concat([data_history,df],ignore_index=True)

data_history = data_history.sort_values(by=['bs','time'])

import sys

import warnings

from pandas.plotting import register_matplotlib_converters

import numpy as np

from datetime import datetime,timedelta

from statsmodels.tsa.arima_model import ARIMA

from statsmodels.tsa.arima_model import ARMA

import statsmodels.api as sm

from sklearn.metrics import mean_squared_error

import matplotlib.pylab as plt

import seaborn as sea

%matplotlib inline

from matplotlib.pylab import rcParams

#绘制图像的背景长高

rcParams['figure.figsize'] = 50,22

#用来正常显示中文标签

rcParams['font.sans-serif']=['SimHei']

#用来正常显示负号

rcParams['axes.unicode_minus'] = False

#所有警告只出现一次,避免警告占用太多输出页面,在进行循环时这项设置尤其有用

warnings.filterwarnings(action='once')

data_history = data_history.pivot(index='bs',columns='time',values='value')

#很多台区在2017-08-14之前都存在负荷空值,要把这些时间段去掉

data_history = data_history.iloc[:,41:]

#将索引变为列,方便之后格式转换

data_time_series.index.names=['time_series']

data_time_series=data_time_series.reset_index()

data_time_series.head()

#将含有时序数据的字段转化为datetime64格式

# dateparse = lambda dates: pd.datetime.strptime(dates, '%Y-%m-%d')

# dateparse('2017/08/01')

#data_time_series['time_series'] = data_time_series['time_series'].apply(dateparse)

date_index = pd.date_range('14/8/2017', '29/8/2019',freq='D')

#检验我们截取的历史负荷的这个时间段是否有遗漏的日期

print(date_index[~date_index.isin(data_time_series['time_series'])])

#将日期索引用datetime64格式的日期代替(python的日期格式我也不太懂,但是用这种格式的日期没

  • 4
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值