时间:2024-05-04
高 鹏 房 俊 韩燕波 王嘉怡
(1.北方工业大学大规模流数据集成与分析技术北京市重点实验室 北京 100144)
(2.北方工业大学数据工程研究院 北京 100144)
电能质量的合格与否是电力系统能否正常运行的一个重要标志,电网公司建设了电能质量监测系统实现对电网电能质量数据的持续监测和收集。如何基于海量电能质量监测数据进行分析和预测,提前发现问题,并反馈到运检部门,是当前电网电能质量问题的研究热点。
电气化铁路是影响电网电能质量的主要干扰源之一。电气化铁路负荷具有非线性、波动性以及不对称性的特点,其产生的谐波电流经过牵引变压器注入电力系统,电压波形发生畸变,造成电网三相电压不平衡,出现谐波和负序电流超标等电能质量问题。快速准确预测电铁电能质量对于保障电网稳定运行具有重要意义。
在电铁电能质量预测方面,已经有秦庭浩等学者将Monte Carlo方法应用于新建牵引站影响分析,即通过已有牵引站负荷电流数据进行新建牵引站负荷电流数据的预测,从而得到新建牵引站对电力系统可能产生的影响。本文将运用时间序列分析方法探究已有电气化铁路对公用电网电能指标数据所造成的影响。
用于采集数据的监测点挂载在电气化铁路沿线的牵引站上,同一个牵引站下会挂载两个监测点,分为主供监测点和备用监测点,数据会由主供监测点采集,所以,可以形象的说主供监测点处于“激活”的状态,备用监测点处于“沉寂”的状态,所以,要对电气化铁路进行趋势预测,首先要区分主供/备用监测点,在此基础上预测主供监测点的电能质量趋势。
针对上述分析,本文提出电气化铁路电能质量趋势的渐进式预测方法,第一步,基于Kmeans聚类算法,根据有功功率判断某一天牵引站下的主供与备用监测点;第二步,得到主供监测点各指标数据,通过时间序列分析方法ARIMA 分析主要指标(谐波电压、谐波电流、负序电压、负序电流)的趋势。
目前,对于电能质量分析预测领域国内已有许多相关研究。在电气化铁路电能质量方面,文献[1]对电气化铁路的接线类型、运行原理及电能质量特性进行了分析,指出谐波和负序是电气化铁路负荷的主要电能质量特性,会使电网电压波形发生畸变并且造成电网三相电压不平衡,从而影响电网电能质量的稳定。
在电能质量大数据方面,文献[2]提出一种基于分布式文件系统的海量电能质量监测数据管理方法,该方案将不同电能质量指标的历史监测数据分别压缩后存储在文件中,利用现有监测子站以及相关系统的分布式异构服务器作为文件服务器以存储数据文件。这种方案容错性和伸缩性较差,成本较高。文献[3]提出一种电能质量大数据存储分析原型系统,系统基于开源大数据处理技术Hadoop 和HBase 构建为支持高效存储和分析海量数据的云平台,并设计基于MapReduce并行框架的电能质量数据统计方法。但是MapReduce 作为一种批处理的大数据处理框架,通过map 和reduce 操作在磁盘中处理数据,这就带来了速度较慢且不适合进行迭代式运算的问题,相比之下,Spark在内存中处理数据,更适合进行迭代式的机器学习算法。
在电能质量预测方面,文献[6]针对电气化铁路牵引负荷具有的非线性、单相独立性和随机波动性的特点,提出一种基于MonteCarlo 抽样的电铁电能质量预测方法。该文主要关注点为利用已有牵引变电所实际数据来预测分析新建电气化铁路对电网电能质量的影响,将目光放在新建电铁资料匮乏的问题上,没有考虑电能质量数据的时间关联性。文献[10]提出了适合于配电网的基于线性回归模型、随机时间序列模型和灰色模型的优选组合预测模型,预测电能质量的未来状况。其中的随机事件序列模型考虑了电能质量数据在时间上的关联性,反映了电能质量近期变化的连续性。文献[12]提出了一种对电能质量稳态指标的预测方法,利用了ARIMA 时间序列算法以及神经网络预测模型。
在时间序列分析方面,文献[13]构建了基于Hadoop 的气象数据挖掘平台,并在该平台上设计实现了基于ARIMA 算法的气象预测系统,该平台的预测误差总体不超过25%。
电铁牵引站监测点上安装有指标传感器,可以采集主要指标的数据,但是在真实环境中,由于气候、环境以及设备状态等因素,导致数据的采集会存在一些问题,例如记录的数据丢失、数据时间点顺序错误、数据精度产生偏差等。因此,在对数据进行分析之前,需要对其进行预处理。
对于数据缺失的问题,一般常用的做法如下。
1)均值替换法:这种方法需要根据变量是数值型或非数值型分开处理。本文的电能质量数据为数值型,取其他所有数据的平均值来填充该缺失的变量值。假设数据序列为{x1,x2,x3,…,xn},则其均值为
2)回归替换法:这种方法首先需要选择若干个预测缺失值的自变量,然后建立回归方程估计缺失值,即用缺失数据的条件期望值对缺失值进行替换。
3)多重替代法:这种方法并不是用单一值来替换缺失值,而是产生缺失值的一个随机样本多次替换缺失值,然后用标准的统计分析过程对多次替换后的若干个数据集进行分析,经过综合后得到总体参数的估计值。
针对电能质量数据的时间序列性特点,以及考虑到方法的便捷性,本文对缺失的数据以及其他异常数据采用均值替换法进行填补,若只有少量个别的数据出现问题,则利用其相邻数据平均值进行填补,如果是一段时间内的数据都出现了问题,则利用同期的历史数据平均值进行填补。
对于电能质量数据,每个监测点及每种指标都有其不同的值范围,使用时将需进行校验,并对不符合条件的数据进行更正,处理方法与缺失数据相同。
基于上述描述,为了监控电气化铁路对于电网电能质量的影响,本文提出一种基于时间序列分析的电气化铁路指标趋势预测方法,见图1。
图1 电能质量趋势分析流程图
如图1所示,本文的方法主要分为以下步骤:
步骤1:对原始电能质量数据提取需要的指标数据,并进行预处理;
步骤2:计算主供监测点,使用KMeans 聚类算法对有功功率数据进行聚类,聚类中心数k 设置为2,并求出划分主供备用监测点的阈值;
步骤3:时间序列预测分析,使用基于ARIMA算法的方法构建模型,并对电能质量主要指标数据进行预测;
步骤4:得到预测模型的误差率,量化模型的准确率,从而可迭代使用此模型。
其中步骤2 和步骤3 是关键的步骤,下面分别对这两个步骤的原理和实现进行详尽描述。
如图2 为某电铁牵引站下的Ⅰ线,Ⅱ线监测点于2017 年2 月1 日的有功功率数据,数据按照分钟级采集,其中,Ⅰ线的监测点id 为0601200431,Ⅱ线的监测点id为0601200441。
由图可得,Ⅰ线的数据变化幅度及数值大小远远超过Ⅱ线,即有不同的均值。故本文取某牵引站下Ⅰ线,Ⅱ线监测点2 月所有的数据进行KMeans聚类得到其各自的聚类中心ρ1及ρ2,而后得到其均值,即为主供备用的阈值。得到阈值后,将两个监测点每天的数据分别与其进行比较,若某监测点某一时间超过该阈值,即可认为该监测点在此天为主供监测点。
图2 有功功率数据图
KMeans 聚类算法是最常用的划分聚类算法,它把给定的数据划分为K 个聚类,每个聚类用聚类中心来代替。相同聚类中数据的某些特性极为相似,相反,不同聚类中数据的某些特性会由明显的不同。聚类中心以及分配给它的数据点就代表一个新的聚类,一旦全部数据点都被分配了,每个聚类的聚类中心会根据聚类中现有的数据点被重新计算,这个过程不断重复直到满足某个终止条件为止。下面是算法的基本步骤:
步骤1:从数据中随机抽取k 个点作为初始聚类的中心,由这个中心代表各个聚类;
步骤2:计算数据中所有的点到这k 个点的距离,将点归到距离其最近的聚类里,一般可以使用欧式距离和马式距离。欧式距离的优点是比较简单,且能体现算法的性能,缺点是会将样本的不同属性之间的差别等同看待。本文实验中欧式距离即可满足要求,距离公式为
步骤3:调整聚类中心,即将聚类的中心移动到聚类的几何中心(即平均值)处,这就是Kmeans中mean 的含义;
步骤4:重复步骤2 及步骤3,直到聚类的中心不再移动,此时算法收敛。
时间序列分析法是通过编制和分析时间序列,根据时间序列所反映出来的发展过程、方向和趋势,进行类推或延伸,借以预测下一段时间可能到达的水平。若时间序列已为平稳状态,可用自回归滑动平均模型(ARMA)及其特殊情况的自回归模型(AR)、滑动平均模型来进行拟合(MA)。但是在实际的电能质量数据中,时间序列往往都是非平稳的,这就需要使用ARIMA 模型,与ARMA 模型相比加入了差分的过程。ARIMA 模型全称为差分自回归移动平均模型,模型记为ARIMA(p,d,q),其表示式如下:式中,Φ(L)为p 阶自回归算子,Θ(L)为q 阶移动平均算子,θ0为漂移项,是对yt进行d次差分。
ARIMA 模型的建模思想可描述为:对一列原始数据,首先应当先判断该序列是否为平稳序列,若不是,则用平滑法或差分法对原始数据进行平文化,再对序列进行建模。模型建立的主要步骤为7步,如图3 所示
图3 ARIMA 模型建模步骤
步骤1:数据预处理,将缺失或者异常数据以两侧值均值替代;
步骤2:判断序列是否有趋势,若有,则进行步骤3,若无,则进行步骤4;
步骤3:平稳化,对不平稳的序列进行差分消除趋势,使其平稳化。
步骤4:模式识别,判断使用的模型种类,待选模型有AR(p)、ARMA(p,q)、MA(q)三种模型,并确定模型的阶次,即初步确定p、q 或者p 和q 的值。判断的依据是已平稳时间序列的样本平均值、自相关系数以及偏相关系数;
步骤5:参数估计,运用AIC 准则确定模型参数;
步骤6:预测及评价,评价采用百分比绝对误差(MAPE)方法;
步骤7:将预测结构图形化以展示效果。
这里取2017 年2 月2 日及2017 年2 月3 日某牵引站Ⅰ线监测点的谐波电流指标数据作图,如图4、图5。
图4 2017-02-02 谐波电流
图5 2017-02-03 谐波电流
由两图对比可见,数据变化规律比较一致,在凌晨0 到6 时数值和波动较小,6 时以后开始出现较大波动,且在下午12 到22 时达到高峰,随后波动逐渐降低,且该序列不是平稳时间序列,故可以使用ARIMA 模型进行建模。
Spark 大数据处理框架对KMeans 算法进行了并行化,其中用到最核心的概念是RDD(Resilient Distributed Datasets),它表示被分区、不可变且能够被并行操作的数据集合。RDD 中的数据是分区存储的,它将逻辑上一个整体的数据划分为不同的分区(partition),这些分区分布在不同的节点。运用该算法的代码如下所示:
JavaRDD<String>data=sc.textFile(filePath);
//然后需要将其转为向量形式:
JavaRDD<Vector>parseData = data.map(new Function<String,Vector>(){
Public Vector cal(lString s){
String[]sarray=s.spli(t“”);
double[]values = new double[sarray.length];for(int i=0;i<sarray.length;i++){
values[i]= Double.parseDouble(srray[i]);if(values[i]<0){
values[i]=-values[i];
}
}
return Vectors.dense(values);
}
});
//然后对其进行聚类,如下代码所示:
int numClusters = 2;//设置聚类中心数,这里为2 int numIterations=20;//迭代20 次
int runs=10;//运行10 次,选出最优解
final KMeansModel clusters = KMeans.train(parseData.rdd(),numClusters,numIterati ons,runs)//进行KMeans 聚类
//得到聚类中心
for(Vector center:clusters.clusterCenters()){System.out.println(center)
}
为了验证上述电能质量趋势预测方法的有效性,本文基于真实监测数据并对照日志记录进行实验,验证方法的可行性。
集群由10 台配置相同的服务器组成,每台服务器CPU 为双核Inter i5,主频3.10GHz,32.00GB内存。集群使用的Hadoop 版本为cloudera CDH 5.7.0,Spark 版本为1.6.0,机器名为bigdata1~bigdata10,其中bigdata3 作为主节点,其余为从节点。
实验中采用的数据为某电铁某牵引站下Ⅰ线,Ⅱ线监测点2017 年2 月的真实数据,采集间隔为每分钟一次。
实验以某电铁某牵引站下Ⅰ线,Ⅱ线监测点2017-02-01 至2017-02-20 的有功功率历史数据作为训练样本集,训练KMeans 算法得到该牵引站的主供备用监测点阈值。采用2017-02-21 至2017-02-28 的有功功率历史数据作为验证集,验证该阈值的准确率。因为数据量较大,传统单机版KMeans 算法的运行效率满足不了要求,故采用Spark MLlib 机器学习包中的KMeans 算法。
方法分为以下几个步骤:
步骤1:从HBase 数据库中将训练集数据写入txt 文件,将其读入Spark 并转为Vector 向量数据类型;
步骤2:参数选择,确定要划分的簇数k 为2,maxInterations 表示方法单次运行的最大迭代次数,runs 表示算法被运行的次数,Kmeans 算法不保证能返回全局最优的聚类结果,所以在目标数据集上多次跑Kmeans 算法,有助于返回最佳聚类结果。通过多次实验确定迭代为20 次,且运行10 次时结果和效率都能满足要求;
步骤3:训练模型,求出两个聚类中心,并求其均值作为阈值;
步骤4:将两监测点验证集数据分别与该阈值进行比较,若某监测点一天某一时间点的数据超出该阈值,则该监测点为主供监测点。
最终经训练集训练得到的阈值t=1654.003,验证集实验结果如下表1 所示,其中水铁Ⅰ线id 为0601200431,水铁Ⅱ线id 为0601200441。
表1 主供监测点验证集实验结果
其中“实际主供”是根据当天实际日志得出。从表中可看出,在验证集中,通过计算得到的主供监测点能够很好地与实际主供监测点对应,准确率达到100%。故本文提出的方法能有效解决确定电气化铁路牵引站主供监测点的目的。
运用所述时间序列趋势分析方法,根据ARIMA 模型的建模步骤及其流程图,本文取2017 年2 月1 日某电铁某牵引站主供监测点Ⅰ线的谐波电流指标进行时间序列的建模分析,可视化结果如图6 所示。
图6 2017-02-01Ⅰ线主供监测点谐波电流
首先判断模型是否平稳,时间序列模型建立在随机序列平稳性假设之上。由图6 可以看出,该折线图向右上方倾斜、说明此时间序列存在增长趋势,且存在异方差性,异方差是相对于同方差假设而言的,即是指方差随着时间有变化,而不再是一个常数。平稳性可以通过ADF(单位根检验)来判断[15],检验结果如表2 所示。
表2 原始数据集ADF 检验
ADF=-2.472211 均大于临界值1%,5%和10%,所以该序列为非平稳序列,需要进行一阶差分以消除趋势。一阶差分的基本原理可用以下公式表明:
经过一阶差分后的序列如图7 所示。
图7 一阶差分后的原始序列
再对一阶差分后的数据进行ADF 检验,如表3 所示。
表3 一阶差分数据集ADF 检验
ADF=-8.525411 均小于临界值1%,5%和10%,所以经过一阶差分的序列为平稳序列,差分消除了原序列的趋势。
对原始序列平稳化后,通过计算该序列的自相关系数与偏自相关系数初步确定p 和q 的值。自相关系数表示时间序列滞后k 个时间段间的两个项间的相关程度,取值越接近1,相关程度越高。偏自相关系数是在消除其他变量影响的条件下,计算某两变量之间的相关系数。现计算该序列的自相关系数与偏自相关系数,如下图8 所示。
图8 一阶差分序列的AC 与PAC 系数
由图中我们可以看到,自相关系数AC 与偏自相关系数PAC都是拖尾的,也就是说,AC和PAC表现为向零衰减的趋势,但永远不会等于零,且自相关系数AC 在1-2 阶都是显著的,偏自相关系数PAC 在1-3 阶都很显著,所以我们初步建立的模型为ARIMA(3,1,2)。
得到适当的p 和q 值后,根据AIC 准则,即最小信息准则确定模型的参数[16]。对不同的p 和q计算AIC 值,一般而言,选择其中最小的p 和q 值作为模型的最终参数。本文得到的p、q 值如表4所示。
表4 不同p、q 的AIC 值
由表4 所示,当p=1,q=1 时AIC 值最小,故本文确定模型为ARIMA(1,1,1)为预测模型。根据上述得到的模型进行预测,预测模型见图9。
图9 预测结果
其中名为REAL 的深色折线为真实数据,名为FORECAST 的浅色折线为预测数据。
本文采用百分比绝对误差(MAPE)来衡量预测准确率,计算公式为其中xt为真实值,x′t为预测值。
如图所示,预测数据能较好地拟合真实数据,这里通过MAPE 方法误差率为27.29%,能够满足工程要求。
本文针对电气化铁路对电网电能质量的影响问题,提出了针对主供监测点的电能质量趋势分析方法,方法主要分为两个部分,第一是利用监测点的有功功率指标进行主供监测点的识别,采用的是KMeans 聚类的方法,第二是利用时间序列分析模型ARIMA,对先前得到的主供监测点的多个主要指标进行建模,对其进行预测。最后本文利用实际监测点的监测数据进行了实验验证,结果表明该方法的误差率在合理范围之内,可以在实际的工程中进行应用。接下来的工作将针对如何提高准确率及效率进行更进一步的研究与探索,在第一阶段可以对KMeans 初始化聚类中心的选择进行优化,第二阶段可以选用不同的方法(比如BP 神经网络)进行预测并对比其效果。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!