基于人工神经网络的贵州省用电量预测

2020-12-31 13:24
生产力研究 2020年12期
关键词:用电量精度人工智能

(贵州大学 经济学院,贵州 贵阳 550025)

一、引言

贵州省是近几年脱贫攻坚战略的重要省份,经济的发展以及人民生活水平的提高均离不开电力资源的支撑。电力作为一种“特殊商品”,具有存储成本高、需及时“变现”的特性[1],为此,利用当前用电量数据预测未来用电量对电力企业合理安排“生产”、保证电力供应有很大的帮助。

贵州省用电量预测的研究主要使用的模型为传统的时间序列模型等,鲜有文献考虑人工智能方法。且使用人工智能方法进行用电量预测时,很多研究仅利用变量的时间序列滞后性,并没有将用电量的时间序列特征量化。鉴于此,本文从以下几方面进行改进:(1)使用独热编码(One-Hot 编码)将用电量数据的时序特征数字化,作为人工神经网络模型(Artificial Neural Network,ANN)的输入变量,丰富用电量数据的输入特征;(2)利用网格调参和递增窗口交叉验证相结合的方法选取最优模型参数,提高预测精度。

二、文献综述

目前对用电量的预测方法主要分为传统计量模型与人工智能两种[2]。使用传统计量模型预测用电量的方法主要有ARIMA 模型、向量自回归、灰度预测等。ARIMA 模型利用用电量的时间序列特征建立模型[3],而向量自回归可根据GDP、人口分布等变量与电力消费量的协整关系建立误差修正模型[4-5]。曾鸣等(2013)[6]采用趋势外推法、线性回归和灰度预测三种方法,预测贵州省2015—2020 年的用电量,结果表明灰度预测通用性更强。Hussain(2016)[7]利用ARIMA 模型和指数平滑模型对巴基斯坦的用电量进行预测分析。除此之外,也有学者[8-10]利用系统GMM、动态面板数据估计等估计法探究居民用电量与经济变量之间的关系。传统计量方法进行用电量预测考虑到了用电量的时间序列特征以及经济变量与用电量之间的关系,可以有效地预测短期用电量,但仍具有以下局限:(1)基于变量之间的线性关系、正态分布假设建模,与实际经济变量非线性关系非正态分布不符;(2)预测精度易受极端值的影响[11]。

人工智能不需要考虑数据的分布特征、能够刻画模型的非线性关系,在用电量预测方面有广泛应用。目前关于用电量预测的人工智能方法主要有支持向量机(Support Vector Machine,SVM)、ANN 等。国外学者[12-13]曾利用SVM 和单隐藏层ANN 对土耳其用电量进行预测分析,龙勇等(2018)[14]、石栋安和周芸(2018)[15]将传统计量模型与ANN 结合,对用电负荷量进行拟合。但目前利用人工智能对用电量数据进行预测存在变量的时间序列特征提取不充分、未根据用电量时间序列特征调整参数等问题。

考虑到现有研究存在以上不足,本文引入One-Hot 编码提取用电量数据的时间序列特征,使用加入动量的随机梯度下降(SGD with Momentum,SGDM)优化算法,通过递增窗口交叉验证和网格调参选取最优人工智能模型预测贵州省用电量。

三、模型构建与训练

(一)模型构建

ANN 为人工智能常用方法,在预测和分类问题中有广泛应用。ANN 基本结构包括神经元、激活函数、输入层、隐藏层以及输出层几部分。其中,神经元可表示输入数据特征,激活函数决定输入信号的输出特性,神经元之间的连接代表连接信号的加权值。数据输入神经网络后,会与其对应权重相乘并加总求和,得到输出值,输出值和输入数据之的差异为偏差;之后将“和”与偏差相加,在激活函数的作用下得到最终输出值。

