一种基于决策树算法的监测预警方法
文献发布时间:2023-06-19 10:27:30
技术领域
本发明属于监测预警领域,尤其是涉及一种基于决策树算法的监测预警方法。
背景技术
在工业领域中,往往涉及宽广的厂房面积和大型机械,在交通领域会涉及到大量的道路和设备。在人力无法及时全面监控的时候,需要远程采集数据进行机械性能和道路安全的监测预警。但是进行监测预警时,会接收到海量的数据类型和总量,较难保证预警速度和准确性双赢。
例如,发明专利申请公布号CN110598803A,公布日2019年12月20日,发明的名称为一种基于改进型决策树算法的路况信息预测方法,该申请案公开了一种基于改进型决策树算法的路况信息预测方法,包括:基于道路连通力的影响因子确定分析道路连通力的属性;采集道路数据,数据预处理,计算信息熵,计算各属性的属性熵,基于关联函数计算各属性的关联函数值基于各属性的关联函数值计算各属性的权重值基于信息、各属性的属性熵和各属性的权重值计算各属性的信息增益,根据各属性信息增益的大小进行排序构建决策树,并根据决策树预测道路路况。该发明通过计算属性的关联函数值,同信息熵展开运算得出的属性权重值来构建决策树,可以克服传统ID3算法倾向于将选取具有更多可能取值的元素作为高权重属性的问题,但是该方法精度下降,无法解决需要海量数据分析时的快速预测。
发明内容
本发明克服了现有技术中无法平衡预测预警计算速度和预测精度的问题,提出了一种平衡了预警计算速度和预警精度的基于决策树算法的监测预警方法。
为实现以上目的,本发明通过以下技术方案来实现:
一种基于决策树算法的监测预警方法,方法包括:
步骤S01,核心控制器获取其覆盖地理范围内若干等距路段的历史路况信息,每个历史路况信息对应的拥堵类型、拥堵级别;所述历史路况信息包括车流量传感器中的车流量数据、车速传感器中的平均车速数据、图像传感器中的图像信息,核心控制器对所述图像信息进行计算获取可行驶道路宽度数据、车辆平均间距数据;
步骤S02,核心控制器将车流量数据、平均车速数据、可行驶道路宽度数据、车辆平均间距数据对应拥堵类型、拥堵级别各自排列成一个数据列表;根据数据列表分别计算车流量数据、平均车速数据、可行驶道路宽度数据、车辆平均间距数据的信息增益率;
步骤S03,核心控制器比较数据列表中车流量数据的信息增益率、平均车速数据的信息增益率、可行驶道路宽度数据的信息增益率、车辆平均间距数据的信息增益率的大小,并按照信息增益率从大到小的顺序将车流量数据、平均车速数据、可行驶道路宽度数据、车辆平均间距数据作为数据节点生成一棵完整的决策树;
步骤S04,核心控制器将完整的决策树自下而上进行后剪枝,获得最后的决策树模型;
步骤S05,核心控制器获取当前路况信息,所述当前路况信息包括车流量传感器中的车流量数据、车速传感器中的平均车速数据、图像传感器中的图像信息,核心控制器对所述图像信息进行计算获取可行驶道路宽度数据、车辆平均间距数据;代入决策树模型中获取当前路况拥堵类型、拥堵级别,并发送到预警终端。
核心控制器直接获取与路况预警相关的每个传感器的重要特征数据,这样需要处理的数据量减少但针对性更强,加快了数据处理的时间,减小了通信量,抗干扰能力强。将车流量数据、平均车速数据、可行驶道路宽度数据、车辆平均间距数据按照信息增益率从大到小的顺序组成决策树,信息增益率越大表示与预警越相关,这样监测预警更加准确,不会在后剪枝时去掉重要的关联数据。后剪枝会保留足够的数据,保证了预测的准确性,欠拟合风险很小。
作为优选,所述步骤S02还包括:核心控制器将车流量数据、平均车速数据、可行驶道路宽度数据、车辆平均间距数据对应拥堵类型、拥堵级别各自排列成一个数据列表时,若数据列表为空,则回到步骤S01。
作为优选,所述车流量数据、平均车速数据、图像信息上均设有传感器身份识别码,所述核心控制器内存储有所有传感器的身份识别码;所述步骤S01还包括:核心控制器验证车流量数据、平均车速数据、图像信息的身份识别码,确认是否来自核心控制器控制的传感器,若不是则重新获取信息,若是则进入步骤S02。
这样设置防止核心控制器接收到非核心控制器控制的传感器的信息,防止预测不准确,也保证了整体的安全性。
作为优选,所述步骤S02具体包括:核心控制器判断所有数据列表中的数据是否为连续型数据,若不是则直接计算数据列表中数据的信息增益率,若是则先离散化数据再计算数据列表中数据的信息增益率。
将连续型数据离散化,减少了计算信息增益率时需要花费的时间,提高预警效率。
作为优选,通过C4.5算法计算信息增益率。
C4.5算法计算准确率高。
作为优选,离散化数据时,核心控制器先将连续型数据的数据列表内的数据从小到大进行排列,然后将数据分为若干个区间,取每个区间内数据的加权平均值构成离散化数据列表。
作为优选,所述步骤S04具体包括:
步骤S41,核心控制器监测完整的决策树最下方第三层的数据节点中,若有第三层的数据节点内的数据数量占第三层总数据数量5%以下,将其剪枝,否则进入步骤S44;
步骤S42,核心控制器监测已经剪枝完最下方第三层的数据节点后的决策树的第二层中,若有第二层的数据节点内的数据数量占第二层总数据数量5%以下的,将其剪枝,否则进入步骤S44;
步骤S43,核心控制器监测已经剪枝完第二层的数据节点后的决策树的第一层,若有第一层的数据节点内的数据数量占第一层总数据数量5%以下的,将其剪枝,否则进入步骤S44;
步骤S44,获得最后的决策树模型。
这样设置层层递进去除准确预警几率小的数据节点,提高了预警的准确率。
作为优选,所述步骤S05具体包括,核心控制器获取当前路况信息,代入决策树模型,所述当前路况信息中的车流量数据、平均车速数据、可行驶道路宽度数据、车辆平均间距数据,按照决策树模型从上而下依次代入每层的数据节点,并获取第三层中代入的数据节点所对应的拥堵类型、拥堵级别为当前路况的拥堵类型、拥堵级别,并发送预警终端。
作为优选,所述当前路况信息中的车流量数据、平均车速数据、可行驶道路宽度数据、车辆平均间距数据代入每层的数据节点时,依次与每层的数据节点进行比较;先将与第一层对应的当前路况信息的数据与第一层的数据节点进行比较;在第一层的一个数据节点与对应的当前路况信息的数据重合度高于预设的重合率时,将与第二层对应的当前路况信息的数据与第一层的一个数据节点连接的第二层数据节点比较;在第二层的一个数据节点与对应的当前路况信息的数据重合度高于预设的重合率时,将与第三层对应的当前路况信息的数据与第二层的一个数据节点连接的第三层数据节点比较;在第三层的一个数据节点与对应的当前路况信息的数据重合度高于预设的重合率时,获取第三层的一个数据节点所对应的拥堵类型、拥堵级别为当前路况的拥堵类型、拥堵级别,并发送预警终端。
这样可以准确获得拥堵类型、拥堵级别,容错率高,便于实时了解道路拥堵情况。
作为优选,所述预设的重合率为80%。
本发明的优点是:核心控制器直接获取与路况预警相关的每个传感器的重要特征数据,这样需要处理的数据量减少但针对性更强,加快了数据处理的时间,减小了通信量,抗干扰能力强。将车流量数据、平均车速数据、可行驶道路宽度数据、车辆平均间距数据按照信息增益率从大到小的顺序组成决策树,信息增益率越大表示与预警越相关,这样监测预警更加准确,不会在后剪枝时去掉重要的关联数据。后剪枝会保留足够的数据,保证了预测的准确性,欠拟合风险很小。
附图说明
图1为本发明一种基于决策树算法的监测预警方法的流程图。
具体实施方式
以下是本发明的具体实施例并结合附图,对本发明的技术方案作进一步的描述,但本发明并不限于这些实施例。
一种基于决策树算法的监测预警方法,方法包括:
步骤S01,核心控制器获取其覆盖地理范围内若干等距路段的历史路况信息,每个历史路况信息对应的拥堵类型、拥堵级别;所述历史路况信息包括车流量传感器中的车流量数据、车速传感器中的平均车速数据、图像传感器中的图像信息,核心控制器对所述图像信息进行计算获取可行驶道路宽度数据、车辆平均间距数据。
优选地,所述车流量数据、平均车速数据、图像信息上均设有传感器身份识别码,所述核心控制器内存储有所有传感器的身份识别码。所述步骤S01还包括:核心控制器验证车流量数据、平均车速数据、图像信息的身份识别码,确认是否来自核心控制器控制的传感器,若不是则重新获取信息,若是则进入步骤S02。这样设置防止核心控制器接收到非核心控制器控制的传感器的信息,防止预测不准确,也保证了整体的安全性。
步骤S02,核心控制器将车流量数据、平均车速数据、可行驶道路宽度数据、车辆平均间距数据对应拥堵类型、拥堵级别各自排列成一个数据列表。核心控制器将车流量数据、平均车速数据、可行驶道路宽度数据、车辆平均间距数据对应拥堵类型、拥堵级别各自排列成一个数据列表时,若数据列表为空,则回到步骤S01。
根据数据列表分别计算车流量数据、平均车速数据、可行驶道路宽度数据、车辆平均间距数据的信息增益率。具体地,核心控制器判断所有数据列表中的数据是否为连续型数据,若不是则直接计算数据列表中数据的信息增益率,若是则先离散化数据再计算数据列表中数据的信息增益率。离散化数据时,核心控制器先将连续型数据的数据列表内的数据从小到大进行排列,然后将数据分为若干个区间,取每个区间内数据的加权平均值构成离散化数据列表。
优选地,通过C4.5算法计算信息增益率。将全部的车流量数据、平均车速数据、可行驶道路宽度数据、车辆平均间距数据、拥堵类型、拥堵级别构成的数据集,从数据集中获取一个有训练集D,将训练集D中第k类样本所占比例为p
将车流量数据的数据列表设为a,数据列表a有V个取值,若使用a来对训练集D进行划分,则会产生V个分支结点,其中第v个分支结点包含了训练集D中所有在数据列表a上取值为a
然后根据信息增益计算信息增益率:
其中:
然后将平均车速数据的数据列表设为b,可行驶道路宽度数据的数据列表设为c,车辆平均间距数据的数据列表设为d,按照上述方法计算得到b、c、d的信息增益率。
步骤S03,核心控制器比较数据列表中车流量数据的信息增益率、平均车速数据的信息增益率、可行驶道路宽度数据的信息增益率、车辆平均间距数据的信息增益率的大小,并按照信息增益率从大到小的顺序将车流量数据、平均车速数据、可行驶道路宽度数据、车辆平均间距数据作为数据节点生成一棵完整的决策树。
步骤S04,核心控制器将完整的决策树自下而上进行后剪枝,获得最后的决策树模型。具体包括:
步骤S41,核心控制器监测完整的决策树最下方第三层的数据节点中,若有第三层的数据节点内的数据数量占第三层总数据数量5%以下,将其剪枝,否则进入步骤S44;
步骤S42,核心控制器监测已经剪枝完最下方第三层的数据节点后的决策树的第二层中,若有第二层的数据节点内的数据数量占第二层总数据数量5%以下的,将其剪枝,否则进入步骤S44;
步骤S43,核心控制器监测已经剪枝完第二层的数据节点后的决策树的第一层,若有第一层的数据节点内的数据数量占第一层总数据数量5%以下的,将其剪枝,否则进入步骤S44;
步骤S44,获得最后的决策树模型。
这样设置层层递进去除准确预警几率小的数据节点,提高了预警的准确率。
步骤S05,核心控制器获取当前路况信息,所述当前路况信息包括车流量传感器中的车流量数据、车速传感器中的平均车速数据、图像传感器中的图像信息,核心控制器对所述图像信息进行计算获取可行驶道路宽度数据、车辆平均间距数据。代入决策树模型中获取当前路况拥堵类型、拥堵级别,并发送到预警终端。
步骤S05具体包括,核心控制器获取目标地理范围内若干等距路段的历史路况信息、当前路况信息,所述历史路况信息、当前路况信息均包括车流量传感器中的车流量数据、车速传感器中的平均车速数据、图像传感器中的图像信息,核心控制器对所述图像信息进行计算获取可行驶道路宽度数据、车辆平均间距数据。核心控制器将若干等距路段的当前路况信息中车流量数据、平均车速数据、可行驶道路宽度数据、车辆平均间距数据进行决策性融合后获得一个数据节点。核心控制器将若干等距路段的车流量数据、平均车速数据、可行驶道路宽度数据、车辆平均间距数据进行决策性融合时,先采用卡尔曼滤波法将若干等距路段的车流量数据、平均车速数据、可行驶道路宽度数据、车辆平均间距数的冗余数据去除,然后将剩余数据决策性融合获得的一个数据节点。
核心控制器将融合获得的一个数据节点代入决策树模型,所述数据节点内的当前路况信息中的车流量数据、平均车速数据、可行驶道路宽度数据、车辆平均间距数据,按照决策树模型从上而下依次代入每层的数据节点,并获取第三层中代入的数据节点所对应的拥堵类型、拥堵级别为当前路况的拥堵类型、拥堵级别,并发送预警终端。
优选地,所述当前路况信息中的车流量数据、平均车速数据、可行驶道路宽度数据、车辆平均间距数据代入每层的数据节点时,依次与每层的数据节点进行比较;先将与第一层对应的当前路况信息的数据与第一层的数据节点进行比较。在第一层的一个数据节点与对应的当前路况信息的数据重合度高于预设的重合率时,将与第二层对应的当前路况信息的数据与第一层的一个数据节点连接的第二层数据节点比较。在第二层的一个数据节点与对应的当前路况信息的数据重合度高于预设的重合率时,将与第三层对应的当前路况信息的数据与第二层的一个数据节点连接的第三层数据节点比较。在第三层的一个数据节点与对应的当前路况信息的数据重合度高于预设的重合率时,获取第三层的一个数据节点所对应的拥堵类型、拥堵级别为当前路况的拥堵类型、拥堵级别,并发送预警终端。预设的重合率为80%。例如,第一层对应的当前路况信息的数据∈区间A,第一层的一个数据节点∈区间B,两者的重合度率=[1-(区间A-区间A∩区间B)/区间a]×100%。
所述核心控制器存有拥堵级别颜色信息,一级拥堵级别对应绿色显示信号,二级拥堵级别对应黄色显示信号,三级拥堵级别对应红色显示信号,四级拥堵级别对应黑色显示信号。所述级别数字越大拥堵程度越大。将拥堵类型、拥堵级别发送到预警终端时,根据拥堵级别发送与该拥堵级对应的颜色显示信号到预警终端
核心控制器直接获取与路况预警相关的每个传感器的重要特征数据,这样需要处理的数据量减少但针对性更强,加快了数据处理的时间,减小了通信量,抗干扰能力强。将车流量数据、平均车速数据、可行驶道路宽度数据、车辆平均间距数据按照信息增益率从大到小的顺序组成决策树,信息增益率越大表示与预警越相关,这样监测预警更加准确,不会在后剪枝时去掉重要的关联数据。后剪枝会保留足够的数据,保证了预测的准确性,欠拟合风险很小。
本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。
- 一种基于决策树算法的监测预警方法
- 一种基于云计算的生态环境监测预警系统及监测预警方法