APP下载

基于SARIMA-GS-SVR组合模型的短期电力需求预测

2022-07-17王万雄

电子科技 2022年8期
关键词:残差函数预测

刘 晗,王万雄

(甘肃农业大学 理学院,甘肃 兰州 730070)

目前,工厂、企业规模的逐步扩大和生活水平的提高使得电力消费直线增长。电力生产的控制和最佳规划需要精确的电力需求预测。电力预测时期包括短期、中期和长期,其中短期预测显示了天、周和季节的系统变化,是该领域的研究热点[1-3]。此外,组合模型利用了单一模型的优势,提供了比单一模型更稳定、可靠的预测结果,具有更重要的研究价值[4],已在经济、工业等领域有了广泛的应用[5-8]。文献[9]应用混合深度神经网络(Convolutional Long Short-Term Memory,CLSTM)模型预测短期电力需求。文献[10]将小波变换(Wavelet Transform,WT)和人工神经网络(Artificial Neural Network,ANN)混合使用,提高了预测精度。文献[11]利用前馈(Back Propagation,BP)神经网络和模糊系统的方法进行了电力负荷预测。相比其它算法,神经网络算法在大样本条件下性能优良,随着数据量的增多,其计算能力也更强。但是,神经网络算法可解释性低,计算成本昂贵,易陷入局部最优,因此有学者提出了支持向量机(Support Vector Machine,SVM)预测模型。

与神经网络算法相比,SVM算法的泛化能力强,更容易收敛到全局最优[12]。本文应用传统算法与机器学习算法相结合的方法来预测短期电力需求时间序列。由于受温度、工作日等因素影响,短期电力需求时间序列呈现明显的周期性特点,而季节差分自回归移动平均(Seasonal Auto Regressive Integrated Moving Average,SARIMA)模型在处理周期性数据上表现良好[13]。用电量与人口、电价等诸多因素有关,这些都会导致电力需求时间序列呈现高度的非线性特征,而支持向量回归(Support Vector Regression,SVR)模型则在处理非线性数据上有较大的优势[12]。综上所述,本文充分考虑了这两个模型的优点。此外,鉴于SVR模型参数的选择将直接影响其预测精度,为解决传统SVR因人工经验设置参数产生的局部最优问题,本文选用网格搜索(Grid Search,GS)算法对SVR的惩罚因子C和核函数参数γ进行全局寻优。综合考虑以上因素,本文最终建立了GS算法优化的SARIMA-SVR模型,即SARIMA-GS-SVR组合模型,并建立了SARIMA、SVR、GS-SVR与指数平滑模型共同预测短期电力需求时间序列。

1 基本理论

1.1 SARIMA的基本理论

自回归移动平均模型ARMA(p,q)描述平稳的时间序列为

xt=θ1xt-1+θ2xt-2+…+θpxt-p+εt+

ω1εt-1+ω2εt-2+…+ωqεt-q

(1)

式中,θ1,θ2,…,θp和ω1,ω2,…,ωq为模型参数;εt为误差项。式(1)由两部分组成

xt1=θ1xt1-1+θ2xt1-2+…+θpxt1-p+εt1

(2)

xt2=εt2+ω1εt2-1+ω2εt2-2+…+ωqεt2-q

(3)

式(2)为p阶自回归模型AR(p),θ1,θ2,…,θp为自回归系数,简记为

(4)

式中,B为时间后移算子。

式(3)为q阶移动平均模型MA(q),ω1,ω2,…,ωq为移动平均系数,简记为式(5)。

xt2=Wq(B)εt2,

(5)

不平稳的序列需要通过差分处理,平稳后使用ARMA模型建模。令φ(B)=Bp(B)(1-B)d,得到

Wq(B)εt2=θp(B)∇dxt1

(6)

式中,d为差分次数,且∇d=(1-B)d。此时模型为积累式自回归移动平均模型,记为ARIMA (p,d,q)。

具有周期性的时间序列需要先处理其周期性,之后用ARIMA模型建模,模型简写为

