APP下载

基于支持向量机-蚁群算法的电气化铁路牵引负荷参数辨识

2021-11-04应宜辰吴命利杨少兵刘秋降

铁道学报 2021年9期
关键词:变电所阈值向量

应宜辰,吴命利,杨少兵,刘秋降

(北京交通大学 电气工程学院, 北京 100044)

近年来,我国电气化铁路的规模快速增长,牵引供电系统与电网的相互作用日益引起人们的重视,研究这类问题往往需要对包含牵引供电系统在内的整个电力系统进行更精细化的仿真分析,这对牵引负荷建模提出了更高要求。常用的牵引负荷模型主要包括3种:①恒定电流源或功率源模型,不考虑牵引负荷的波动性,常用于电力系统确定性仿真[1-2];②基于列车牵引计算和运行图的动态模型,考虑线路状况、列车运行特性及运输组织方式等因素,能较准确地模拟牵引负荷过程[3];③基于大量实测数据的概率模型,从数据中挖掘规律并采用概率函数建模,能刻画牵引负荷在复杂因素影响下的统计特征[4-7]。第一种方法忽略了牵引负荷的波动特性,在精度要求较高或者需要获得统计参数(如某些电能质量指标)的电力系统仿真中,无法满足要求;第二种方法复杂度很高,当涉及系统规模较大时应用不便;第三种方法基于数据驱动,比较容易与现在应用较多的智能算法相结合,模型可以随着数据及时更新。因此,目前第三种方法被广泛应用于分析牵引负荷对电力系统的影响。

在使用概率模型对于牵引负荷进行描述的时候,首先需要根据得到的实测数据对概率模型进行参数辨识,然后使用辨识得到的参数对牵引负荷进行描述。在实际应用中,判定所拟合函数是否真正地收敛到了真实的概率分布往往需要一个评价标准对参数辨识结果进行评价,并且该评价标准还能对接下来的参数优化方向提供指导,这种思路与现在出现的一些新型智能算法有着相同的理念,如,逻辑回归、支持向量机、神经网络等算法,都采用损失函数作为评价标准确定寻优方向。在负荷参数辨识中,由于多个参数往往具有一定的相关性,如牵引负荷的概率分布往往与列车通过数量以及列车自身功率的分布有关。因此,使用合适的评价标准对于这些参数的优化方向选择具有实际意义。目前一些文献结合智能算法进行负荷参数辨识取得一些进展,例如,文献[8]提出了一种基于负荷趋势变化不同分段进行负荷参数辨识的方法,结合了4种智能算法进行参数辨识,结果由4种方法加权产生,最后得到了精度较高的预测结果,但是该方法过于复杂;文献[9]提出了一种非参数核密度估计方法来进行牵引负荷的谐波电流分布预测,该方法可以不假设数据服从某种分布而直接根据数据本身进行拟合,省去了先验假设环节,但是这种方法对于数据本身的要求较高,若存在一些异常数据点,该方法可能导致拟合结果异常;文献[10]提出了一种分段拟合电流曲线的方法,对曲线各个分段采用不同的拟合函数进行拟合,该方法简单易行,但是需要手动设置分段区间;文献[11]提出了一种基于模拟退火算法的牵引馈线负荷参数辨识方法,该算法可以比较准确地估计牵引馈线的有功和无功水平,但是该算法容易陷入一个局部范围的搜索中,使得只可能得到一个局部最优解;文献[12]提出了一种基于改进蚁群算法的客运专线电力负荷参数辨识方法,该算法使用了轮盘赌法作为参数的选取方法,充分利用了轮盘赌法的随机性使得寻优算法不至于陷入局部最优,但是该算法并没有充分利用之前的蚁群寻优失败的数据,没能更好地找出最优参数所在的区间。本文提出了一种利用支持向量机指导的蚁群算法进行牵引负荷的参数辨识,该方法使用蚁群寻优后所反馈数据对于支持向量机进行训练,然后使用支持向量机反过来指导蚁群寻优的方向,并且设置了阈值来调整寻优方向的宽度,使得蚁群寻优可以在一个可控的范围内逼近全局最优解。

本文基于二项分布的行车密度公式,给出了描述牵引变电所有功功率的负荷模型;针对蚁群算法的随机范围不可控的问题,提出了一种利用蚁群寻优反馈数据训练支持向量机,然后使用支持向量机来指导蚁群算法随机范围的方法;给出了支持向量机指导蚁群算法的原理以及算法本身的适用性,提出了在实际应用中应如何根据实际的需求选定合适的阈值ε进行寻优范围的优化;阐述了改进后的蚁群算法进行牵引变电所牵引负荷数学模型的参数辨识流程,并进行了实例仿真验证。

1 电气化铁路牵引负荷模型

1.1 列车功率概率模型

对于运行的单台列车而言,其功率除受自身参数影响外还主要受到以下外界因素影响:①线路限速;②线路坡度;③线路曲线半径;④实际运行过程中的一些随机因素,如天气情况、线路环境、受电弓的受流质量、司机操作习惯等[13-14]。考虑列车运行受到诸多确定性、不确定性因素的影响,根据大数定律和中心极限定律,列车的有功功率分布在大样本空间上应当服从正态分布。某动车组24 h功率实测值与拟合值对比见图1。使用正态分布对其进行拟合,决定系数达到了0.966。文献[15-17]研究得出了无论是牵引计算的结果或是直接使用曲线拟合的结果,列车的有功功率都近似满足正态分布的结论。因此,单台列车的功率概率密度函数在测量数据范围内近似服从正态分布。

图1 某列车功率实测值与拟合值对比

1.2 列车通过供电区间的概率模型

对于通过某供电区间列车数量的概率模型,文献[12]将其考虑为一个正态分布模型,但是由于正态分布模型的值有可能取到负数,而事实上列车的数量不可能为负,因此实际使用时需要对该模型进行一定的条件限制,而对于模型进行修改又改变了模型本身特性,增加了模型的复杂性。

文献[18]研究指出在测量时间足够长的情况下,可认为列车的出现完全是一个独立随机事件,与其他区间上是否有列车无关,这一结论说明列车通过供电区间的分布符合二项分布,见图2。

图2 二项分布拟合列车概率密度示意图

考虑到实际使用中列车的数量不可能为负值,二项分布也具有相同的特性,故将列车通过某供电区间的概率模型考虑为一个二项分布模型更符合实际。

1.3 牵引变电所功率概率模型

由上述分析可知,单台列车的有功功率概率分布和通过某供电区段内的列车数量概率分布,令随机变量X、Y分别表示单台列车的有功功率、供电区间内的列车数量,则牵引变电所功率的表达式为[5]

(1)

式中:C为牵引变电所的空载功率。由于牵引变电所的空载功率一般较小可以忽略不计,故由式(1)可知,牵引变电所的功率是由随机变量X、Y决定的,由前面的分析可知,随机变量X可描述为

X~N(μ,σ)

(2)

式中:N为正态分布函数;μ、σ分别为单台列车有功功率的均值、方差。

随机变量Y可描述为

Y~B(n,p)

(3)

式中:B为二项分布函数;n为同一时间通过供电区间列车数量的最大值;p为单台列车通过供电区间的概率。

因此,牵引变电所的有功功率概率分布实际上是由μ、σ、n、p参数决定的,只需要辨识出这4个参数,就可以描述出牵引变电所的概率分布情况。

2 负荷模型参数辨识算法设计

2.1 解空间

由上述分析可知,辨识出μ、σ、n、p这4个参数,就可以确定牵引变电所的有功功率概率分布。因此,目前的问题转化为找到一组μ、σ、n、p,使得按照这组参数仿真得到的有功功率与实测牵引变电所有功功率之间的误差最小。故这是一个最优化问题,而针对最优化问题,有很多的智能算法可供选择,如遗传算法、蚁群算法、模拟退火算法等。这些算法的本质都是在设定一个目标函数的情况下找到一个最优解,实际上这些算法都可以对于牵引负荷进行参数辨识,但考虑到篇幅有限,本文采用蚁群算法作为例子进行参数辨识的算法设计。

考虑到原始的蚁群算法是面向离散域设计与求解的,而本文所需要辨识的参数μ、σ、n、p是连续域的参数,故采取网格化的划分策略来进行蚁群算法的解空间设计。

设x为待求变量,x∈(xmin,xmax)。根据变量x的范围将x均匀地划分为N格,每格的宽度Δx=(xmax-xmin)/N,将每格的中心作为节点,其取值为

(4)

式中:i=1,2,3,…,N。

对于本文的问题,由于有4个待求参数,故其解空间应为4×N矩阵。

为了提高变量识别的速度和精度,根据文献[12],对蚁群算法进行了一定改进,每进行一定的循环次数,对于网格的宽度△x进行一定的缩小,即

(5)

式中:xopt为当前轮次迭代最优值;α∈(0,1)为收缩系数,收缩系数表示范围收缩的快慢。

