电力负荷的隐马尔可夫模型预测算法

马尔可夫链(MC)被广泛应用于电力负荷预测,但马尔可夫链通常具备遍历性,经多步转移后趋于稳定分布,不适合较大数据集的建模和多步预测。为此,本文在负荷预测中引进隐马尔可夫模型,以避免上述局限。针对月度负荷受季节影响较大并呈季节周期性变化,以四个季节构成观测集合,以各个月度负荷所在的小区间构成隐藏状态集合,以历史时间序列数据生成的隐藏状态序列和相应的观测序列作为样本,用极大拟然估计方法学习状态转移概率矩阵和观测概率矩阵,建立月度电力负荷预测的隐马尔可夫模型(HMM)。然后按照月份顺序延长历史观测序列,利用Viterbi算法解码出该模型最优的隐藏状态序列,实现对月度负荷的预测。以东莞地区月度负荷为例进行算例分析,实验结果表明该模型的准确性比GM(1,1)、ARIMA、NAR神经网络等模型要高。最后讨论了隐马尔可夫模型的适用性,并提出了一些改进建议。


1.HMM的基本概念

电力负荷的隐马尔可夫模型预测算法

2.马尔可夫链在负荷预测应用中的局限

电力负荷的隐马尔可夫模型预测算法

3.隐马尔可夫模型建立

电力负荷的隐马尔可夫模型预测算法

电力负荷的隐马尔可夫模型预测算法

隐马尔可夫模型示意图

4.算法流程

电力负荷的隐马尔可夫模型预测算法

电力负荷预测算法流程

5.算例分析

将该模型应用于东莞地区月度用电负荷预测,用电负荷公开数据来源于东莞市统计调查信息网。由于近几年东莞经济受到国际环境影响较大,用电负荷表现出较大的随机性,比如从2011年到2016年的2月份数据(36.17、29.76、44.25、34.12、26.47、28.66)并没表现出逐年的增长性,随机性较大,这给负荷预测带来挑战。本案例用2011年到2015年的数据建立隐马尔可夫模型,并预测2016年1月和2月的用电负荷。首先确定历史数据的最小值和最大值为26.21和70.87,然后确定隐藏状态区间集合

电力负荷的隐马尔可夫模型预测算法

电力负荷的隐马尔可夫模型预测算法

从表1得出月度负荷时间序列的状态序列I和观测序列O。

I={q11,q6,q4,q10,q11,q12,q14,q16,q17,q13,q12,q10,q10,q2,q7,q11,q11,q14,q15,q17,q18,q14,q13,q9,q13,q10,q1,q11,q11,q17,q19,q19,q16,q14,q13,q13,q7,q5,q13,q13,q17,q19,q23,q22,q20,q16,q13,q13,q13,q1,q12,q14,q17,q20,q22,q22,q18,q16,q14,q14}

O={v1,v1,v1,v2,v2,v2,v3,v3,v3,v4,v4,v4,v1,v1,v1,v2,v2,v2,v3,v3,v3,v4,v4,v4,v1,v1,v1,v2,v2,v2,v3,v3,v3,v4,v4,v4,v1,v1,v1,v2,v2,v2,v3,v3,v3,v4,v4,v4,v1,v1,v1,v2,v2,v2,v3,v3,v3,v4,v4,v4}

用Matlab函数hmmestimate学习矩阵A和B。

电力负荷的隐马尔可夫模型预测算法

状态转移矩阵

电力负荷的隐马尔可夫模型预测算法

观测概率矩阵

状态转移矩阵A含有全零的列,说明该列表示的状态不出现过,设计状态区间的时候可以将该状态并在相邻的状态区间里。由于建模的数据量少,矩阵A出现较多零元素。

接下来是确定预测要输入的观测序列,因为要预测2016年1月和2月的负荷,所示输入的观测序列为

电力负荷的隐马尔可夫模型预测算法

输入的观测序列

利用Matlab自带Viterbi算法函数hmmviterbi求出最优状态序列。

电力负荷的隐马尔可夫模型预测算法

因此2016年1月份的状态是q11、2月份的状态是q2,推出1月份负荷预测值为45,2月份负荷预测值为29。表2给出了灰色理论、时间序列、神经网络(Matlab ntstool)、隐马尔可夫模型的负荷预测值的对比。

电力负荷的隐马尔可夫模型预测算法

6.隐马尔可夫模型适用性及改进

隐马尔可夫模型描述的是隐藏状态相互转化的随机过程并通过观察序列来表现,并不具备隐藏状态外推能力。因此对具有快速增长趋势的电力负荷系统来说,隐马尔可夫模型在高负荷值上的预测并不准确。隐马尔可夫模型更加适合于增长速度缓慢或停滞不前的电力负荷系统。为了增加隐马尔可夫模型的适用范围,提出了以下改进建议:

电力负荷的隐马尔可夫模型预测算法

7.进一步讨论

本文采取的建模思路与通常HMM建模思路不一样,在本文中隐藏状态实际上是可以观测的,但在模型中是不可观测的,预测需要Viterbi算法解码预测,因此本文充分利用了两个可观测序列(负荷序列和季度序列)。而通常HMM建模是将电力负荷当成观测序列(一般采取高斯HMM建模),而隐藏状态序列是不知道,在模型中可以设计隐藏状态的数量。读者可以尝试通常HMM建模方式做预测。(本文是AiMath原创论文的中文翻译节选,完整论文已被EI期刊接受,未经授权禁止转载!)

电力负荷的隐马尔可夫模型预测算法


分享到:


相關文章: