当前位置:首页 期刊杂志

基于MCMC的缺失数据填补方法在电价数据中的应用*

时间:2024-05-04

王 曙 潘庭龙

(江南大学物联网技术应用教育部工程研究中心 无锡 214122)

1 引言

电价是电力市场中的重要组成部分,从电价可以看出整个市场的运转效率的高低,以及市场的竞争和成熟的程度。伴随着大数据、物联网、传感器等技术的飞速发展,电力市场在运行过程中累积了海量的电价数据。在大数据时代,拥有了这些数据的意义是非凡的,我们可以运用数据挖掘的手段去对电力市场中的电价进行预测,可以为电力市场、运行商、客户等提供指导[1~4]。然而,历史电价数据的准确性和完整性是使用这些方法的前提。基于数据挖掘技术的电价预测是在电力市场中已有的历史电价数据基础上进行的,采集电价数据的过程中可能会因为供电不稳定、设备损坏、人为等因素而不可避免的在一些时间点上存在一些缺失值。如果历史数据中的缺失值过多,会给预测带来很大的难度、影响到预测的精度,甚至使整个数据失去价值。因此,本章对电价缺失数据进行合适的预处理就显得十分重要。

在统计学的定义中,数据缺失的类别包括三种:完全随机缺失、随机缺失以及非随机缺失。这些是讨论一切数据缺失问题的基础概念。判断究竟属于哪种缺失类别的主要依据是看缺失的数据特征和标签列是否有联系。完全随机缺失顾名思义是完全没有关系的,这种情况是非常少见的。随机缺失是比较常见的缺失类型,其缺失数据特征和标签列是相互有依存关系的。非随机缺失的缺失数据特征只和本身以及一些不可抗的因素有关联,这种缺失也是不容轻视的[5~6]。

对于缺失的数据,比较常见的填补算法有删除法、均值填补法、回归填补法、热平台填补法、最近邻填补法等等。这几种算法的局限性很大,在数据缺失比例较高或数据波动幅度较大的状况下,填补的效果较差。因而本文提出了一种基于马尔可夫链蒙特卡洛(MCMC)填补方法对于缺失电价数据进行填补,并和其他两种常见的填补算法FCS填补法和MICE填补法在不同的评价指标下进行了对比[7~9],实验证明了该方法具有一定的优势。

2 填补算法原理

2.1 FCS填补法

全条件定义法(FCS)[10]是由范布伦等人在1999年提出来的,这种方法对单个变量的条件分布构建一系列的回归模型,接着在不考虑被填补变量和已观测变量的联合分布时对缺失值逐一进行填补。

2.2 MICE填补法

设无缺失的数据Z是从包含了P个数据变量的多变量分布P(Z|θ)进行随机选择的观测值,θ所表示的是包含了未知参数的向量,Z的分布状况完全取决于它。所以,一旦我们知道了θ,便可以从P(Z|θ)中进行数据抽取,然后去对缺失值进行填补。具体的做法是采用吉布斯采样去进行迭代抽样。下面开始t次的迭代过程,第t次结束得到:

其中Z(t)j=(Z o bsj,Z*(t)j),把它作为第t次迭代式的第j个填补值[11]。

2.3 MCMC填补法

MCMC方法[12~15]将马尔科夫(Markov)过程引入到Monte Carlo模拟中,实现抽样分布随模拟的进行而改变的动态模拟,弥补了传统的蒙特卡洛积分只能静态模拟的缺陷。它能够在非常复杂的数据情况下对感兴趣的参数进行评估和预测。这个过程的目标是找到一种可能的数据分布也就是贝叶斯后验分布,然后可以去评估目标参数。具体使用的贝叶斯公式如下所示:

Y是来自正态分布的多变量数据,其中Y o bs和Y mis分别表示已经观测到的和丢失的部分。利用已有的观测数据Y obs,计算出参数θ。假定是第t次迭代,需要从p(Y mis|Y obs,θ(t))中提取出,然后从p(θ|Y obs,)提取出θ(t+1)。前面一步称之为填补步(I-Step),后面一步称之为后验步(P-Step)。结果序列形成了一条马尔可夫链,…,,其结果必须汇聚到p(Y mis|Y obs,θ)分布中去,然后当数据有缺失的时候,使用多重插补法估计参数。

重复I-Step和P-Step就可以形成了一条马尔可夫链,他们的责任就是生成一系列值的分布,从中可以获得所模拟的缺失值的随机样本。当数据有缺失的时候使用多重插补方法去估计参数。马尔可夫链的长度需要足够长以使得元素分布稳定到称为静态分布的共同分布上。简单概括上述过程的流程图如图1所示。

图1 MCMC填补法的流程图

3 电价数据缺失机制及评价指标

3.1 电价数据缺失机制

对电价的大小有影响的因素包括电力负荷、温度、湿度、风速、风向、降水量、气压等。这些因素和电价数据之间也存在着一些联系,因此电价数据的缺失类别是随机缺失。如图2展现了美国PJW电力市场2000年5月1号从18点到22点共5个小时的电价数据,其中由于采样的时间间隔是5分钟,所以这个时间范围内共有100个节点。可以看出这个时间段的电价数据大体呈显正态分布的趋势。

图2 美国PJW电力市场电价变化图

3.2 评价指标

由于实验所用的填补方法均为多重填补方法,为了衡量不同填补次数下的填补效率(Relative Efficiency,RE)的高低,这里定义一个指标:

式子中的γ表示的是由于数据不完整所造成的相对增量,m表示填补次数。

为了评价填补算法填补效果的好坏,我们需要定义几个指标来做判断。本文采用的两个评价指标是均方误差MSE和平均绝对误差MAE。MSE的公式为,MAE的公式为其中代表填补算法对缺失位置的填补值,yi表示原始值。MSE对于填补过程中的较大值有更大的惩罚作用,而MAE指标则更加注重较小值,因此两者相结合能够很好地评价填补效果。

4 仿真与结论分析

本实验选取的数据是来自美国PJW电力市场的电价数据。选择的时间段是从2000年3月6日到2000年4月30日,其包含了每天24小时的数据。本实验所使用的是期间每一天的18点到22点时间段,采样的频率是5分钟。实验中电价的数据特征包括:独立区域负荷、总区域负荷、温度、湿度、风速、风向、降水量、气压,一共8个数据特征。本章内容讨论的是随机缺失的电价缺失数据的填补,为了对几种缺失值填补方法做出更加有说服力的评价,使用python的随机函数在原始电价数据中随机选择缺失值,将这些位置的值用numpy包中的表示空值的np.nan来替代,并且设置缺失比例分别是10%、20%、30%、40%、50%,然后得到相应的有缺失的数据集。再对有缺失的数据集分别采用FCS法、MICE填补法、MCMC方法,且对3种方法的填补次数分别设置为3次、5次、10次和15次,用来观测不同的填补次数对结果的改变如何。

本章的仿真选取的是MCMC方法,它是一种多重填补方法,用它来对PJW电力市场的电价数据进行缺失填补,并剖析出填补次数对填补精度的影响。为了很清晰地看出填补次数对预测精度的影响,我们必须要在相同的缺失比例下去实验,这里我们以缺失值10%为例,对缺失的电价数据分别进行3次、5次、10次和15次的填补,电价的数据8个数据特征的填补效率和填补次数的对应关系如表1所示。

由表1可见,MCMC方法在随机缺失的电价数据上的填补效率是和填补次数成一个正相关的关系。从理论上分析来看,因为填补次数的增加造成了数据的自由度有所提升。填补次数为3次、5次、10次、15次时,8组电价数据特征的平均填补效率对应分别是0.9853、0.9899、0.993、0.9978。而填补次数的增加相应的会造成计算时间的增加,这里我们取填补次数为10次较为合适,后面的讨论也都建立在10次填补的基础之上。表2展现了本章的3种缺失填补方法在不同缺失比例下的填补效率。可以看出MCMC方法在不同缺失比例下的填补效率都比其他两种方法要高,因而MCMC方法在填补效率上是有一定优势的。

表1 MCMC方法在不同填补次数下的填补效率

表2 不同缺失比例下3种方法的填补效率

为了评价填补算法填补值的好坏,我们需要使用上一节定义的指标MSE和MAE来对三种填补算法在不同缺失比例下的填补效果。其结果如表3、4所示。

表3 不同缺失比例下3种方法的MSE

表4 不同缺失比例下3种方法的MAE

经过对比实验,MCMC填补法、FCS填补法、MICE填补法三种算法在不同的数据缺失比列下,总体上来说其MSE、MAE都是随着缺失值的比例的增加而有所增加。当缺失比例在10%,20%左右缺失比例并不是很高的情况下,三种填补方法的效果都差不多,但当缺失比例到30%及以上的时候,MCMC填补算法的填补精度要明显高于其他两种方法,也证明了MCMC方法在短期电价数据的缺失值填补中有一定的优势。

5 结语

电价数据在获取的过程中不可避免地会出现有缺失的状况,这对建立电价预测模型带来了很大的阻碍。鉴于此,本文提出了一种基于马尔可夫链蒙特卡洛的缺失值填补方法,通过实验证明了它的填补效率和填补精度相比于其他常见的填补方法具有一定的优势。虽然填补算法能够依赖统计学的知识对缺失值尽可能准确的去填补,但误差是不可避免的。因而,我们在应该对于数据采集过程加强监控,尽量使得建模的数据是一手的。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!