一种基于流量和饱和度分析的SCATS线圈检测器自动诊断方法与流程

文档序号:14155604阅读:544来源:国知局

本发明涉及一种悉尼自适应交通控制系统scats的诊断方法,尤其是一种scats线圈检测器自动诊断方法。



背景技术:

悉尼自适应交通控制系统(sydneycoordinatedadaptivetrafficsystem,简称scats,或简称scats系统),由澳大利亚新南威尔士州道路交通局(rta)研究开发,是目前世界上少有的几个先进的城市信号交通控制系统之一。

车辆环形线圈检测器是scats系统中重要的数据采集设施。当车辆通过埋设在路面下的环形线圈(以下简称线圈)时会引起线圈磁场的变化,检测器据此计算出车辆的流量、饱和度、周期开始时间和长度等交通参数,并上传给中央控制系统,以满足交通控制系统的需要。

线圈检测器通常埋设在交叉路口入口方向停车线前的路面下。

scats信控系统能够根据线圈检测器检测到的车流量和饱和度,动态调整控制参数,线圈检测器检测得到的流量和饱和度。

饱和度是scats系统根据流量和车头时距等线圈采集的基本数据进一步加工计算得到的数据,理论上与流量有正相关的关系,因此分别以饱和度和流量作为坐标轴绘制二者的二元关系图,正常情况下应呈现近似的线性关系。

关于线圈工况的检测一直以来都在是作为设备运维环节的一项例行工作通过人工执行,工作内容也仅是查看检测器有无信号传回并进行登记,而无法判断线圈是否传回正常、能够反映实际交通状况的可使用的数据。

线圈数据质量很少被作为一个科学问题或技术问题来研究,现有的研究多是采用线性归回的方法,设置饱和度与流量的关系边界以判断异常数据点。然而此类方法只能针对每个线圈的数据独立手工操作,难以自动化批量执行,更无法利用机器学习方法对更多细分的数据问题进行诊断。



技术实现要素:

为了克服已有技术无法检测线圈检测器的工作状态和数据质量的不足,本发明提供了一种有效检测线圈检测器的工作状态和数据质量的基于流量和饱和度分析的scats线圈检测器自动诊断方法。

本发明解决其技术问题所采用的技术方案是:

一种基于流量和饱和度分析的scats线圈检测器自动诊断方法,所述方法包括第一部分是构造标注的样本数据,为机器学习提供训练集;第二部分是基于机器学习方法对线圈工况及数据质量进行判断;

第一部分中,构造训练集的步骤如下:

步骤1.1:给定日期,查询所有数据并按线圈分组;

步骤1.2:绘制每个线圈流量、饱和度的时间分布图v-t,ds-t,流量饱和度的关系图ds-v和流量与饱和度比值的直方图freq(ds/v);

步骤1.3:计算v-t、ds-t、ds-v、freq(ds/v)的一系列统计量特征,包括最大/最小值/均值/峰度/偏度/5%/10%/50%/90%/95%累积概率分位数,并对线圈工况及数据质量进行标定;

步骤1.4:将以上计算的统计量和标注结果输出作为后续方法的训练集;

第二部分,基于机器学习的线圈诊断的步骤如下:

步骤2.1:将上述训练集传入决策树分类器,对模型进行训练;

步骤2.2:选定需要进行线圈数据诊断的日期,检索目标数据;

步骤2.3:计算目标数据的统计特征,对目标数据进行描述;

步骤2.4:对目标数据对应的线圈工况和数据质量进行分类。

进一步,所述饱和度是指scats系统内部,基于历史流量和当前流量,计算出的当前相位相通行的车辆数相对于饱和状态下最大通行量的比率,单位为%;所述相位是指交叉口一次绿灯信号启闭的时间长度,绿灯启亮为相位开始时间,该相位对应的若干车道的车辆放行,相位结束信号灯绿变红,系统进入下一相位,放行另一组车道。

再进一步,所述步骤2.4中,利用时间序列方法,检查流量v的连续性,即在车流量较大的时段中,流量v是否多个周期明显低于正常值,以判断线圈通信故障。

更进一步,所述步骤2.4中,利用饱和度ds和流量v的近似线型关系,对由饱和度-流量两个维度构成的数据点分布形态进行判断,判断线圈的数据质量。

所述步骤2.4中,利用饱和度与流量的比值ds/v的概率分布形态,判断线圈的数据质量。

所述步骤1.2中,绘制v-t,ds-t,ds-v和freq(ds/v)分布图的过程如下:

从流量关于时间的分布上,可以清晰的看到一个路口的流量正常情况下在一天内的波动起伏状况,还计算饱和度数据ds,得到ds-t图与v-t关系图;以饱和度为纵坐标,流量为横坐标,得到ds-v关系图,正常情况下,饱和度与流量呈现近似线性的关系,数据基本上汇聚成近似的斜线;如果流量很小时候饱却很高,流量与饱和度的近似线性关系显著不成立,在现实中不可能发生这种情况,因此推测为数据异常;

饱和度与流量比值的直方图freq(ds/v),横坐标表示ds/v的值,纵坐标表示比值出现的频率,观察到饱和度与流量比值的频率分布:在正常情况下,ds/v的分布会有一个峰值,拟合曲线呈右偏分布;线圈工况不正常下的ds/v分布则没有明显峰值,说明该线圈数据异常。

所述步骤1.3中,计算线圈数据的统计量的过程如下:

提取一系列数据特征来描述4种分布图,所述数据为统计特征,包括检验分布的统计量、描述分布形状的统计量,以及体现分布累计概率的统计量;

ks检验一种拟合优度检验,检验数据是否符合某种分布,其统计量的极限分布形式为:

峰度反映了图形峰部的尖度,偏度是统计数据分布偏斜方向和程度的度量,二者都能描述分布的形状,公式如下:

累积分布函数描述一个实数随机变量的概率分布,表示所有小于等于流量x的值出现的概率之和,是概率密度函数的积分,而累积概率分位数表示的是对于任何流量x,所有比x小的数在数据集中所占的比例。

根据统计特征人工判断线圈工况和数据质量,过程如下:

基于v和ds的判断:

明显的线圈异常可以直接基于独立的v或ds进行判断,如v和ds均为零;或是v或ds的中位数超过了给定阈值,即直接判断线圈损坏;

通过“断崖”处的流量与时间长度的乘积来进行判断,当乘积超过一个阈值a即判断此时出现通讯异常,若乘积超过更大的阈值b,说明该处的“流量断崖”对整个交通状况的分析影响较大,判断为数据丢失严重;

基于freq(ds/v)的判断:python的统计工具可以帮助计算数据95%、99%的累积概率分位数,若95%处的数据对应的数值大于人工观察的最大值,则说明在这一段区间里有很多点,它们远离正常情况的数据,这些都是噪点;若99%处的数据对应的数值大于人工观察的最大值,则说明数据有少量噪点;

若数据通过了以上的检验,则认为线圈工作正常。

所述方法还包括第三部分:经人工确定、重标定的线圈判定结果,作为机器学习决策树方法的学习集,基于学习集,对判定线圈故障和数据质量中的统计特征阈值进行学习和优化,以实现基于机器学习方法的线圈工况和数据质量自动判定。

本发明的技术构思为:基于流量和饱和度分析的scats线圈检测器自动诊断方法,首先,判断当前的线圈是否正常传回流量和饱和度数据,是否出现流量丢失或长时间超饱和度等显著的数据异常情况;其次,判断饱和度与流量之间是否存在正常的近似线性关系,若所述的近似线性关系显著不成立,则线圈的工作状态为异常;最后,判断数据是否存在少量噪点、临时通讯中断等小故障,这些故障虽然不影响数据的使用,也在短时间后恢复正常,但小故障的频繁出现也同样意味着线圈的工作寿命可能快要终结。

基于对scats系统中线圈流量和饱和度进行分析,判断线圈工作状态是否正常,以及推测数据存在的具体缺陷的问题。具体而言,线圈的主要问题包括:

1)数据严重丢失,全天或白天大部分时段传回的v和ds都为持续0值。

2)数据严重过饱和,全天或一天中的大部分时段ds值都保持超过120的值。

3)通讯中断,在白天流量较大的时段(如7:00-22:00),较长时间或较频繁地出现流量从较大值突然掉落至0值,之后又恢复正常的现象。

4)数据异常,ds和v的线性关系紊乱,则意味着ds或v存在逻辑错误,此类数据不能表征真实的交通流特征。

本方法能够判断的线圈工况和细分数据质量问题为如下所示:

a.线圈正常:线圈工作正常;

b.线圈损坏:无数据;

c.线圈损坏:流量异常;

d.线圈损坏:饱和度异常;

e.线圈损坏:流量及饱和度异常;

f.数据异常:大量数据噪点;

g.数据异常:数据丢失严重;

h.数据噪点:少量数据噪点;

i.通讯异常:存在通讯问题。

本发明的有益效果主要表现在:有效检测线圈检测器的工作状态和数据质量,基于对scats系统中线圈流量和饱和度进行分析,判断线圈工作状态是否正常,以及推测数据存在的具体缺陷。

附图说明

图1是流量时间分布图(v-t)的四种形态示意图。

图2是流量与饱和度关系的两种分布图。

图3是饱和度与流量比值直方图的两种分布图。

图4是累积概率分位数示意图。

图5是线圈损坏(无数据)的示意图。

图6是线圈损坏(流量饱和度异常)的示意图。

图7是通讯异常的示意图。

图8是数据丢失严重的示意图。

图9是大量数据噪点的示意图。

图10是少量数据噪点的示意图。

图11是线圈工作正常的示意图。

具体实施方式

下面结合附图对本发明作进一步描述。

参照图1~图11,一种基于流量和饱和度分析的scats线圈检测器自动诊断方法,第一部分是构造标注的样本数据,为机器学习提供训练集;第二部分是基于机器学习方法对线圈工况及数据质量进行判断。

第一部分,构造训练集的步骤如下:

步骤1.1:给定日期,查询所有数据并按线圈分组;

步骤1.2:绘制每个线圈流量、饱和度的时间分布图(v-t,ds-t),流量饱和度的关系图(ds-v)和流量与饱和度比值的直方图(freq(ds/v));

步骤1.3:计算v-t、ds-t、ds-v、freq(ds/v)的一系列统计量特征,主要包括最大/最小值/均值/峰度/偏度/5%/10%/50%/90%/95%累积概率分位数等,并对线圈工况及数据质量进行标定;

步骤1.4:将以上计算的统计量和标注结果输出作为后续方法的训练集;

第二部分,基于机器学习的线圈诊断的步骤如下:

步骤2.1:将上述训练集传入决策树分类器,对模型进行训练;

步骤2.2:选定需要进行线圈数据诊断的日期,检索目标数据;

步骤2.3:计算目标数据的统计特征,对目标数据进行描述;

步骤2.4:对目标数据对应的线圈工况和数据质量进行分类。

所述步骤1.2中,绘制v-t,ds-t,ds-v和freq(ds/v)分布图

通过观察v-t图,可以明显地分辨几种常见的线圈工况,如图1所示。

图1(a)所示,从流量关于时间的分布上,可以清晰的看到一个路口的流量正常情况下在一天内的波动起伏状况:0:00到6:00间流量较低;6:00后进入早高峰,流量逐渐上升;白天流量维持较高水平,直至18:00后流量缓慢下降。

图1(b)显示了一种典型的线圈损坏情况,流量数据全为零,即该线圈已完全损坏,不能正常传回流量和饱和度数据。

图1(c)中显示出了“流量断崖”,但流量在出现断崖的时段外,波动的规律是总体正常的,因此推断是出现了临时性的通讯故障。

图1(d)中,总体上流量的波动规律正常,但有一个数据点发生了流量突变,因此判断为系统噪点,此类噪点在后期可以进行剔除。

除流量外,scats系统还计算了饱和度数据ds。ds是与v相关的数据,此外还受到车辆类型的影响,但二者之间总体上应呈现近似线性相关的关系,因此ds-t图与v-t关系图形状十分相近,出现异常的错误也类似。以饱和度为纵坐标,流量为横坐标,可以得到ds-v关系图,见图2。正常情况下,饱和度与流量呈现近似线性的关系,数据基本上汇聚成近似的斜线,如图2(a)所示。

如图2(b)所示情况,流量很小时候饱却很高,流量与饱和度的近似线性关系显著不成立,在现实中不可能发生这种情况,因此推测为数据异常。此类数据不能直接用于科学分析,因此需及时提醒运维人员对线圈进行检查。

图3展示的是饱和度与流量比值的直方图(freq(ds/v)),图中可以观察到饱和度与流量比值的频率分布:横坐标表示ds/v的值,纵坐标表示比值出现的频率。图3(a)显示在正常情况下,ds/v的分布会有一个峰值,拟合曲线呈右偏分布。线圈工况不正常下的ds/v分布则没有明显峰值,说明该线圈数据异常,图3(b)所显示的情况即为一种典型的数据异常。

所述步骤1.3中,计算线圈数据的统计量的过程如下:

为了量化不同图形中所蕴含的信息,便于区分线圈的工作状态和数据质量,可以提取一系列数据特征来描述上述4种分布图。这些数据特征通过对图形分布的初步观察后选择,主要为统计特征,包括检验分布的统计量、描述分布形状的统计量,以及体现分布累计概率的统计量,能详细地用数据表达图形的分布。

ks检验(kolmogorov-smirnovtest)是一种拟合优度检验,可以检验数据是否符合某种分布。其统计量的极限分布具体形式为:

峰度(kurtosis)反映了图形峰部的尖度,偏度(skewness)是统计数据分布偏斜方向和程度的度量,二者都能描述分布的形状,具体公式如下:

累积分布函数(cdf)描述了一个实数随机变量的概率分布,表示所有小于等于流量x的值出现的概率之和,是概率密度函数(pdf)的积分,而累积概率分位数表示的是对于任何流量x,所有比x小的数在数据集中所占的比例。

如图4所示,虚线与cdf曲线相交所指的点代表了不同的累积概率分位数,例如观察95%分位点所代表的流量值,可以看出流量值大部分都在95%分位点代表流量值之下。取多个分位点,观察所代表的流量值,即可判断数据分布是否有异常。

通过这些数据特征,对步骤1.2中所述分布进行描述,表1为用于线圈检测的统计特征(v-t图部分)。

表1

根据统计特征人工判断线圈工况和数据质量

通过比照几种图形和统计特征,结合人工的经验,可以总结出一些准则来判定线圈工况和数据质量,总体上分为两类:95%分位点代表的流量

基于v和ds的判断:

明显的线圈异常可以直接基于独立的v或ds进行判断,如v和ds均为零如图5所示;或是v或ds的中位数超过了给定阈值,如图6所示,即直接判断线圈损坏。

通讯异常会造成流量数据出现“断崖”。若出现“流量断崖”,需要进行判断是大流量时间段出现“断崖”还是小流量时间段出现“断崖”。大流量处存在“断崖”对整体的流量数据影响很大,但小流量处的“断崖”并不一定是通讯异常造成的,而是这段时间确实没有车辆通过,只有长期处于“断崖”才能判断为通讯异常。因此,两种情况需通过“断崖”处的流量与时间长度的乘积来进行判断。当乘积超过一个阈值a即判断此时出现通讯异常,若乘积超过更大的阈值b,说明该处的“流量断崖”对整个交通状况的分析影响较大,判断为数据丢失严重。为突出流量在乘积中的影响程度,可将流量值进行平方计算,区分两种情况。

基于freq(ds/v)的判断:另一类线圈的数据异常比较隐蔽,需要通过分析ds和v的比例关系才能判断,如数据中存在大量饱和度大而流量小的情况。这一特征在直方图中表现为直方图的最大横坐标区间很大,而且频率过高。python的统计工具可以帮助计算数据95%、99%的累积概率分位数,若95%处的数据对应的数值大于人工观察的最大值,则说明在这一段区间里有很多点,它们远离正常情况的数据,这些都是噪点。若99%处的数据对应的数值大于人工观察的最大值,则说明数据有少量噪点。

若数据通过了以上的检验,则认为线圈工作正常。

基于机器学习算法检测线圈工况和数据质量,过程如下:

将通过人工分类的特征量和分类标签组成训练集,传入决策树分类器进行分类训练。其中训练集最后一列是目标分类变量,其余的都是特征量。

本发明中使用的决策树分类器是来自python中用于机器学习的包scikit-learn。

从数据库中选取另一组不同日期与路口的数据传入分类器进行分类测试,分类器输出线圈状态编号后,程序中再对编号和状态进行匹配,最终输出的结果如表2所示。

表2

由表2可知,决策树能对多个类别进行区分。

从结果中能清晰地判断当前的线圈是否正常传回流量和饱和度数据,有无出现显著的数据异常情况或是否存在少量噪点、临时通讯中断等小故障,实现了运用机器学习算法通过分析流量和饱和度自动诊断scats线圈检测器。

将经过决策树分类的结果与人工分类的结果进行对比,从表3中可以看到决策树分类的准确率也较高。

表3

本实施例所使用的方法具有大数据量运算的特点,主要通过python实现,关键点主要在以下几点。

python程序编写:本发明中编写的程序用到了python中的多个包,如使用cx_oracle连接数据库、使用pandas和numpy进行数据处理,scipy.stats进行统计分析以及使用matplotlib进行画图等。

统计量选择:python的统计包中有很多统计方法,选择合适的统计方法也十分重要。例如本方法中用到的偏度、峰度,和若干累积概率的分位点。

线圈状态判断:从线圈数据中区分出不同的状态需要人工先进行观察与分类,因此需要配合了解路口的渠化信息,并对相应路口的车流规律有较长时间的观察经验,才能判断数据是否合理。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1