APP下载

基于HMM模型的电力负荷预测模型研究

2018-12-03郑敏嘉

机电工程技术 2018年11期
关键词:马尔可夫时刻概率

郑敏嘉,卢 洵,程 鑫

(广东电网发展研究院,广东广州 510080)

负荷预测是电网规划的重要组成部分,目前负荷预测主要通过分析历史数据、气象数据等建立负荷预测模型,对未来负荷发展进行预测[1]。受经济发展、产业结构、用电习惯、气候条件等多种因素的综合影响,电力负荷具有复杂性和随机性的特点[2-3]。目前在负荷预测领域较为常用的方法有单耗法、回归分析法、弹性系数法、负荷密度法、灰色预测法、神经网络法等[4-7]。随着大数据处理和云计算技术的发展,基于海量历史数据和具有学习能力的模型被应用到负荷预测领域。文献[8]介绍基于Hadoop大数据技术的模式匹配短期电力负荷预测方法;文献[9]介绍将马尔可夫链与灰色预测相结合的风电预测方法,均是将电力系统海量数据应用于电力预测的初步探索。

目前,在负荷预测方面马尔可夫模型已得到广泛应用。与马尔可夫模型相比,隐马尔可夫模型具有两个优点,一是数学结构更复杂、参数选择更灵活,在训练模型时可根据数据的复杂程度匹配合适的模型复杂度,选取合适的参数数量和计算纬度,从而得到最优预测模型;二是隐马尔可夫模型的训练过程基于大量历史数据,其训练结果符合统计学规律,数据量越大则训练出来的模型更符合客观规律,预测结果更准确。

综合上述两项优点,认为采用HMM模型进行负荷预测是可行的。

1 HMM负荷特性预测算法

1.1 HMM模型基本概念

1.1.1 马尔可夫链

马尔可夫链是指数学中具有马尔可夫性质的离散事件随机过程[10],具体描述一种具有无后效性的状态序列S1S2S3…SN。马尔可夫链的每一步状态转移过程是随机的,且转移概率只与当前状态有关,统计上用一个N×N的状态转移概率矩阵A描述各状态之间的转移概率,矩阵内元素Aij表示从状态i转移至状态j的概率。如图1所示,假设马尔可夫链共有S1、S2、S3三个状态,且已知t时刻所处状态为S2,那么t+1时刻的状态为S1的概率是A21,状态为S2的概率是A22,状态为S3的概率是A23,A21+A22+A23=1。

图1 马尔可夫链状态转移概率示意图

1.1.2 HMM模型

隐马尔可夫模型(Hidden Markov Model,下文简称HMM模型)与马尔可夫链的主要区别是,包含隐藏的未知参数且状态序列不可直接观测得到。隐马尔可夫模型示意如图2所示。

图2 隐马尔可夫链

隐马尔可夫模型θ包含3个参数,状态转移概率矩阵A,发散概率矩阵B,初始状态矩阵π。

隐马尔可夫模型的状态转移概率由矩阵A决定。隐藏状态序列可通过观测序列Y=y1y2…yT及对应的矩阵B得到。假设HMM模型共有N种状态,T个观测值,那么B为一个N×T矩阵,Bi(yt)表示在时刻t状态为Si且所得观测值为yt的概率。

HMM模型在电力系统中被应用于系统状态预测[11]以及短期负荷预测领域[12],并已取得较好的预测结果。该研究中,观测向量为日负荷特性指标,观测序列Y为逐年日负荷特性指标。根据统计学规律,合理假设观测值y为随机变量,且服从正态分布Y~N(μ,σ2),那么其概率密度函数可由下式表示。

概率分布函数可表示为:

以日最小负荷率 β为例, β~[0.5,0.6]的概率可表示为Pr(0.5≤β≤0.6)=F(0 . 6)-F(0.5),如图3所示。

初始状态矩阵π描述了t=1时刻的状态概率,π=(π1,π2,…,πN),且π1+π2+…+πN=1。

基于上述隐马尔可夫模型的定义,在实际应用中构建模型时一般将其分解为3个基本问题:

(1)概率计算:已知观察序列Y 和模型θ=(A,B,π),求由该模型得到观测序列的概率Pr(Y|θ)。

(2)学习问题:已知观测序列Y,求解观测序列的概率Pr(Y|θ)最大的时候的模型参数A,B,π。

(3)预测及解码问题:已知观察序列Y和模型θ,求解观察序列的隐藏状态序列S=S1S2…ST。

图3 累积分布函数

1.2 前向后向算法

HMM模型第一个问题通常用前向-后向算法解决。将长度为T的观测序列分为两部分,用前向算法计算前半部分概率Pr(Y=y1y2…yt|θ),用后向算法计算后半部分的概率 Pr(Y=yt+1yt+2…yT|θ)。

1.2.1 前向算法

前向算法可由下式表示,αi(t)表示由已知模型θ得到观测序列y1y2…yt且时刻t的状态为Si的概率。

αi(1)表示由已知模型θ得到初始观察值y1且初始状态为Si的概率:

其中:πi为初始状态等于i的概率,Bi(y1)为初始状态为i且得到y1的概率。

前向算法t+1时刻的概率可由t时刻的概率递推得到,αj(t +1)表示得到观察序列y1y2…yt+1且第t+1时刻的观察值为yt+1且为Sj的概率,见下式:

1.2.2 后向算法

后向算法的原理与前向算法类似, βi(t)表示由已知模型θ得到观察序列yt+1yt+2…yT,且时刻t+1的状态为Si的概率。已知 βi(T )=1,t时刻的概率可由t+1时刻递推计算求得。其中ΣjN=1βj(t +1) aij表示t时刻状态为Si的概率,bj(yt+1)表示t+1时刻由状态Sj得到观测值yt+1的概率。

结合前后向算法,可计算由模型θ得到观察序列Y的概率。

1.3 Baum-Welch算法

HMM模型的第2个问题,模型训练问题通常用Baum-Welch算法求解。通过前向后向算法可得到和, 下 面 引 入γ、ξ,对矩阵A、矩阵B的参数进行迭代更新,求解最优模型参数。γi(t)表示已知模型θ和观测序列Y,在t时刻处于状态Si的概率。

其中:αi(t)βi(t)为 概 率Pr(Y|St=Si,θ),为概率P(Y |θ)。r

ξij(t)表示t时刻由状态Si转移至t+1时刻的状态Sj的概率。

通过计算γ、ξ可对隐马尔可夫模型参数矩阵A、矩阵B进行迭代更新。

每一次迭代完成后将得到一个新模型θnew,由新模型得到观察序列Y的概率需比旧模型的概率大,即表明新模型优于旧模型。重复迭代过程,直到新模型与旧模型的概率差值小于某一个很小的误差值,或迭代次数达到上限,模型训练结束,输出的新模型θnew即为训练的最优模型。

1.4 Viterbi解码及预测

Viterbi算法和前向后向算法的目的本质上是一样的,但计算速度快,因此通常用Viterbi算法解决HMM模型的第3个问题,预测及解码问题。预测及解码问题实际上是在训练得到的最优模型上计算得到观测序列Y的概率。通过Viterbi算法,可以得到各个时刻的状态值。

Viterbi算法的初始化中δi(1)表示初始时刻处于状态Si且得到观测值y1的概率,Ψi(1)表示上一时刻的最有可能的状态值,因此初始值可设为0。

t+1时刻的概率可通过递推计算得到。其中δj(t +1)表示t+1时刻处于状态Sj且得到观测序列 y1y2…yt+1的概率,Ψj(t + 1)表示已知t+1时刻的状态为Sj,t时刻最有可能的状态值。

根据上述递推方法,可以得到前T-1时刻的状态序列St1St2…ST-1,根据T-1时刻的状态值和状态转移矩阵A,可计算T时刻的状态值ST。

2 算例

