Python电力负荷:ARIMA、LSTM神经网络时间序列预测分析

任务/目标

本课题的数据分析对象是电力在2011-2014年的370个客户端的耗电数据,根据预测负荷可以安排发电厂发电机组的启停,降低储备容量的浪费,节约成本。

数据源准备

负荷预测是用历史负荷建立模型来预测未来负荷的方法,因此历史数据收集的数量、质量直接决定了负荷预测的准确性。所以在负荷预测前,需要收集大量的历史负荷数据、天气数据等。这些数据由于一些因素可能会造成数据的缺失,需要利用一些方法去填补缺失值,提高负荷预测的精确度。

本项目采用均值填补法,找到所有有缺失值的列,用各列的均值填充缺失值。 

数据分析

通过曲线类图像,以特定时间周期所统计的负荷值为纵坐标来画出负荷/时间的关系曲线,呈现负荷的大小及发展趋势。例如年、月、季、天等指标。

划分训练集和测试集

对样本集拆分成训练集和测试集

values = reframed.values

n_train_time = 365*24*3

train = values[:n_train_time, :]

test = values[n_train_time:, :]

考虑到最终模型会预测将来的某时间段的销量,为了更真实的测试模型效果,以时间来切分训练集和测试集。具体做法如下:假设我们有2011-2014的客户端耗电数据。以2011 ~ 2013的数据作为训练,以2013 ~ 2014的数据作为测试。

建模

LSTM 模型, 时间序列预测分析就是利用过去一段时间内某事件时间的特征来预测未来一段时间内该事件的特征,将问题转化为监督学习问题。将特征进行规范化、归一化,进而搭建网络模型、训练网络。

ARIMA  一般应用在股票和电商销量领域

该模型用于使用观察值和滞后观察值的移动平均模型残差间的依赖关系,采用了拟合ARIMA(5,1,0)模型,将自回归的滞后值设为5,使用1的差分阶数使时间序列平稳,使用0的移动平均模型。

在此案例中,运用2种方法预测电力负荷,其可视化图形如下:

ARIMA模型

图片

LSTM模型

图片

可以看出,预测值的趋势已经基本与真实趋势保持一致,但是在预测期较长的区间段,其预测值之间的差别较大。

关于分析师

在此对Eileen对本文所作的贡献表示诚挚感谢,她专注数据处理、数据分析、数据预测领域。擅长Python、数据分析。

发布者:股市刺客,转载请注明出处:https://www.95sca.cn/archives/109275
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!

(0)
股市刺客的头像股市刺客
上一篇 1小时前
下一篇 1小时前

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注