以xi,…,xn表示输入数据,以wp1,…,wpn表示神经元P 之间的连接权重,令bp表示输出数据与真实值之间的偏差,以φ 表示激活函数,输出数据记为yp,上述过程可表示为:

ANN 常用优化算法主要有梯度下降、随机梯度下降、SGD-M 等,考虑到SGD-M 算法可避免陷入局部最优、提升计算速度,本文选用SGD-M 算法做优化器。

(二)模型预测效果评估指标

本文使用平均绝对误差(MAE)、均方根误差(RMSE)、方向预测精度(DA)比较模型的预测效果。MAE、RMSE 值越小,表明模型预测精度越高;DA 值越大,表示模型的趋势预测精度越高。以pred 表示预测值,obs 表示观测值,m 表示数据量,MAE、RMSE、DA 计算方式为:

(三)模型调优

机器学习中常采用k 折交叉验证的方式选择最优模型及参数,但时间序列数据使用此方法会出现“用未来信息预测当期信息”的情况,使用递增窗口交叉验证可以保证未利用未来信息预测当期信息。

本文将原数据划分为训练集和测试集,在训练集上进行模型训练,通过递增窗口交叉验证和网格调参选择最优模型;在测试集进行外推1 期预测,比较不同模型预测性能。如图1 所示,将训练集数据划分为N+1 个子集,每个子集样本数为训练集总样本数/(N+1),将所得余数放入第1 个子集作为第一期训练样本(Train1),并将第2 个子集到第N+1 个子集作为验证集(Valid1),此规则下划分的每个验证集的样本数相同。

图1 递增窗口交叉验证示意图

以第一个子集作为Train1,进行模型训练后预测第二个子集Valid1中数据,根据预测值与真实值计算MSE1;再将前两个子集Train1和Valid1作为新训练集Train2,预测Valid2,并计算MSE2;以此方式训练模型,最后得到MSEN,以N 个MSE 均值作为模型MSE值,根据MSE 值越小,模型拟合效果越好的性质选定最优参数组合。

四、数据来源及样本选择

(一)数据来源及描述性统计分析

本文选取2006 年3 月至2019 年6 月的数据对贵州省用电量月度数据进行预测分析。样本数据共160 期,来自wind 数据库。首先对用电量数据进行取对数处理,以减弱用电量的趋势性。原用电量数据与取对数后用电量数据走势图如图3 所示。根据计算,用电量数据的峰度为2.401 5,偏度为-0.340 9,JB 统计量为0.163 1,不服从正态分布;进行去趋势项检验,ADF 值为-8.854 4,在1%显著性水平下数据平稳。

(二)数据预处理

1.归一化是常用的提高机器学习模型的预测精度方法,本文将原用电量数据进行归一化处理的方式为,其中,xnew表示归一化的数据,xobs表示观测值,即原数据,max(xobs)、min(xobs)分别为原数据最大值、最小值。

2.One-Hot 编码构建时序特征。One-Hot 编码可将非数字特征量化,基于独热编码方法进行ANN 训练能得到更高的精度[16]。因此,本文将原数据以12为周期进行“赋值循环”,按照月度特征赋值为0 和1。例如,样本处于1 月份,其相应的One-Hot 编码赋值可以写为12 维向量(1,0,0,0,0,…,0);样本处于2 月份,数据的One-Hot 编码赋值可以写为12维向量(0,1,0,0,0,…,0),其余月份赋值以此类推。

五、实证结果分析

(一)模型最优参数选择

1.ANN 最优参数选择。原时间序列数据共有160期,考虑到季节趋势问题,本文将归一化数据的滞后4 期数据、One-Hot 编码数据作为输入变量,归一化后的数据作为输出变量,进行模型训练。其中,1~132 期数据作为训练集,133~156 期数据作为测试集。

考虑到模型调整的效率、参数对模型性能影响程度以及优化算法的收敛问题,本文使用的参数主要有学习率(0.01、0.05、0.1、0.15、0.2)、激活函数(tanh、ReLu、logistic 函数)、动能(0.1~1,以0.1 为步长增加)、隐藏层层数(1~5)、隐藏层节点数(16、32、64、128、256)等。

