基于时间序列缺失数据的GAM 短期电力负荷预测
2022-04-06刘佳星
刘佳星
(齐齐哈尔大学,黑龙江 齐齐哈尔 161006)
1 概述
负荷预测是电力系统运行和规划的基础。精确的负荷预测可以确保电力系统安全可靠运行、降低发电成本,增加经济效益[1]。根据其预测范围,大致分为三类:短期负荷预测(少于一周),中期负荷预测(一周至一个月)和长期负荷预测(超过一个月)[2]。其中短期负荷预测是电力系统资源调度任务的重要组成部分[3-4]。
用电功率数据具有时序特性[5],而广义相加模型(Generalized Additive Model,GAM)具有允许在预先未知因变量与自变量之间关系的情况下使用非线性平滑项来拟合模型这一特点,适合分析时间序列数据。
在实际生产生活中,数据采集和传输过程中常出现一些不可控因素,例如:网络传输受阻、传感器空采样和存储器损坏等机械故障导致数据缺失[6-7]。
鉴于此,本文在R 语言软件里首先填补时间序列缺失数据,然后将广义相加模型应用到电力负荷时间序列中进行短期负荷预测,最后可视化分析,为供电系统和和用电单位提供决策支持。
2 填补时间序列数据
国内外诸多学者对缺失值进行研究。根据Rubin 等人的研究[8-9],存在三种主要的数据缺失类型:完全随机缺失(Missing Completely At Random)、随机缺失(Missing at Random)和非随机缺失(Missing At Non-Random)。大多数研究都假设缺失模式值是MAR 和MCAR[10-11],在这两种情况下可以根据其出现情况删除缺失值所在行或列的数据,亦或通过已知变量对缺失值进行估计。而在MCAR 情况下,直接删除可能会导致预测出现偏差。
不完整的数据会增加数据挖掘的难度[12]:第一,缺失值的存在使得可用数据减少、时间关联性被破坏;第二,数据量的减少会造成数据挖掘过程陷入混乱、相关模型的预测结果存在偏差,同时丢失重要的属性特征[13-14]。
对于缺失值的处理方法大体分为三类(见图1)。忽略和直接删除缺失值这两种方法需要视情况而定。但是如果数据集的缺失比例很小,删除方法不仅可取,甚至在有些条件下是更优的选择[15]。第三种方式是估算,再将其细分为五小类,列举出若干填补算法,涉及统计学方法和机器学习方法。本文将运用分类回归树(Classification and Regression Tree)方法进行插补。
图1 缺失值处理方法分类
在R 语言平台上使用rpart()通常分两步建立树:(1)生成一棵较大的树;(2)通过统计估计删除部分节点来对树修剪。对于数值型变量设定method=anova 回归树,而对于因子型变量,rpart 函数设定method=class 分类树。当满足:(1)偏差的减少小于某一个给定界限值时;(2)当结点中的样本数量小于某个给定界限时;(3)当树的深度大于一个给定的界限值这三个条件时,结束树的构建。
3 GAM 算法描述
广义相加模型是广义线性建模的半参数扩展[16],它允许对具有非正态误差分布的自变量进行建模,可以通过允许每个预测变量的非线性函数来预测给定预测变量的非线性响应变量同时保持可加性[17]。GAM的非参数形式使得模型非常灵活,能够生成平稳、光滑曲线的非参数光滑函数,可以是光滑样条函数、薄板样条函数或者局部回归光滑函数[18-19]。GAM模型的一般形式如下:
4 实验
图2 展示了本文整体工作流程,首先对数据进行预处理,分两步进行。首先R 平台(版本4.1.2)上加载recode 包调用car 函数,将工作日字符转化为整数并重新编码,使星期一至星期日形成1~7 的状态。然后加载rpart 包,运用CART算法对缺失值进行插补。
图2 整体工作流程
为了创建广义相加模型,我们将使用R 平台中的mgcv包,调用gam 函数。实验所用数据集由70080 条智能电表数据组成。在本研究中,将变量date 即每日和每周(每30 分钟测量一次则每天有48 个测量值;一周中有7 天)作为建模的预测变量,将变量load 作为预测短期电力负荷的响应变量。使用te 函数定义GAM 模型中Daily 和Weekly 两个变量的张量积平滑和交互作用,并设置最大节点数k=7。对于Daily,使用三次回归样条cr;对于Weekly,使用P 样条ps。GAM模型拟合情况见图3。
通过观察图3 可知:模型拟合情况整体良好,尤其在用电量波动时拟合值曲线与真实值曲线重合度高,仅与处在部分高峰和低谷处的极值存在偏差。季节性分析实验结果如图4。
图3 GAM 模型拟合值
图4 短期电力负荷预测3D 图
从预测图中可以看到最高峰值出现在Daily 变量,接近数值20,Weekly 变量对应的值为1,即电力负荷的最高值是星期一的上午10 点。在下午3 点左右出现第二次用电高峰达到3400Kw,凌晨到早上5 点之间属于用电低谷时段,星期六和星期日的负荷显著减少。
5 结论
准确的负载预测对于保证电力系统的安全性、稳定性和经济性至关重要。
本文首先对时间序列数据进行规范化处理和填补缺失值,然后对广义相加模型的优点和原理研究分析, 并在R 平台上建立GAM模型,利用时间序列数据进行短期负荷预测实验,最后预测出7 天内的用电高峰和低谷时段。有助于电网的规划设计和经济运行。