该计算基于Matlab计算结果,以2011年~2016年的日最小负荷率作为模型训练数据,预测2017年的日最小负荷率,通过与2017年的实际值对比,检验预测准确度。预测过程包括几个步骤:

(1)用2011~2016夏季各典型日的日最小负荷率作为统计数据,假设其符合正态分布,用Matlab函数mean和var计算期望值 μ和方差σ2。

(2)设定HMM模型初始参数A,B,π。设定HMM模型隐藏状态数N=3,观测数列长度T=5,矩阵B初始值可由步骤(1)的 μ和σ2计算得到,概率分布可由Matlab函数normcdf求得,初始初始状态矩阵π=(0.5,0.25,0.25)。

(3)训练HMM模型。将2011~2016年数据按2011~2015、2012~2016分为两组。第一组数据为Y1,根据初始模型参数求得α、β矩阵。

(4)计算γ、ξ矩阵。

(5)重新计算HMM模型参数矩阵A、矩阵B,并计算由新模型获得Y1的概率

(7)在步骤(6)基础上,用第2组数据Y2进行再次训练,重复步骤(5)、(6),并输出新模型。

(8)改变模型参数设定,分别考虑N=4,N=5的情况,对隐马尔可夫模型进行训练,选出最优隐藏状态数N和最优模型θ。

(9)以2013~2016年的数据作为预测序列Yp,通过Viterbi算法求解隐藏状态序列St1St2St3St4,根据St4及Anew的状态转移概率,预测St5的状态值,该状态值对应的 μ即是2017年的预测值。

受多种因素影响,2011~2016年期间广东夏季典型日最小负荷率波动较大,不利于模型训练,给预测增加了难度。由图4可见,广东夏季典型日最小负荷率在(0.55,0.65)之间波动。

图4 2011~2016年广东夏季典型日最小负荷率

隐藏状态的数量应根据实际观测数列长度进行选择,通过模型训练结果比较,隐藏状态数为N=3时模型训练效果最好,该例最终选取3个隐藏状态的模型。

该算例经过12次迭代计算后,完成模型训练。可见,由S1转移至S2的概率为0.832,由S2转移至S3的概率为0.758,保持S3状态的概率为0.995,状态转移基本保持着向前传递的趋势。

最优模型的 μnew、σnew输出结果如图5所示。其中μ1=0.606, μ2=0.59, μ3=0.649,基本符合图4所示的日最小负荷率变化规律,=0.0098,=0.0095,=0.0088。

图5 HMM模型参数 μnew及σnew

根据计算结果,St5的状态值为S3,因此2017年的典型日最小负荷率预测值为 μ3,即0.649,该结果与2017年广东实际日最小负荷率相差不大。

3 结论

通过隐马尔可夫模型进行负荷预测的计算,可以得到以下几点结论:

(1)用隐马尔可夫模型进行负荷预测是可行的。利用HMM模型进行负荷预测具有较高的准确率。

(2)HMM模型预测的优点是具有学习能力,可以根据历年的数据对模型进行及时更新,提高预测准确率,方法的适应性较强。另外,根据实验结果,随着数据量的增加,HMM模型预测准确度也将提高,当用于训练模型的数据量达到一定规模时,预测的准确度将得到显著提升。

(3)HMM模型预测的缺点是对历史数据的依赖程度较高,模型训练的结果很大程度上取决于训练数据的优劣,且该方法仅根据历史数据进行建模,难以应对突变情况。

(4)若需对此方法进行完善,可考虑从数据筛选或数据特性挖掘方面入手,提高原始数据的质量,从而提高预测的准确性。

猜你喜欢

马尔可夫时刻概率
第6讲 “统计与概率”复习精讲
冬“傲”时刻
第6讲 “统计与概率”复习精讲
捕猎时刻
概率与统计(一)
概率与统计(二)
基于马尔可夫链共享单车高校投放研究
基于马尔可夫链共享单车高校投放研究
基于马尔可夫链的光伏发电系统输出功率短期预测方法
基于灰色马尔可夫模型的公务航空市场需求预测