2.2 目标函数

蚁群算法的原目标函数是计算蚂蚁走过的总路径长度,因为其需要找到最优的路径[19-21],对于本文的问题来说,需要找到的是最优的参数使得仿真数据与实测数据的误差最小,故本文的目标函数是计算仿真数据与实测数据之间的误差。选择M个实测数据,其值为(xk,yk),xk、yk分别为第k个数据的有功功率值、概率密度值,k=1,2,3,…,M。设lΣ为蒙特卡罗仿真输出的功率样本总数,lk为落入(xk-Δp,xk+Δp)区间的样本数,2Δp为功率概率密度函数的统计区间长度,则目标函数f为

(6)

得到目标函数f值之后,就可以使用f值更新信息素矩阵的值,具体更新的公式为

(7)

(8)

(9)

每当一只蚂蚁走完4个节点,即选定一组参数组,则根据该组参数组所确定的f值更新信息素矩阵与转移概率。最终,当所有蚂蚁都走完4个节点的时候,选择信息素矩阵每行的最大值所对应的解作为最终寻优得到的结果。

3 基于支持向量机的辨识算法改进

3.1 问题描述

蚁群算法选择下一组参数的方式是轮盘赌法,该方法存在的一个问题是对于下一组参数的选择具有较大的随机性。蚁群算法已经通过信息素的方式来记录历史寻优数据,尽管它对接下来的参数选择概率有一定的影响,但是由于进行了式(5)的参数范围收缩,使得一开始的初始参数对于之后的参数范围有着极大的影响。由于轮盘赌法是根据转移概率随机地进行参数选择,在所有蚂蚁都走完一遍路径之后,根据信息素的最大值选择最优参数组。在这种情况下可能会出现所有选择出的参数组都具有较大的误差,而最终选择出的最优参数组只是这些具有较大误差的参数组中的最小的一个。此时,进行式(5)的范围收缩就会使得最终收缩得到的参数范围并不是一个好的范围。

事实上,有时候很难去确定什么样的初始参数才是一个比较好的初始参数,而增加一个基于误差的指导函数就可以比较好的解决这一问题,因为基于误差的指导函数不依赖于初始参数的选择。

对于本文的问题来说,需要辨识的参数为μ、σ、n、p,最终评价这些参数是否为一个好的参数的标准为仿真数据与实测数据之间的误差。因此,可以设定一个基于误差的指导函数对参数接下来的优化方向进行指导。由于牵引变电所功率的概率分布与列车的通过数量以及列车自身所需的功率的分布有关,而列车数量的变化以及列车功率的变化对于牵引变电所功率的影响也是渐变的,并不是突变的。因此,实际上可以得到以参数组为自变量、误差为因变量的连续函数。如果对于误差值设定一个合适的阈值,认为在这个阈值以下的误差是可以接受的,而在这个阈值以上的误差是不能接受的,那么上述问题就转变为一个分类问题。

在本文中,对于上面所述的分类问题,使用了支持向量机作为分类器。支持向量机是通过将原始空间经内积函数的定义转换到一个新的更髙维的空间,在该髙维空间中对样本进行分类的方法,并且通过核函数的方式,可以将线性的分类边界转化为非线性的分类边界,从而获得更好的泛化性能。本文所使用的的支持向量机的核函数为高斯核函数。高斯核函数的形式为

(10)

式中:lj∈Rn为第j个标记点;xi为待分类数据;fj为xi在高斯核函数下与标记点lj相互作用的数值。实际上不难发现,fj的值与xi与标记点lj之间的距离有关,当xi与lj十分接近时,f的值就会非常接近于1,当xi与lj距离较远时,f的值就会变得非常接近于0,这就说明f值实际上表征的是数据点xi到标记点l的距离大小,而如果给f定一个阈值,选定小于f的值为与标记点l相同的一类样本,而大于f的值为另一类样本,就可以完成分类的效果。

采用高斯核函数进行分类的支持向量机需满足以下约束

(11)

式中:w为权值向量;f(i)=(f1,f2,…,fn)表示数据点xi与各个标记点fj之间的核函数值向量;n为总的标记点个数[22-23]。

3.2 算法改进

基于上述分析,本文提出了一种基于支持向量机的参数组选择方法。具体步骤为:

Step1运行不加收缩系数的蚁群算法,并记录每轮蚁群算法的路径值与相应的参数组(μ、σ、n、p),对于本文的这个问题来讲,蚁群算法的路径值即为蒙特卡洛仿真数据与实测数据之间的误差值。

Step2设计阈值ε,将误差大于阈值ε的参数组标记为0,将误差小于阈值ε的参数组标记为1,并将带标记的数据输入支持向量机进行训练,支持向量机的核函数选用高斯核函数。

Step3运行加收缩系数的蚁群算法,但是在根据转移概率轮盘赌法选择参数的时候,将选择好的参数组(μ、σ、n、p)输入训练好的支持向量机模型进行预测,若预测结果为1,则选用该参数组作为下一组参数组,若预测结果为0,则重新轮盘赌法选择参数。

由于增加了蚁群算法参数预辨识过程以及支持向量机的训练和判定环节,算法的总体运行时间是有所增加的。具体计算量分析为:蚁群算法的参数预辨识过程只运行了一组蚁群循环,而且并没有加收缩系数环节,所以其计算量只相当于后面运行20次蚁群循环的1/20不到,故总体的计算量增长低于5%;对于支持向量机的训练环节来说,其训练时间还不足一个蚁群循环的运行时间,故其计算量增长低于0.5%;对于支持向量机的判定环节,由于支持向量机已经是训练好的网络,其判定速度非常快,其相对整个蚁群循环的运算量增长可以忽略不计。根据实测的运行时间,实际运算量的增长在5%左右。

根据上面的分析可知,阈值ε的选择是用来限定选择出的最优参数组的误差上限的,从而避免轮盘赌法的随机性过大而导致的参数收缩范围不合理问题。但是对于阈值的选择不当也会造成以下问题:如果阈值ε过大,则会导致最优参数组的误差上限过高,那支持向量机对于参数选择的指导作用就显得很有限,如果将阈值选择为1,那么整个算法就退化为不加支持向量机的蚁群寻优算法;如果阈值ε选的过小,那么支持向量机的正样本数量在总体样本中的占比就会非常小,被排除掉的参数组就会占大多数,此时支持向量机可能会进入一个过拟合状态,使得其过于谨慎地进行指导,甚至可能排除掉一些可能具有更好结果的参数组序列。故对于阈值ε的选择应当综合考虑实际的算例情况,通过观察支持向量机的正负样本的数量在总体样本中的占比,从而设置合理的阈值ε。

3.3 辨识过程

需要辨识μ、σ、n、p4个参数。对于μ、σ,若输入数据的最大功率值为pmax,可设μ的初值为pmax/2,寻优范围为(0,pmax),设σ的初值为pmax/3,寻优范围为(0,pmax/6)。对于n、p,应根据具体的运行图制定,假设同一时间最大运行车辆为nmax辆,则n的取值范围为(0,nmax),初始值选择为nmax/2,对于p的初始值选择,可取其范围均值0.5,范围为(0,1)。

支持向量机-蚁群优化算法总体流程由三部分组成,分别为蚁群算法参数预辨识、支持向量机训练、支持向量机-蚁群算法参数辨识,具体步骤为:

Step1初始化算法各个参数,设定阈值ε,根据式(4)初始化解空间矩阵。

Step2执行蚁群循环,并记录蚁群循环中的参数组与其对应的误差值f。

Step3判定是否达到最大迭代次数,是则结束参数预辨识程序,若未达到,则返回Step2。

Step4使用记录的f值与参数组,将f>ε的参数组标记为0,将f<ε的参数组标记为1,将带标记的数据输入支持向量机进行训练,得到训练完成的支持向量机模型。

Step5设置外循环迭代次数。

Step6重新初始化算法各个参数,根据式(4)初始化解空间矩阵。

Step7执行改进蚁群循环,在蚁群循环最后一步增加支持向量机判定环节,将选择好的参数组输入训练完成的支持向量机模型进行预测,若输出为1,则选择该参数组作为下一组参数组,若输出为0,则重新选择参数组。

Step8根据信息素矩阵输出最优参数组,判定是否达到内循环最大次数,是则记录最优参数组,结束内循环,否则按式(5)更新解空间矩阵,返回Step7。

Step9判定是否达到外循环最大次数,是则将记录的最优参数组依次进行蒙特卡罗仿真,将其与真实数据进行对比,计算误差,选择误差最小的参数组作为最终的参数辨识结果,否则返回Step6。

其中,Step1~Step4为蚁群算法参数预辨识过程,Step5为支持向量机训练过程,Step6~Step9为支持向量机-蚁群算法参数辨识。

算法的流程框图见图3。

图3 支持向量机-蚁群优化算法流程图

4 算例验证