θp(B)ψp(Bs)∇d(1-Bs)Dxt1=Wq(B)φQ(Bs)εt2

(7)

其中

ψp(Bs)=1-ψ1Bs-ψ2B2s-…-ψpBps

(8)

φQ(Bs)=1-φ1Bs-φ2B2s-…-φQBqs

(9)

式中,s为周期长度;D为季节差分的次数,模型记为ARIMA (p,d,q)(P,D,Q)s。

1.2 SVR的基本理论

SVM是以统计理论为基础的机器学习算法,包括支持向量分类和SVR[14],是一种基于结构风险最小化的算法。SVM有良好的泛化能力[15],在解决非线性问题上效果良好,因此在分类和回归问题中得到了广泛的运用[16]。SVR是基于SVM的回归算法,它的基本理论是通过核函数把数据从样本空间映射到高维特征空间,然后在特征空间中进行线性回归,寻找最优的回归超平面,进而实现数据预测的目的。

假设训练样本集S={(si,yi)},i=1,2,…,n,xi∈Rd(R为实数域,d为维数),xi为输入,yi为对应输出。SVR的目标为搜寻回归函数f(x),使f(xi)与yi的偏差尽可能小,回归函数为

f(x)=ωTφ(x)+b

(10)

式中,ω为权值系数;φ(x)为非线性变换函数;b为偏执项。回归预测的偏差不可避免,因此需要引入不敏感损失函数

L[y,f(x)]=max{0,|y-f(x)|-ε}

(11)

式中,L[y,f(x)]为ε损失函数,若预测偏差小于ε,则损失为0,否则将偏差减去ε。

(12)

(13)

(14)

1.3 指数平滑法的基本理论

Holt-Winters模型是一种三参数指数平滑法,用来预测有水平项、趋势项和季节性波动的时间序列[18]。该方法提供了λ、β和γ3个参数,分别对应当前点的水平、趋势和季节部分。平滑参数λ控制水平的指数型下降,β控制斜率的指数型下降,γ控制季节指数下降。参数的取值范围均为[0~1],取值越大说明越近的观测值占有的权重越大。t+1时刻的预测值可表示为

(15)

式中,a为t+1时刻序列的水平项系数;b为斜率;xt为当前时刻值;st+1为t+1时刻序列的季节效应。

2 数据采集及分析

本文实验使用的数据来自美国国家航空和宇宙航空局(NASA,http://www.eia.doe.gov/)发布的加利福尼亚州(加州)电力需求历史数据,样本数据时间范围为2020年2月16日~2020年2月26日,共计264组,监测间隔为1小时。图 1为该时间段内加州小时电力需求数据图。由图1可知,加州电力需求序列呈现周期性特征,在每天约7时和约19时达到峰值,在约13时达到谷值。原始序列分解为趋势项、周期项和残差项,具体如图2所示。图2表明序列有很强的周期性特征和一定的趋势特征。2020年2月22日与23日是周末,趋势图和残差图在这两天出现下跌情况,原因可能为周末休息等因素。

图1 加州实际电力需求时序图Figure 1. Sequence diagram of California actual electricity demand

图2 电力需求因素分解综合图Figure 2. Comprehensive decomposition diagram of power demand factors

3 SARIMA-GS-SVR组合预测模型

3.1 GS算法

GS算法是通过遍历给定的参数组合来优化模型表现的方法[19]。本文设定惩罚因子C的变化区间为C∈[C1,C2],核函数参数γ的变化区间为γ∈[γ1,γ2]。实验使用GS算法对区间里的每对参数(C′,γ′)进行模型训练,并计算均方误差(Mean Square Error,MSE),最后采用MSE最小的参数作为最佳模型参数。算法步骤如下:

步骤1初始化SVR参数C和γ,令C=C0,γ=γ0;

步骤2设定C的步长为Cs,更新式为C=C+Cs。γ的步长为γs,更新式为γ=γ+γs;

步骤3将参数(C,γ)带入SVR构建SVR模型,采用5折交叉验证法计算训练样本5次交叉验证MSE的均值;

图3 GS算法流程图Figure 3. Flow chart of GS algorithm

步骤4将得到的MSE与上一步进行对比,若MSE减小,则(C,γ)替换上一步的(C,γ),反之不操作;

步骤5判断C是否达到最大值C2,若是,进行步骤6;反之,返回步骤2;

步骤6判断γ是否达到最大值γ2,若是,进行步骤7;反之,返回步骤2;

步骤7当前SVR的参数(C,γ)达到最优,输出结果。

3.2 模型原理

由前面数据分析可知原始序列包括线性时间序列分量、周期性时间序列分量和非线性时间序列分量,因此单一模型对电力需求预测有较大的局限。鉴于SARIMA模型对线性数据的拟合优势和SVR模型对非线性数据的拟合优势,可利用GS算法对SVR模型的C和γ参数进行寻优。本文使用SARIMA-GS-SVR模型来预测短期电力需求。

假设电力需求序列Yt由线性部分Lc和非线性部分Nt组成,即

Yt=Lt+Nt

(16)

SARIMA-GS-SVR组合模型预测步骤如下:

步骤1将原始序列因素分解,观测序列周期项、趋势项和残差项特征;

步骤2序列分为训练子集和测试子集,对前者差分,观测序列平稳性;

步骤3查看序列自相关图和偏自相关图,根据特征拟合SARIMA模型;

步骤5将SARIMA模型预测的残差,以3个历史残差作为输入,下一个残差作为输出,转化为有监督学习数据集;

步骤6归一化数据集并将其划分为训练集和测试集;

步骤7利用GS算法寻优到最佳SVR参数组合(C,γ);

步骤8将训练集数据带入SVR模型,利用最优参数进行模型训练;

(17)

3.3 模型设置

3.3.1 核函数的选取

构建SVR模型包括参数确定和核函数选取。需要确定的参数有正则化参数C、核函数参数γ,这两个非负参数对于模型准确预测具有重要作用[20]。RBF核函数可直观反映两个数据的距离,比其它核函数效果更好,应用更广泛[21],因此本文选用如下RBF核函数

(18)

式中,γ为控制半径,且γ=1/2σ2;σ2为核函数的方差。

3.3.2 数据预处理

为了使数据具有相同尺度的量纲以减少误差,在进行SVR预测之前,对数据进行归一化处理

(19)

式中,xstd为归一化后的值;xmin和xmax分别为数据的最小值和最大值。

3.4 模型预测流程

将SARIMA模型预测的残差基于GS算法寻优到的最佳参数(C,γ)输入到SVR中,建立SARIMA-GS-SVR组合模型进行电力需求预测。具体流程如图4所示。

图4 SARIMA-GS-SVR模型流程图Figure 4. Flow chart of SARIMA-GS-SVR model

4 实验设置及结果分析

4.1 实验参数设置

基于Python 3仿真环境,以加州电力需求数据为例,建立SARIMA、SVR、GS-SVR、SARIMA-GS-SVR和指数平滑5种预测模型。设置GS算法参数:模型为SVR,交叉验证折数CV=5,训练核数n_jobs=4,评分目标函数为训练样本5折交叉验证的均方误差MSE,设置核函数参数γ和惩罚因子C的搜索上限均为28,下限为2-8,搜索步长s=2.5,不敏感损失因子ε在寻优过程中保持0.1不变。设置SVR模型参数:选择RBF径向基核函数,核函数参数γ和惩罚因子C的取值为GS算法寻优到的最佳参数组合。设置指数平滑模型参数:λ=0.951 2,β=0.935 0,γ=1,a=26 482.129 4,b=-712.614 9。

4.2 实验结果及分析

选取2020年2月16日~2020年2月25日范围内的240组数据作为预测模型的训练子集,并选取2020年2月26日内的24组数据作为测试子集,进行模型预测。由数据分析图2看出,原始序列存在多种复杂特征,序列以天为周期,对训练子集进行一阶24步差分后所得序列如图5所示。由图5可知,去除个别极值点影响之外,序列均值和标准差在0值附近小范围波动。自相关图与偏自相关图如图6所示,两图在一阶延迟后都基本落在两倍标准差范围之内。根据图6,拟合模型SARIMA(1,1,1) (0,1, 0)24。该模型对测试子集的预测结果如图8所示。

图5 电力需求差分序列时序图Figure 5. Sequence diagram of power demand differential sequence

图6 训练样本自相关与偏自相关图Figure 6. Autocorrelation and partial autocorrelation graph of training sample

表1列出了GS-SVR与SARIMA-GS-SVR模型利用GS算法寻优到的最优参数以及对应的最小目标函数MSE。将SARIMA模型预测的残差利用GS算法寻优到最佳参数(C=10.045 1,γ=3.590 8),带入SVR模型得到2020年2月26日残差预测结果,如图7所示。

表1 GS算法寻优的最佳参数Table 1. Optimal parameters searched by GS algorithm

由图7可以看出,GS-SVR模型预测的残差与实际残差走势一致,表明该模型具有良好的预测效果。SARIMA、SVR、GS-SVR、SARIMA-GS-SVR和指数平滑5种预测模型对测试子集的预测结果如图8所示。从图8 可以看出,相比其它4种模型的预测值,SARIMA-GS-SVR的预测值更接近实际值。SVR单一模型的预测效果差于GS-SVR组合模型,说明了利用GS算法进行SVR模型参数寻优的必要性。将5种模型的预测值与实际值作比较,结果如表2所示。

图7 实际残差值与GS-SVR预测残差值对比Figure 7. Comparison of actual residual and GS-SVR forecasting residual

图8 电力需求实际值与5种模型预测值对比Figure 8. Comparison of actual power demand values and predicted values of five models

表2 模型预测结果Table 2. Prediction results of models

续表

4.3 实验误差对比

本文应用平均绝对误差(Mean Absolute Error,MAE)、平均绝对百分比误差(Mean Absolute Percent Error,MAPE)、均方根误差(Root Mean Square Error,RMSE)和组合预测相对单一预测模型提高的预测精度(Accuracy Improvement,AI)来评价模型效果。各指标如式(20)~式(23)所示,其中N为样本个数,xt为真实值,t为预测值,s为单一预测模型绝对误差之和,sc为组合预测模型绝对误差之和。当AI>0时,组合模型的预测效果优于单一模型;反之,组合模型的预测效果较差。

(20)

(21)

(22)

(23)

表3列出了5种模型的预测误差。相比SVR,GS-SVR的预测精度提高了35.622 7%。相比SARIMA,SARIMA-GS-SVR的预测精度提高了29.181 2%。SARIMA-GS-SVR的MAE、MAPE和RMSE的误差指标评价值均小于其他4种模型。误差评价结果表明,组合模型SARIMA-GS-SVR模型的预测效果最好。

表3 模型预测误差Table 3. Forecasting error of models

5 结束语

本文基于SARIMA模型预测的残差,提出用GS算法对SVR的参数进行优化,并建立了SARIMA-GS-SVR组合预测模型,以美国加利福尼亚州2020年2月26日实际历史数据做预测分析。 结果表明,SARIMA-GS-SVR组合预测模型预测效果优于GS-SVR、SARIMA、SVR和指数平滑4种模型。本文提出的SARIMA-GS-SVR组合预测模型在一定程度上提高了短期电力需求的预测精度,但在SVR参数优化算法的选择上仍有一定的提升空间。在未来的研究中,计划选择其他算法来优化SVR参数,并进行组合预测模型分析来继续优化预测精度。

猜你喜欢

残差函数预测
无可预测
基于残差-注意力和LSTM的心律失常心拍分类方法研究
选修2-2期中考试预测卷(A卷)
选修2-2期中考试预测卷(B卷)
基于双向GRU与残差拟合的车辆跟驰建模
选修2—2期中考试预测卷(A卷)
二次函数
第3讲 “函数”复习精讲
二次函数
基于残差学习的自适应无人机目标跟踪算法