采用递增窗口交叉验证和网格调参进行模型训练时,训练集划分中N 的取值范围为14~28,以2为步长增加。经过训练,N 取值为26 时可得到最优模型。与此同时,隐藏层中3 隐藏层ANN(以下简称ANN(3 层))预测效果最优,因而以ANN(3 层)为本文最优模型。本文选取单隐藏层ANN(以下简称ANN(单层))作为ANN(3 层)预测效果对比模型。最终选定参数为ANN(单层):学习率0.1,激活函数tanh,隐藏层节点128,动能0.9;ANN(3 层):学习率0.05,激活函数tanh,隐藏层节点(64,128,256),动能0.9。

2.SVM、ARIMA 模型最优参数选择。为比较不同模型的预测精度,本文将SVM、ARIMA 模型作为基准模型,将其在测试集上预测结果与ANN 模型预测结果进行对比。

(1)SVM 最优参数选择。SVM 通过选择不同核函数可提升数据投影到线性特征空间的性能,常用于处理非线性模型。SVM 也使用递增窗口交叉验证和网格调参进行模型训练与调优,流程与ANN 模型相似,不再赘述。SVM 的备选参数为:核函数(线性核函数、多项式核函数、sigmoid 核函数、径向核函数);gamma 值(0.1~1,以0.1 为步长递增);惩罚系数(10~100,以10 为步长递增)。最终选定的参数为惩罚系数100,径向核函数、gamma 值0.01。

(2)ARIMA 模型最优参数选择。ARIMA 模型在时间序列数据分析及预测方面具有广泛应用[3]。ARIMA(p,d,q)模型中,p 表示自回归的滞后阶数,d 表示序列单整阶数,q 表示移动平均滞后阶数。建立模型时,在训练集中进行模型训练,根据不同p、d、q 参数下的AIC 值选出最优模型,之后利用选定的参数进行外推1 期预测,评估模型性能。选定最优参数为p、d 取1,q 取2。

(二)模型预测效果评估

利用递增窗口交叉验证及网格调参选择最优参数后,在测试集上进行外推1 期预测,各模型预测效果评估指标如表1 所示。

表1 不同模型在测试集上的预测精度

进一步将ANN 模型(单层、3 层)的预测结果与SVM、ARIMA 模型预测结果对比图画出,如图2 所示。

图2 各模型的预测值与真实值对比图

由以上预测精度数据可以得出结论,人工智能方法在测试集上的预测性能优于传统的时间序列模型,即预测精度方面,ANN(3 层)优于ANN(单层),优于SVM 及ARIMA 模型,且方向预测精度排序也是如此。

六、结论

贵州省经济高速发展离不开电力的支撑,电力对于社会经济的发展有重要的保障与促进作用。本文利用ANN、SVM 以及ARIMA 模型,对2006—2019 年贵州省月度用电量数据进行建模分析,采用递增窗口交叉验证和网格调参的方式选择最优参数。实证结果表明:(1)引入One-Hot 编码将用电量数据时序特征量化可提升模型的预测精度;(2)从模型预测效果看,ANN 模型的RMSE、MAE 值,以及DA 值,均表明其预测效果优于SVM 和ARIMA 模型;(3)ANN(3 层)对用电量的预测效果优于ANN(单层)。

猜你喜欢
用电量精度人工智能
02 国家能源局:1~7月全社会用电量同比增长3.4%
01 国家能源局:3月份全社会用电量同比增长3.5%
热连轧机组粗轧机精度控制
国家能源局:3月份全社会用电量同比下降4.2%
超高精度计时器——原子钟
分析误差提精度
2019:人工智能
人工智能与就业
基于DSPIC33F微处理器的采集精度的提高
数读人工智能