选择京津城际南仓变电所、京沪高铁李营变电所、大秦重载货运线木林变电所3个变电所的实测有功功率概率密度值进行参数辨识验证,使用Matlab进行仿真验证,下面以南仓变电所为例,说明验证的具体过程。

(1)选取南仓变电所功率概率密度值在最大概率值附近的6个点进行曲线拟合,这6个点基本上是概率密度较为显著的点,而非一些可能是由随机事件造成的小概率事件点,分别为(1.5,0.85%)、(5.5,10.72%)、(9.5,8.5%)、(13.5,3.18%)、(17.5,0.76%)、(21.5,0.19%)。

(2)设置μ∈(0.1,6),初始值为3,σ∈(0.1,2),初始值为1,n∈(1,6),初始值为4,p∈(0,1),初始值为0.5,挥发系数ρ=0.5,阈值ε=0.4,信息素强度Q=100,收缩系数α=0.5,网格数量N=100,信息素矩阵初始化为全100的矩阵,蒙特卡罗仿真样本数30 000个,功率概率密度统计区间长度的一半Δp=0.5 MW,用来参数预辨识的蚂蚁数量为10只,迭代次数为100次,用来正式参数辨识的蚂蚁数量为50只,内循环迭代次数为5次,外循环迭代次数为100次。

(3)运行支持向量机-蚁群优化算法。

参数的最终辨识结果为:(μ,σ,n,p)=(2.025,0.660,6,0.643),将最终参数辨识结果输入蒙特卡罗仿真进行验证,输出随机样本30 000个并统计其概率密度将其与实际值做对比。同理可以进行京沪高铁李营变电所、大秦重载货运线木林变电所的负荷参数辨识,3个变电所功率概率密度实测值与拟合值对比见图4。图4(c)中,由于木林变电所空载功率较大,故在空载功率处存在尖峰,将空载功率点忽略后,拟合效果也非常好。

图4 3个变电所功率概率密度值实测值与拟合值对比

支持向量机优化的蚁群算法与不进行支持向量机优化的蚁群算法参数辨识结果对比见表1。拟合误差表示的是所拟合函数与拟合点之间的误差,用来评估所拟合函数的拟合准确度,而泛化误差则表示的是所拟合函数与未拟合的实测数据点之间的误差,用来评估拟合函数对于未知数据的预测能力,一个好的拟合函数应该兼顾对于所拟合数据的拟合能力以及未知数据的预测能力[24]。由表1可知,由支持向量机改进后的蚁群算法在拟合误差同样很小的情况下,其具有更小的泛化误差,故其辨识出的参数组具有更强的泛化性能。

表1 蚁群算法直接参数辨识与使用支持向量机优化的蚁群算法参数辨识结果对比

5 结论

牵引负荷建模工作有助于揭示电气化铁路对于电网的影响机理,其中参数辨识的准确性至关重要。基于上述工作,本文主要得出以下结论:

(1)基于二项分布的列车行车密度描述方法,给出的牵引变电所电力负荷概率模型,能够准确地描述牵引负荷的随机波动性和统计特征。

(2)考虑到模型参数之间的关联性,提出了通过机器学习算法改进辨识精度的思路,并基于支持向量机给出了改进方案和具体步骤,研究表明,支持向量机增强了参数辨识算法在领域选择上的倾向性,提高了牵引负荷模型参数辨识的准确性。

(3)分析阈值的选择对于支持向量机最后分类效果的影响,得出在实际的操作中,不仅需要根据误差要求动态调整阈值,也需要考虑训练支持向量机的正负样本的占比问题。

最后,本文所提方法的支持向量机的指导作用不仅能适用于蚁群算法,实际上还能适用于各种可以利用历史误差数据的寻优算法,其本质是挖掘模型参数之间存在的隐性联系或者很难用简单的表达式来描述的显性联系,通过将各个参数映射至高维空间再进行分类的方法,将这种联系进行数值化表述,进而可以进一步指导参数的优化方向,实际上,只要模型参数之间存在内在联系,该方法就具有可行性。

猜你喜欢

变电所阈值向量
向量的分解
土石坝坝体失稳破坏降水阈值的确定方法
聚焦“向量与三角”创新题
采用红细胞沉降率和C-反应蛋白作为假体周围感染的阈值
铁路牵引变电所无线电干扰特性的研究
变电所如何快速查找直流系统接地
向量垂直在解析几何中的应用
向量五种“变身” 玩转圆锥曲线
辽宁强对流天气物理量阈值探索统计分析
一种改进的小波阈值降噪方法