CN114330526B - 基于tgo-ssa-fcm算法的交通流量缺失数据修复方法 - Google Patents
基于tgo-ssa-fcm算法的交通流量缺失数据修复方法 Download PDFInfo
- Publication number
- CN114330526B CN114330526B CN202111590755.8A CN202111590755A CN114330526B CN 114330526 B CN114330526 B CN 114330526B CN 202111590755 A CN202111590755 A CN 202111590755A CN 114330526 B CN114330526 B CN 114330526B
- Authority
- CN
- China
- Prior art keywords
- algorithm
- sparrow
- fcm
- input data
- ssa
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 241000287127 Passeridae Species 0.000 claims abstract description 103
- 239000011159 matrix material Substances 0.000 claims abstract description 87
- 238000005457 optimization Methods 0.000 claims description 17
- 238000012216 screening Methods 0.000 claims description 5
- 230000008439 repair process Effects 0.000 abstract description 27
- 230000000694 effects Effects 0.000 description 26
- 230000006870 function Effects 0.000 description 12
- 238000004364 calculation method Methods 0.000 description 8
- 238000012217 deletion Methods 0.000 description 7
- 230000037430 deletion Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000005259 measurement Methods 0.000 description 3
- 239000002245 particle Substances 0.000 description 3
- 238000011160 research Methods 0.000 description 2
- 238000010845 search algorithm Methods 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 241000234642 Festuca Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Landscapes
- Traffic Control Systems (AREA)
Abstract
本发明提供了基于TGO‑SSA‑FCM算法的交通流量缺失数据修复方法。该方法包括:获取交通流量的输入数据矩阵,并输入到TGO算法中,确定TGO算法中的聚类数K的取值范围,确定聚类数K对应的初始聚类中心;将FCM算法中的参数m和K带入SSA算法中,对SSA算法中每个麻雀的位置进行初始化;将输入数据矩阵、初始聚类中心C、m和K输入到FCM算法中,FCM计算出各麻雀对应的FCM预测值和每个麻雀的适应度值;当判断满足SSA算法的终止条件后,将取得最佳适应度值的麻雀作为全局最优麻雀,将该全局最优麻雀对应的FCM预测值作为输入数据矩阵中的缺失数据的预测值。本发明方法弥补了传统FCM算法参数m和K随机选取、初始聚类中心随机选取,可以实现有效地修复交通流量数据中的缺失数据。
Description
技术领域
本发明涉及交通流量数据修复技术领域,尤其涉及一种基于TGO-SSA-FCM算法的交通流量缺失数据修复方法。
背景技术
各类交通传感器被广泛安置于城市路网中,交通传感器利用地磁线圈、红外线、视频和声波等技术,获取车流量、行车速度、时间占有率、跟车百分比和车头时距等交通数据,为交通管理者分析交通流变化规律、评估交通状态、制定交通管控措施奠定了坚实的基础。然而,在实际情况下,受自然条件、通信条件、电力条件和设备自身故障等影响,经常会出现缺失数据,很难保证交通数据的完整性和准确性,这会成为交通数据分析的阻碍,因为一些常用的数据挖掘算法如支持向量机、神经网络、集成学习等在具体应用时都需要完整数据集的支撑。
在众多交通数据中,交通流量数据是最能直接反应交通运行状态的数据,因此如何对缺失的交通流量数据进行修复成为当前研究的热点问题之一。
目前,现有技术中的一种交通流量数据的修复方法包括:利用交通流自身的特性(时间相关性、空间相关性、属性值相关性),将相关性较高的交通流量数据组成输入数据矩阵,结合相应的机器学习模型进行数据修复。时间相关性,指同一道路上的交通检测器在同一周连续5个工作日内的交通流量分布规律相似,连续两个非工作日的交通流量分布规律相似。空间相关性,指同一道路上相邻的两交通检测器交通流量波形接近,呈现出一定的错峰规律,错峰时间间隔与两检测器的距离、平均车速有关。属性值相关性,指交通检测器获取的车速、时间占有率等其他属性数据与交通流量数据存在一定的关联,例如在车速低的时候,一般表明出现交通拥堵,时间占有率数据偏高,交通流量数据偏大。
利用一些优化算法对FCM中的参数m和K进行寻优,提升数据修复的效果。例如使用GA(Genetic Algorithm,遗传算法)优化、使用GA和SVR(support vector regression,支持向量机回归)进行联合优化,使用PSO(Particle swarm optimization,粒子群算法)算法来进行优化。
上述现有技术中的一种交通流量数据的修复方法的缺点为:未解决FCM算法初始聚类中心随机选取的问题,这会导致每次运行的结果存在一定的波动性,如果某次随机效果不好,容易导致最终修复的误差偏大。上述优化算法相对陈旧,容易陷入局部最优,导致搜索到的m和K组合并不是最优组合。
发明内容
本发明的实施例提供了一种基于TGO-SSA-FCM算法的交通流量缺失数据修复方法,以实现有效地对交通流量数据进行修复。
为了实现上述目的,本发明采取了如下技术方案。
一种基于TGO-SSA-FCM算法的交通流量缺失数据修复方法,包括:
获取交通流量的输入数据矩阵;
将所述输入数据矩阵输入到TGO算法中,确定TGO算法中的聚类数K的取值范围,确定聚类数K对应的初始聚类中心;
将FCM算法中的参数m和K带入SSA算法中,对SSA算法中每个麻雀的位置进行初始化;
将输入数据矩阵、初始聚类中心C、m和K输入到FCM算法中,FCM计算出各麻雀对应的FCM预测值和每个麻雀的适应度值;
当判断满足SSA算法的终止条件后,将取得最佳适应度值的麻雀作为全局最优麻雀,将该全局最优麻雀对应的FCM预测值作为所述输入数据矩阵中的缺失数据的预测值。
优选地,所述的获取交通流量的输入数据矩阵包括:
通过道路检测器采集指定路段的设定时间段内的交通流量数据,根据所述交通流量数据的时间相关性或属性值相关性组合成输入数据矩阵,所述输入数据矩阵包括人工缺失数据和自然缺失数据。
优选地,所述的将所述输入数据矩阵输入到TGO算法中,确定TGO算法中的聚类数K的取值范围,确定聚类数K对应的初始聚类中心,包括:
将所述输入数据矩阵输入到TGO算法中,确定TGO算法中的聚类数K的取值范围,将不同K依次带入TGO算法中,TGO算法将输入数据矩阵划分为大小相同的网格,进行两次优化,根据输入数据矩阵中的数据自身分布情况筛选出不同聚类数K对应的矩阵形式的初始聚类中心,所述初始聚类中心的矩阵的行数为K,列数为所述输入数据矩阵的维度。
优选地,所述的将FCM算法中的参数m和K带入SSA算法中,对SSA算法中每个麻雀的位置进行初始化,包括:
确定FCM算法中参数m的取值范围,将m和K的范围带入SSA算法中,将每个麻雀的位置进行初始化,将SSA算法中麻雀的位置标记为FCM算法中的参数m和K,利用参数m和K组成二维数组;
每个麻雀的初始位置是二维数组(x,y),其中x为m在合理范围内的随机值,y为K在合理范围内的随机值。每次更新位置时也会确保x和y不会超出范围。
优选地,所述的将输入数据矩阵、初始聚类中心C、m和K输入到FCM算法中,FCM计算出各麻雀对应的FCM预测值和每个麻雀的适应度值,包括:
将输入数据矩阵、初始聚类中心C、m和K输入到FCM中,FCM计算出各麻雀对应的FCM预测值和每个麻雀的适应度值,将各麻雀对应的FCM预测值作为缺失数据的预测值,所述适应度值指FCM对人工缺失数据的预测值和人工缺失数据的均方根误差RMSE。
优选地,所述的当判断满足SSA算法的终止条件后,将取得最佳适应度值的麻雀作为全局最优麻雀,将该全局最优麻雀对应的FCM预测值作为所述输入数据矩阵中的缺失数据的预测值,包括:
根据计算出的全部麻雀的适应度值,判断是否满足SSA算法的终止条件,如果不满足,则按照SSA算法的公式,根据适应度值更新每一类、每一只麻雀的位置,并重新根据麻雀的位置更新各麻雀的适应度值,直到满足终止条件;
将满足终止条件时取得最佳适应度值的麻雀作为全局最优麻雀,将该全局最优麻雀对应的FCM预测值作为自然缺失数据的预测值,根据该预测值修复输入数据矩阵中的自然缺失数据。
优选地,所述终止条件包括:达到SSA最大迭代次数,或者在连续N次迭代中最优适应度值不变。
由上述本发明的实施例提供的技术方案可以看出,本发明实施例的基于TGO-SSA-FCM算法的交通流量缺失数据修复方法弥补了传统FCM算法参数m和K随机选取、初始聚类中心随机选取,并且上述参数对FCM聚类效果影响较大的问题,可以实现有效地修复交通流量数据中的缺失数据。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于TGO-SSA-FCM的交通流量数据修复方法的处理流程图;
图2为实施实例中TR模式输入数据矩阵的数据图。
图3为实施实例中SR模式输入数据矩阵的数据图。
图4为实施实例中AR模式输入数据矩阵的数据图。
图5为实施实例中TGO算法的过程示例。
图6为实施实例中TGO算法的XB计算结果。
图7为实施实例中各修复算法的对比结果。
图8为实施实例中各修复算法在不同输入数据矩阵时的均方根误差图。
图9为实施实例中各修复算法在不同输入数据矩阵时的相对准确率图。
图10为图8中各算法的均方根误差箱型图。
图11为图9中各算法的相对准确率箱型图。
具体实施方式
下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。
本发明实施例提供了一种基于TGO-SSA-FCM算法的交通流量缺失数据修复方法。该方法利用交通流量数据的时间相关性,将同一道路检测器在同一周连续5个工作日的交通流量数据组成数据矩阵,提出一种TGO(Twice grid optimization,二次网格优化)算法,根据数据自身分布情况筛选出不同聚类数K对应的初始聚类中心。然后,利用SSA(SparrowSearch Algorithm,麻雀搜索算法)将各麻雀的位置设置为FCM(Fuzzy C-means,模糊C均值)中的参数m和K,并将上述初始聚类中心和参数带入FCM中进行数据修复,将修复效果和实际数据的均方根误差作为适应度函数,将最优适应度值对应的修复效果最为最终修复效果。
输入数据矩阵:将同一道路交通检测器同一周连续5个工作日内的交通流量数据组成数据矩阵,每一列为同一天不同时间段的交通流量数据。如果数据采集间隔为5分钟,则输入数据矩阵的维度为288×5。
TGO算法是本发明提出的一种搜索初始聚类中心的算法。TGO算法:将输入数据矩阵划分为大小相同的网格,进行两次优化,得到不同聚类数K条件下的不同初始聚类中心。下面对TGO算法中的一些概念进行定义:
[假定数据集为X={x1,…,xj,…,xk},共K个维度,以每个维度为单位,按照各维度数据的长度将每个维度数据划分为m个网格,每个网格标注为Qjn,n=[1,2,…,m]。
定义1.网格长度Lj。表示各网格Qjn在第j维度的范围:
定义2.网格相对密度qjn,与网格内数据点的个数直接相关,用于比较同一维度内网格的相对密度。qjn越大表明该网格内数据点越密集,成为聚类中心的可能性越大。
其中gi为网格Qjn内数值第i大的数据点,gmin为最小的数据点。
定义3.网格密度占比pjn,表示网格Qjn的相对密度在第j个维度内的占比。
定义4.网格中心点Cjn,将网格内的数据用一个中心点表示,数值为网格Qjn内数据的中位数。
定义5.深度优先搜索策略(Depth-first search strategy,DFSS),即使用图论中的深度优先搜索算法,对各网格中心点Cjn按照维度的方向进行遍历,每次搜索分别从每个维度中选取一个网格中心点,组成一个K维数据,作为一个聚类中心点。
定义6.高相似度数据(High similarity data,HSD),指输入数据在各个维度的数据结构高度相似,即从数据分布规律来看,各个维度数据Lj接近,从相似度来看,各维度数据相关系数较高。
TGO算法的步骤如下:
步骤一:确定聚类数K,计算Lj、qjn、pjn。
步骤二:第一次网格优化,设置设置密度阈值ε,将pjn在ε以下的网格剔除,降低后续计算的复杂度。对于剩余网格,设定每个维度剩余网格数为Rj,计算网格中心点Cjr,r=[1,2,…,Rj]。将这些中心点组成的集合称为第一次聚类中心Primary clustering center
步骤三:按照深度优先搜索策略对CF中的网格中心点进行组合。假定分类数,即聚类中心个数为S,则一组聚类中心C由S个聚类中心点组成,每个聚类中心点由K个网格中心点组成,可表示为:C={(c11,…,c1j,…,c1k),…,(cS1,…,cSj,…cSk)}。深度优先策略可组成多组聚类中心。
步骤四:第二次网格优化,优化的目的是进一步降低计算复杂度,具体做法是根据以下两个原则设置维度阈值及聚类中心阈值,剔除不符合要求的多组聚类中心:
原则1,不同聚类中心在相同维度内的距离应相对较远;
原则2,对于高相似度数据,应确保同一聚类中心的各维度数值差距较小。
对于原则1,设置维度阈值αj=2Lj,αj表示各中心点在第j维度的差值,则需要确保|caj-cbj|≥αj,其中
原则2中,对于高相似度数据,例如本文中的TR模式数据,各维度Lj较为接近,可以取均值作为网格长度。在实际计算中发现,对于这一类数据,当各个聚类中心不同维度数据值接近时,往往能取得较好的聚类效果。因此,设置聚类中心阈值β=0.9L。β表示同一聚类中心在不同维度的差值,需要确保|csc-csd|≥β,其中/>s∈[1,2,…,S]。
步骤五:按照深度优先原则及维度阈值,对CF中的聚类中心进行筛选,得到符合条件的聚类中心集合,称为第二次聚类中心Second clustering centerCS。
步骤六:对CS中的聚类中心,结合输入数据矩阵,计算Xie-beni(XB)指数,选取XB指数最小的S个CS作为FCM的初始聚类中心。
其中表示样本xi对聚类中心cj的隶属程度,m为加权指数,d表示欧氏距离。
SSA算法:模仿麻雀的捕食过程,假定在D维空间中有N只麻雀,则第i只麻雀在D维空间的位置为xi={xi1,…,xid,…,xiD}其中xid表示第i只麻雀在第d维的位置。所有麻雀分为发现者、加入者、警戒者,更高的适应度值代表更好的食物。
发现者指种群中适应度较高的麻雀,其主要作用是在种群环境安全的条件下进行广泛的搜索,优先获得食物信息,为加入者提供位置和方向,引导种群获得更高的适应度值。发现者的位置更新公式如下:
其中表示第t次迭代时,第i只麻雀在第d维中的位置,α为(0,1]之间的随机数,T为迭代的最大次数。R2∈[0,1]和ST∈[0.5,1]分别分为预警值和安全值。Q为服从正态分布的随机数,L表示大小为1*d,元素全为1的矩阵。当R2小于ST时,表明周围环境安全,发现者可以广泛搜索,反之则表明周围环境危险,需要移动到其他安全区域搜索。
加入者指除发现者以外的剩余麻雀,其主要作用是追随发现者进行局部搜索。一旦发现者发现了更好的食物,加入者就会进行追随。加入者的位置更新公式如下:
公式中为第t次迭代时全局最差位置在d维度的坐标。/>表示发现者搜索到的最优位置在d维度的坐标。当/>时,表明第i个加入者没有获得食物,需要飞往其他区域觅食,反之则表示将在最优位置xp处附近进行局部搜索。
加入者中的小部分麻雀是警戒者,这些麻雀在种群中的初始位置是随机产生的,主要作用是当部分加入者在某个小范围内无法获得食物(更好的适应度值)时进行警戒,将上述区域标记为危险区域,引导麻雀到安全的区域捕食。警戒者的位置更新公式如下:
其中表示在第t+1次迭代时,全局最优位置在第d维空间的坐标,β是一个服从均值为0方差为1的正态分布随机数。fg和fw分别是全局最优适应度值和全局最差适应度值,K是一个[-1,1]之间的随机数,代表运动方向。ε是一个极小的常数,作用是避免分母为0。当fi≠fg时,表明麻雀处于种群边缘,容易遭遇危险。当fi=fg时,表明麻雀位于位于种群中间,为了避免危险要及时靠近其他麻雀。
SSA的步骤如下:
步骤一:初始化种群,设置种群规模、搜索范围等参数,随机设置麻雀初始属性,设置适应度函数。
步骤二:计算适应度值并排序,找到种群中最佳位置个体和最差位置个体。
步骤三:更新适应度值排名靠前麻雀(发现者)的位置,更新适应度值排名靠后麻雀(加入者)的位置,随机更新部分警戒者的位置。
步骤四:根据新位置重新计算适应度值,并与前一次迭代结果进行比较,保留最优位置。
步骤五:重复步骤二-步骤四,直到满足迭代终止条件,输出最佳适应度值和最优个体位置。
模糊C均值FCM算法:假设数据为X,它包含了n个不同元素,每种元素包含S个属性,则X可以用矩阵的方式进行表示:
其中,n是数据采集时间内获得的样本数量,在TR模式下,xij代表表一周内的第j个工作日中第i个数据采集间隔采集到的交通流量数据。FCM算法中整个数据集X被分成K个不同的类别其中ckj代表第K个聚类中心在第j维度的数值。
FCM算法的步骤如下:
步骤一:设置参数模糊加权指数m和聚类数量K,随机选取K个聚类中心,聚类中心维度与X维度相同。
步骤二:按照下式定义距离计算公式,计算各数据点到聚类中心的距离:
其中S表示数据维度,Iij表示第i个数据的第j个属性值是否缺失,其计算公式如下,XM表示缺失数据,XP表示非缺失数据。
步骤三:按照下式计算各数据点对聚类中心的隶属程度:
其中μik表示第i个数据对第K个聚类中心的隶属程度。
步骤四:定义FCM的目标函数,如下式所示:
判断目标函数是否满足终止条件,如果符合结束迭代,如果不符合则按照下式更新聚类中心,之后返回步骤二,直到获得最小目标函数值,并得到最优聚类中心C和隶属度U。
步骤五:按照下式计算缺失属性值xij。
本发明实施例提供的一种基于TGO-SSA-FCM的交通流量数据修复方法的处理流程如图1所示,包括如下的处理步骤:
步骤S10:取完整的输入数据矩阵,随机缺失一部分数据。这里的输入数据矩阵可以根据交通流的时间相关性或属性值相关性组合成不同的输入数据矩阵。例如可以利用附图2中的数据,即同一个道路检测器1周内连续5个工作日的交通流量数据组成输入数据矩阵。也可以利用附图3中,同一个检测器1周内连续5个工作日的交通流量数据、车速数据、时间占有率数据组成输入数据矩阵。
本发明的TGO-SSA-FCM算法中TGO和SSA都是优化FCM参数的,TGO算法为FCM算法提供了初始聚类中心,SSA算法为FCM算法确定最优参数m和K。最后利用FCM算法计算出一个预测值,用这个预测值补充上述输入数据矩阵中缺失的数据。
输入数据矩阵是整个TGO-SSA-FCM算法的输入量,输入数据矩阵可以是同一个检测器在同一周连续5个工作日的交通流量数据(即利用交通流的时间相关性组建输入数据矩阵),例如,下面的表2的数据,表2中数据的单位为:(辆/5分钟),表示检测器每5分钟测得的交通流量,例如表2中加粗的19.50,表示在星期一00:00-00:05这个时间段内,交通检测器总共检测到19.5辆车。有小数是因为不同车型的车辆需要按照不同系数折算为小客车数量,例如一辆中型货车会被折算为1.5辆小客车。
表2中的数据各列之间最大值、最小值接近,各数据随时间的变化规律也接近,因此表2中的数据即为本发明TGO算法步骤中描述的定义6“高相似度数据”,使用TGO算法时需要同时满足原则1和原则2。
输入数据矩阵也可以利用交通流的属性值相关性组建,例如下面的表3所示。表3中的数据不属于“高相似度数据”,使用TGO算法时仅需要满足原则1即可。
表2
表3
本发明中的输入数据矩阵,是不完整的数据集合(所以实施例中虽然一开始选取了完整数据集,但随后就人工随机缺失了一部分数据)。为了方便区分,输入数据矩阵中,有数值的数据可以称为“实测值”,即交通检测器实际检测到的真实数据。缺失的、没有数值的数据可以称为“自然缺失值”,即自然情况下检测器缺失的数值。
输入数据矩阵中缺少的数据表示需要利用本发明提出的TGO-SSA-FCM进行填补的数据,即利用TGO和SSA对FCM的参数进行优化,最后计算得到FCM的预测值。
步骤S20:将上述输入数据矩阵输入到TGO算法中,确定TGO算法中的聚类数K的取值范围,确定聚类数K对应的初始聚类中心。将不同K依次带入TGO算法中,TGO算法将输入数据矩阵划分为大小相同的网格,进行两次优化,根据输入数据矩阵中的数据自身分布情况筛选出不同聚类数K对应的矩阵形式的初始聚类中心,初始聚类中心的矩阵的行数为K,列数为输入数据矩阵的维度。
TGO算法是自行提出的一种算法,可以优化FCM的初始聚类中心,并且在实施例中取得了很好的效果,因为根据这个初始聚类中心计算出的XB指数较小。
TGO算法的输入量是输入数据矩阵,输出量是初始聚类中心。但这个初始聚类中心和参数K是密切相关的。例如实施例中,K取4,代表聚类数为4,即输入数据矩阵中的所有点被分成了4个不同的类别。实施例中K取4时对应的初始聚类中心C如下:
C的维度是4行5列,由K和输入数据矩阵维度共同决定。其中4行就是代表这个初始聚类中心由4个不同的点组成,5列就代表每个点有5个维度,与输入数据矩阵维度(星期一-星期五,5个维度)相同。因此,流程图中,在进行TGO算法之前,需要确定K的范围,然后将不同K输入TGO中,一个K得到一个对应维度的初始聚类中心C。
步骤S30:确定FCM算法中参数m的取值范围,将m和K的范围带入SSA算法中,将每个麻雀的位置进行初始化,将SSA算法中麻雀的位置标记为FCM算法中的参数m和K,利用参数m和K组成二维数组。
每个麻雀的初始位置是二维数组(x,y),其中x为m在合理范围内的随机值,y为K在合理范围内的随机值。每次更新位置时也会确保x和y不会超出范围。
步骤S40:将输入数据矩阵、初始聚类中心C、m和K这4项输入FCM中,FCM就可以计算得到各麻雀对应的FCM预测值和每个麻雀的适应度值,将各麻雀对应的FCM预测值作为缺失数据的预测值。这里适应度值指FCM对“人工缺失数据”的预测值和“人工缺失数据”的均方根误差RMSE。适应度值是这样计算的:
例如种群中一个麻雀的位置坐标为(2,4),则对应的FCM中的m取2,K取4,然后从TGO算法的计算结果中找到K=4时对应的初始聚类中心,例如本文实施例中的C。然后将C、m=2、K=4和“输入数据矩阵”全部带入FCM中,FCM迭代后可以计算出预测值,预测值包括“自然缺失值”的预测值和“人工缺失值”的预测值。然后计算全部“人工缺失值”和“人工缺失值”的预测值之间的均方误差RMSE,这个值就是这个麻雀对应的适应度值。
步骤S50:根据计算出的全部麻雀的适应度值,然后判断是否满足SSA算法的终止条件,如果不满足则按照SSA算法的公式,根据适应度值更新每一类、每一只麻雀的位置,并重新根据麻雀的位置返回步骤S40,更新各麻雀的适应度值,直到满足终止条件。
麻雀分为3类,分为发现者、加入者和警戒者。计算出所有麻雀的适应度值之后,对适应度值从小到大进行排序。需要说明的是,由于本发明中的适应度函数取RMSE,RMSE越小则代表修复效果越好(本发明中的适应度较优代表适应度值较小),所以适应度值小的麻雀排名靠前,排名前10%-30%(可在这个范围内自行设置)的麻雀为发现者,根据发现者的位置更新公式更新发现者的位置,剩余麻雀为加入者,根据加入者的位置更新公式更新加入者的位置。警戒者为随机选取的部分麻雀,数量占种群总数的10%-20%(可在这个范围内自行设置)。
搜索分为全局搜索和局部搜索。通俗来讲,发现者的作用更偏向于全局引导,类似于在全局中先标记出几个适应度值较优的点,然后从加入者的位置更新公式可以看出,加入者移动的大致方向是向发现者靠拢的,但又会有一些随机的方向,避免全体麻雀都超一个方向聚集从而陷入局部最优。加入者就是向发现者靠拢,然后在发现者周围开展局部搜索,以期望在周围发现更高适应度值。警戒者的主要目的是当一些麻雀长期获得不到较优的适应度值时,要发出警戒,需要飞往其他区域进行搜索。
SSA算法从宏观上可以这样描述:一群麻雀,在一个范围内搜索食物,先设置一个适应度函数,将每个麻雀的位置信息输入这个函数,可以计算得到一个适应度值,用适应度值的大小来评判当前位置食物的好坏。每一次搜索,都要计算每个麻雀在当前位置的适应度值并对全部麻雀的适应度值进行排序,各麻雀都朝着适应度值好的麻雀的方向移动(更新位置),然后重复进行下一次搜索,直到获得整个区域内的最佳适应度值(即本发明流程图中提到的“满足终止条件”)。
步骤S60:重复步骤S40和步骤S50,直到满足终止条件,获得最佳适应度值,上述终止条件可以是达到SSA最大迭代次数,或者在连续N次迭代中最优适应度值不变。
将满足终止条件时取得最佳适应度值的麻雀作为全局最优麻雀,将该全局最优麻雀对应的FCM预测值作为“自然缺失数据”的预测值,根据该预测值修复输入数据矩阵中的“自然缺失数据”。
实施例
选取北京市某道路固定式交通调查检测器的实测数据,将检测器定义为目标检测器,取其相邻位置的检测器定义为相邻检测器,目标检测器与相邻检测器位于同一条道路上,相隔1个交叉口,取上行方向的数据组成输入数据矩阵。
不同方案的输入数据矩阵分为TR、AR、SR共3种模式。TR(Repair mode based ontime correlation)模式指根据交通流量数据的时间相关性,将同一检测器同一周连续5个工作日的交通流量数据组成输入数据矩阵。AR(Repair mode based on attribute valuecorrelation)模式,指根据交通数据不同属性值之间的相关性进行数据修复,将同一检测器同一周连续5个工作日的交通流量数据、车速数据、时间占有率数据组成输入数据矩阵。SR(Repair mode based on spatial correlation)模式,指用交通数据之间的空间相关性进行数据修复,即利用相邻检测器数据对目标检测器数据进行曲线拟合,利用相邻检测器数据修复目标检测器数据。
为进行对比说明,本实施实例将对比以下几种不同方案,其中PSO算法指粒子群优化算法,History指交通流量数据修复中常用的历史均值法。
图2-图4分别为TR、SR、AR三种模式数据的实测数据(2018年3月26-3月30)。
下面结合TR模式数据对K=4时TGO算法的过程进行说明:
选取的是上述表2所示的某道路检测器实测数据,数据日期为2018年3月26日-3月30日,分别对应表中的星期一到星期五。
如图5所示,将数据矩阵中各列数据按从大到小的顺序进行排列,数据维度为5,设定TGO中m的值为18,将每维数据划分为长度一致的18个网格,由于数据属于HSD,每个网格的宽度取
Step1得到Mar26-Mar30的数据分布图,每个方格的宽度代表方格内数据点的频数,数据点越多方格宽度约大。
Step2以3月26日的数据为例计算pjn,并按照pjn的大小进行排序,图中横坐标为Mar26方格的编号。
Step3设定ε=3.5%,将pjn≤3.5的方格剔除。
Step4计算Cjr得到CF,共53个数据点。之后按照DFSS策略对CF中的数据点进行遍历,得到多组聚类中心,其中一组聚类中心的一个聚类中心点可表示为(c1,12,c2,14,c3,13,c4,11,c5,11)。对各组聚类中心进行筛选,得到符合条件的CS。
设定αj和β的取值,取αj=2Lj,β=0.9L,共得到384组聚类中心,计算XB指数,如图6所示。选取XB=0.2383时对应的聚类中心作为FCM算法的初始聚类中心C:
为了验证改进算法的有效性和不同修复模式的修复效果,本实施例选取6种方案进行对比,分别编号为S1-S6。其中S3中采用曲线拟合的方法,以目标传感器每天的数据为因变量,以相邻传感器同样日期的数据为自变量进行曲线拟合,选择R2最大的模型,拟合结果如下表所示:
表x中R2均在0.78以上,表明拟合的趋势线与实际数据曲线比较接近。各方案中的SSA算法和PSO算法的种群规模均设置为N=30,最大迭代次数T=100,M的范围为[1,2.4],K的范围为[2,16],m的精度为0.01,K取整数。SSA算法中生产者和警戒者的数量分别为种群规模的20%和10%,ST=0.8。
PSO算法中c1=c2=1.5,ω的取值呈线性减小的趋势,按照下式计算。其中ωmax=0.9,ωmin=0.4,iter为当前迭代次数。
比较6种方案在不同缺失率下的数据修复效果,以3月26日-3月30日的数据为例,图7为不同方案的绝对误差,图中的虚线为各方案绝对误差均值的连接线。从图7中可以看出,当缺失率为1%时,AR模式修复效果最好,最小误差和绝对误差均值都最低,TR模式和历史均值的修复效果也很好。当缺失率为5%时,AR模式仍然有小幅度的领先,但历史均值方法的绝对误差极值已明显增大。随着缺失率的增大,TR模式的优势逐渐逐渐显现,绝对误差的均值始终明显领先其他方法,AR模式和SR模式次之,其他方案的修复效果不太理想。
虽然从绝对误差的极小值来看,各方案差距不大,但是这主要是因为样本中的一些流量数据自身的数值较小,而且随着缺失率增大待修复的数据量也会增多,这两方面原因导致总会有某些修复值与真实数据比较接近。绝对误差的极大值更能反映出各修复方案的真实效果,尤其是当缺失率增大到10%以上时,其他方案较TR和AR模式有较大大差距。
为了消除实验结果的偶然性,选取目标检测器2018年4月(4月16日-4月20日)以及2018年5月(5月21-5月25)两个时间段的数据进行重复实验,计算了修复值和实际值的均方根误差RMSE,均方根误差RMSE被广泛应用于评判修复值和实际值之间的偏差,能够比较真实地反映出数据修复效果,按照下式计算,其中yi和分别代表第i个实际值和修复值。
实验结果如图8所示。图8三个子图从左到右分别代表3月、4月、5月三个时间段的实验结果。
图8每个子图中的6条弧线代表了6种不同方案,不同颜色代表了不同缺失率下的RMSE数值,图中的百分比代表当前方案累加RMSE与最大累加RMSE方案的比值。
从图8中可以出:S1修复效果最佳,与对应的最差方案相比,累加的RMSE占比仅为60%-70%。S2修复效果次之,在缺失率较低(1%和5%)的情况下,S1和S2修复效果接近,但随着缺失率的增大S2的修复逐渐失准。S3也能进行一些相对准确的修复,但在May数据中修复效果不理想。S4整体来看略优于S5,但优势不大,S5和S6属于相对比较差的修复方案。
RA(relative accuracy)是一种准确率的指标,用于描述在一定容忍水平内相对准确的数据点数量与总数据点数量的占比,按照下式计算计算,其中np表示在容忍程度之内的样本数,容忍程度本实施实例中取10%。
计算了各方案的相对准确率,结果如图9所示,图9中的三个子图从左到右分别代表3月、4月、5月三个时间段的实验结果。从图9中可以进一步验证上述结论,在任何缺失率条件下,S1的相对准确率基本都名列前茅,在缺失率较低时S2同样表现良好。S3在不同时期的数据下波动较大,在5月的数据10%缺失率时相对准确率与S1接近但在4月的数据15%缺失率时相对准确率又有明显的骤减。S4-S6的效果一般,尤其当缺失率增大到25%时,有50%左右的数据误差在10辆/每小时以上。
对图8、图9中的数据进行汇总,得到各方案的箱型图如图10和图11所示。图中红色的线为中值线,绿色的方块表示平均值。可以看出S1为效果最好,RMSE及RA的中值和平均值都明显领先其他方案,S4的波动性最大,但整体效果仍然领先S5。S5和S6都属于较差方案。
综上所述,本发明实施例提出了一种基于TGO-SSA-FCM算法的交通流量缺失数据修复方法,弥补了传统FCM算法参数m和K随机选取、初始聚类中心随机选取,并且上述参数对FCM聚类效果影响较大的问题,可以实现有效地修复交通流量数据中的缺失数据。
本发明中提出一种TGO算法,可以对FCM的初始聚类中心进行选取,并且在实施例中XB指数在0.2左右,数值较小,表明聚类效果良好,适合作为初始聚类中心。本发明中采用SSA算法优化FCM的参数m和K,SSA算法是2020年最新提出的一种优化算法,并且在相关研究中已经表明其搜索效果优于传统的PSO等优化算法,本发明使用SSA算法能更好地选取FCM参数。
本发明对比了目前常用的几种基于交通流量数据时空特性的缺失数据数据修复方法,并通过实际数据进行了验证,结果表明本发明提出的算法在缺失率较小(1%-5%)时,输入数据矩阵可以设置为基于AR模式或基于TR模式的输入数据矩阵。当缺失率较大时,输入数据矩阵可设置为基于TR模式的输入数据矩阵。上述设置都能保证本发明的修复效果优于对比方案中的其他方案。
本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (2)
1.一种基于TGO-SSA-FCM算法的交通流量缺失数据修复方法,其特征在于,包括:
获取交通流量的输入数据矩阵;
将所述输入数据矩阵输入到TGO算法中,确定TGO算法中的聚类数K的取值范围,确定聚类数K对应的初始聚类中心;
将FCM算法中的参数m和K带入SSA算法中,对SSA算法中每个麻雀的位置进行初始化;
将输入数据矩阵、初始聚类中心C、m和K输入到FCM算法中,FCM计算出各麻雀对应的FCM预测值和每个麻雀的适应度值;
当判断满足SSA算法的终止条件后,将取得最佳适应度值的麻雀作为全局最优麻雀,将该全局最优麻雀对应的FCM预测值作为所述输入数据矩阵中的缺失数据的预测值;
所述的获取交通流量的输入数据矩阵包括:
通过道路检测器采集指定路段的设定时间段内的交通流量数据,根据所述交通流量数据的时间相关性或属性值相关性组合成输入数据矩阵,所述输入数据矩阵包括人工缺失数据和自然缺失数据;
所述的将所述输入数据矩阵输入到TGO算法中,确定TGO算法中的聚类数K的取值范围,确定聚类数K对应的初始聚类中心,包括:
将所述输入数据矩阵输入到TGO算法中,确定TGO算法中的聚类数K的取值范围,将不同K依次带入TGO算法中,TGO算法将输入数据矩阵划分为大小相同的网格,进行两次优化,根据输入数据矩阵中的数据自身分布情况筛选出不同聚类数K对应的矩阵形式的初始聚类中心,所述初始聚类中心的矩阵的行数为K,列数为所述输入数据矩阵的维度;
所述的将FCM算法中的参数m和K带入SSA算法中,对SSA算法中每个麻雀的位置进行初始化,包括:
确定FCM算法中参数m的取值范围,将m和K的范围带入SSA算法中,将每个麻雀的位置进行初始化,将SSA算法中麻雀的位置标记为FCM算法中的参数m和K,利用参数m和K组成二维数组;
每个麻雀的初始位置是二维数组(x,y),其中x为m在合理范围内的随机值,y为K在合理范围内的随机值,每次更新位置时也会确保x和y不会超出范围;
所述的将输入数据矩阵、初始聚类中心C、m和K输入到FCM算法中,FCM计算出各麻雀对应的FCM预测值和每个麻雀的适应度值,包括:
将输入数据矩阵、初始聚类中心C、m和K输入到FCM中,FCM计算出各麻雀对应的FCM预测值和每个麻雀的适应度值,将各麻雀对应的FCM预测值作为缺失数据的预测值,所述适应度值指FCM对人工缺失数据的预测值和人工缺失数据的均方根误差RMSE;
所述的当判断满足SSA算法的终止条件后,将取得最佳适应度值的麻雀作为全局最优麻雀,将该全局最优麻雀对应的FCM预测值作为所述输入数据矩阵中的缺失数据的预测值,包括:
根据计算出的全部麻雀的适应度值,判断是否满足SSA算法的终止条件,如果不满足,则按照SSA算法的公式,根据适应度值更新每一类、每一只麻雀的位置,并重新根据麻雀的位置更新各麻雀的适应度值,直到满足终止条件;
将满足终止条件时取得最佳适应度值的麻雀作为全局最优麻雀,将该全局最优麻雀对应的FCM预测值作为自然缺失数据的预测值,根据该预测值修复输入数据矩阵中的自然缺失数据。
2.根据权利要求1所述的方法,其特征在于,所述终止条件包括:达到SSA最大迭代次数,或者在连续N次迭代中最优适应度值不变。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111590755.8A CN114330526B (zh) | 2021-12-23 | 2021-12-23 | 基于tgo-ssa-fcm算法的交通流量缺失数据修复方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111590755.8A CN114330526B (zh) | 2021-12-23 | 2021-12-23 | 基于tgo-ssa-fcm算法的交通流量缺失数据修复方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114330526A CN114330526A (zh) | 2022-04-12 |
CN114330526B true CN114330526B (zh) | 2024-04-19 |
Family
ID=81055015
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111590755.8A Active CN114330526B (zh) | 2021-12-23 | 2021-12-23 | 基于tgo-ssa-fcm算法的交通流量缺失数据修复方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114330526B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115440029B (zh) * | 2022-07-29 | 2023-08-08 | 重庆大学 | 一种考虑检测设备分布的车检器数据修复方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2798330A1 (en) * | 2010-05-05 | 2011-11-10 | Infinity Pharmaceuticals, Inc. | Tetrazolones as inhibitors of fatty acid synthase |
WO2020233084A1 (zh) * | 2019-05-21 | 2020-11-26 | 深圳壹账通智能科技有限公司 | 一种图像分割方法、装置、存储介质及终端设备 |
CN113642668A (zh) * | 2021-08-30 | 2021-11-12 | 西安邮电大学 | 基于改进麻雀搜索算法的抑制式粗糙直觉模糊聚类方法 |
CN113689029A (zh) * | 2021-07-29 | 2021-11-23 | 淮阴工学院 | 基于麻雀搜索算法优化Elman神经网络的短期负荷预测方法 |
-
2021
- 2021-12-23 CN CN202111590755.8A patent/CN114330526B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2798330A1 (en) * | 2010-05-05 | 2011-11-10 | Infinity Pharmaceuticals, Inc. | Tetrazolones as inhibitors of fatty acid synthase |
WO2020233084A1 (zh) * | 2019-05-21 | 2020-11-26 | 深圳壹账通智能科技有限公司 | 一种图像分割方法、装置、存储介质及终端设备 |
CN113689029A (zh) * | 2021-07-29 | 2021-11-23 | 淮阴工学院 | 基于麻雀搜索算法优化Elman神经网络的短期负荷预测方法 |
CN113642668A (zh) * | 2021-08-30 | 2021-11-12 | 西安邮电大学 | 基于改进麻雀搜索算法的抑制式粗糙直觉模糊聚类方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114330526A (zh) | 2022-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115270965B (zh) | 一种配电网线路故障预测方法和装置 | |
CN113591380B (zh) | 基于图高斯过程的交通流预测方法、介质及设备 | |
CN108550077A (zh) | 一种面向大规模非平衡征信数据的个人信用风险评估方法及评估系统 | |
CN110135716B (zh) | 一种电网基建项目动态预警识别方法和系统 | |
CN109000656B (zh) | 基于空间聚类的水下地形匹配导航适配区选择方法 | |
CN115239127B (zh) | 生态脆弱性评价方法、计算机设备、存储介质和验证方法 | |
CN112037539B (zh) | 一种用于饱和城市交通网络的信控方案推荐方法及系统 | |
CN114330526B (zh) | 基于tgo-ssa-fcm算法的交通流量缺失数据修复方法 | |
CN109214426A (zh) | 一种物体外观检测的方法及深度神经网络模型 | |
CN109544926B (zh) | 一种基于路口相关性的交通流量修复方法 | |
CN116739376A (zh) | 一种基于数据挖掘的公路路面预防性养护决策方法 | |
CN114548494B (zh) | 一种可视化造价数据预测智能分析系统 | |
CN115856204A (zh) | 基于三维回声状态网络的掘进工作面瓦斯浓度预测方法 | |
CN116859985A (zh) | 一种四旋翼自动追踪功能实现方法 | |
CN110378358A (zh) | 一种配电网异构数据整合方法及系统 | |
CN117745096A (zh) | 一种控制网布测方案评价方法及系统 | |
CN112241808A (zh) | 路面技术状况预测方法、装置、电子设备及存储介质 | |
CN117010274A (zh) | 一种基于集成增量学习的地下水有害元素智能预警方法 | |
CN116187851A (zh) | 基于贝叶斯的自动驾驶道路与车路匹配风险指数评估方法 | |
CN105653863A (zh) | 亚热带中小流域山洪灾害非线性多场耦合预警模型 | |
Fang | Research on automatic cleaning algorithm of multi-dimensional network redundant data based on big data | |
CN104239551A (zh) | 基于多特征vp树索引的遥感图像检索方法及装置 | |
KR102276369B1 (ko) | 3차원 포인트 클라우드 신뢰도 판단 시스템 및 방법 | |
Fewster et al. | Similarity indices for spatia I ecological data | |
CN113743811A (zh) | 采用系数加权计算的综合效能评估方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |