CN106339608A - 一种基于在线变分贝叶斯支持向量回归的交通事故率预测系统 - Google Patents
一种基于在线变分贝叶斯支持向量回归的交通事故率预测系统 Download PDFInfo
- Publication number
- CN106339608A CN106339608A CN201610986943.5A CN201610986943A CN106339608A CN 106339608 A CN106339608 A CN 106339608A CN 201610986943 A CN201610986943 A CN 201610986943A CN 106339608 A CN106339608 A CN 106339608A
- Authority
- CN
- China
- Prior art keywords
- data
- support vector
- vector regression
- regression model
- variation bayes
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Z—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS, NOT OTHERWISE PROVIDED FOR
- G16Z99/00—Subject matter not provided for in other main groups of this subclass
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种基于在线变分贝叶斯支持向量回归的交通事故率预测系统,包括:数据预处理模块、在线变分贝叶斯支持向量回归模型构建模块、在线变分贝叶斯支持向量回归模型训练模块、在线变分贝叶斯支持向量回归模型预测模块。该方法有效解决了传统支持向量回归模型预测交通事故率的速度慢、预测结果不准、难以在线进行的问题,在实际中有一定的应用价值。
Description
技术领域
本发明涉及一种基于在线变分贝叶斯支持向量回归的高效预测交通事故率系统,属于机器学习在交通方面的应用领域。
背景技术
交通事故率预测问题本质上是一个回归问题。解决这一问题一个经典的方式是采用传统的支持向量回归模型,此模型通过对经验损失和模型复杂度进行折衷,具有比较好的泛化能力。虽然应用广泛,但其主要变种都是基于MAP准则,对模型的每个参数估计一个值,因此较容易受噪声和异常点的干扰。更糟糕的是,此模型需要用户提前指定正则化参数,但是在很多机器学习问题的应用中,最优的正则参数很难提前决定,不合理的参数指定会严重影响模型的预测能力。虽然可以通过交叉验证求得相对合适的参数,但也很容易在少量数据上过拟合,且非常耗时。近年来,也出现了基于贝叶斯的可用于交通事故率预测的支持向量回归模型。Law等人将Mackay的贝叶斯支持向量机模型应用到回归场景。不久后,Gao等人基于Sollich关于分类的模型推导了基于似然和错误样条的回归模型。然而,这两个工作都缺乏对∈-不敏感损失的平滑,由于直接使用不可微的损失函数,很难对模型的参数给出精确的解,因此采取了折衷的方式,限制了模型的预测能力。特别是由于交通事故率的特征比较少,模型的预测能力更加有限。此后,Ning等人提出了基于最小化平方损失的鲁棒贝叶斯支持向量回归模型被,将不等约束转化为等式约束来处理异常点,但这一损失函数是可微的,而不是∈-不敏感损失,因此在保证模型的稀疏性方面略有不足。这样会导致模型更加趋于记忆而不是学习,当与事故率有关的特征组合未在训练数据中出现时很难给出合理预测。
另一方面,交通事故率预测问题是一个流式数据的问题。如果不考虑实际环境,只根据历史数据学习特定的模型,而无法实时将新的数据融入此模型,那么这样的模型是没有意义的,无法投入实际应用中。然而,很多现存的在线支持向量回归模型是基于点估计的,没有考虑模型的不确定性。这样就导致了其预测性能很容易受不合理正则化参数估计、噪声和异常点的影响。Ma等人提出了一个精确的在线支持向量回归模型,然而,这一做法在更新模型时需不确定次数的操作,非常耗时,因此不适用于实时环境。然后,Kivinen等人提出了基于随机梯度下降的方法在有限的时间内给出近似解,但是模型的预测性能与随机梯度下降的初始化与学习率有关,因此也无法保证模型的预测能力。Brugger通过对原始优化问题精度和效率的权衡来学习模型,但通常问题既需要保证预测精度,又需要消耗的时间尽量少,而Brugger解析求解的方式很难同时达到这两个目标。以上方法均不够高效,本发明提出的方法可以在保证准确率的同时尽快地训练好模型,给出预测结果,同时又回避了人工指定参数不当对预测结果产生的影响。
发明内容
本发明技术解决问题:克服上述现有技术的不足,提供一种基于在线变分贝叶斯支持向量回归的交通事故率预测系统,避免了人工指定正则化参数不合理的情况下模型预测效果很差的后果,同时采用基于变分推断的贝叶斯技术,又可使收敛速度很快,因此比传统的交叉验证节省大量时间,解决了传统基于点估计模型求解方法易过拟合、易受噪声影响的缺点,解决了传统方法难以扩展到在线学习场景的问题。
本发明所采用的技术方案是:
一种基于在线变分贝叶斯支持向量回归的交通事故率预测系统,包括:数据预处理模块、在线变分贝叶斯支持向量回归模型构建模块、在线变分贝叶斯支持向量回归模型训练模块、在线变分贝叶斯支持向量回归模型预测模块;其中:
数据预处理模块:将实际中关于交通事故率的数据进行预处理,所述预处理为先进行特征提取,在关于交通事故率的数据中提取一些与发生交通事故相关的信息作为特征,然后再对这些特征进行特征离散化;在特征提取及离散化的同时,计算交通事故率,然后对交通事故率进行数据清洗和划分,最后将得到划分好交通事故率的数据写入两个不同的文件,文件A和文件B;
在线变分贝叶斯支持向量回归模型构建模块:进行在线变分贝叶斯支持向量回归模型的构建,首先假设进行先验概率分布,同时要构造基于数据扩充思想的伪似然,然后基于先验概率分布及数据扩充的伪似然进行后验概率近似推断,在后验概率近似推断的基础上进行增量变分贝叶斯支持向量回归模型的构建,最终得到增量变分贝叶斯支持向量回归模型;
在线变分贝叶斯支持向量回归模型训练模块:用于将数据预处理模块得到的文件A中的数据输入在线变分贝叶斯支持向量回归模型构建模块得到的模型进行参数的迭代更新,将迭代更新结束后的得到的模型参数作为最优参数,记录到文件中;
在线变分贝叶斯支持向量回归模型预测模块:用于读入在线变分贝叶斯支持向量回归模型训练模块得到的最优参数,并对数据预处理模块得到的文件B中的数据做出预测。
所述数据预处理模块实现过程:
(1)特征提取:获得的关于交通事故率的数据中包含当天日期、天气状况、汽车尾号限号情况、发生的交通事故的次数及地点、总的汽车数目;
(2)特征离散化:根据当天日期将日期特征离散化为工作日、普通双休、小长假、大长假,根据天气状况将天气特征离散化为晴、阴、雨、雪、雾霾,汽车尾号限号情况本身为离散特征,无需再次进行离散;
(3)事故率计算:根据发生交通事故的次数及总的汽车数目计算事故率,即:
(4)数据清洗:所使用的数据中有一些比较异常的情况,将数据中事故率最大的前5%进行分析去除;
(5)数据划分:步骤(4)最终得到的数据包含连续两年的交通事故率相关的数据,根据年份将其划分为两份,第一年的数据存到文件A,第二年的数据存到文件B。
所述在线变分贝叶斯支持向量回归模型构建模块实现过程:
(1)假设先验概率分布
将在线变分贝叶斯支持向量回归参数的先验概率分布假设为高斯分布,用η表示模型参数,即数据预处理模块得到的数据特征的权重,并为其添加伽马分布的先验,用v表示先验分布的随机变量,根据高斯分布及伽马分布的定义,得到在线变分贝叶斯支持向量回归模型的先验概率分布如下:
p0(v)=Γ(v|av,bv) (3)
其中表示多元高斯分布,Γ()表示伽马分布,0表示0向量,I表示单位矩阵,D为η的长度,av,bv为伽马分布的超参数;
(2)构造基于数据扩充思想的伪似然
伪似然表达为数据在在线变分贝叶斯支持向量回归模型上的∈-不敏感损失:
l(yn,xn;η)=max(|yn-ηrxn|-∈,0) (4)
其中xn,yn分别表示数据预处理模块得到的数据特征及事故率,η表示数据预处理模块得到的数据特征的权重,l(yn,xn;η)表示数据在在线变分贝叶斯支持向量回归模型上的损失,max()为max函数,∈为辅助变量;
根据数据扩充的思想将公式(4)中的max函数化为2个关于辅助变量的正态分布的积分的乘积,得到最终的伪似然表达式为:
其中D表示数据,λ,θ为辅助变量,Θ表示{η,v}的联合,exp表示指数函数;
(3)后验概率近似分布推断
根据(1)、(2)分别设定好先验分布和似然函数,然后在扩充的变量空间中,根据贝叶斯后验正则化以及变分推断技术求解近似后验概率分,之后根据被动主动学习技术将近似后验概率分布扩展为在线场景下的近似后验概率分布,最终得到在线变分贝叶斯支持向量回归模型中的更新公式为:
其中q*()表示关于括号内变量后验概率近似分布,∑表示随机变量的协方差矩阵,表示随机变量的期望,t表示时刻,C为手动设置的常量,为广义逆高斯分布,χ表示辅助变量;
(4)增量变分贝叶斯支持向量回归模型构建模块
根据步骤(3)得到的在线变分贝叶斯支持向量回归模型中的参数更新公式将在线变分贝叶斯支持向量回归模型做一个扩展,从每个时刻处理一个数据扩展为每个时刻处理一小批数据,用At+1={xm},bt+1={ym}(m=1,2,...,M)分别表示t+1时刻的小批量样本的特征矩阵与标签向量,将在线变分贝叶斯支持向量回归模型中的{xn,yn}替换成{At+1,bt+1}得到的模型为增量变分贝叶斯支持向量回归模型,此模型中的参数推断公式为:最终得到增量学习模式下关于变量近似后验分布的更新公式为:
其中M为小批量样本的数目.其余未说明符号含义与步骤(3)中在线变分贝叶斯支持向量回归模型中的参数推断公式符号含义相同。
所述在线变分贝叶斯支持向量回归模型训练模块实现过程:
(1)将数据预处理模块得到的文件A中的数据整理成MATLAB矩阵,得到的事故率整理成对应的MATLAB向量,然后将数据输入到在线变分贝叶斯支持向量回归模型构建模块得到的模型中,数据矩阵和事故率向量分别对应X,y;
(2)根据在线变分贝叶斯支持向量回归模型构建模块得到的变量更新方式多次迭代,同时把步骤(1)得到的X,y代入变量更新公式中,对在线变分贝叶斯支持向量回归模型的参数进行迭代更新,将迭代更新结束后的得到的模型参数作为最优参数,记录到文件中。
所述在线变分贝叶斯支持向量回归模型预测模块实现过程:
(1)将在线变分贝叶斯支持向量回归模型训练模块实现过程的得到的记录模型最优参数的文件读入到一个MATLAB向量中;
(2)将数据预处理模块得到的文件B中的数据整理成MATLAB矩阵,得到的事故率整理成对应的MATLAB向量,数据矩阵和事故率向量分别对应X',y';
(3)将步骤(1)得到的向量和步骤(2)得到的X'相乘,得到一个新的向量作为对文件B中数据的预测结果y_pred。
本发明与现有技术相比的有益效果在于:
(1)本发明能够在交通事故率预测问题中自动推断合适的传统支持向量回归模型中的正则化参数,而现有的支持向量回归技术通常需要加入人工经验,手动指定正则化参数,如果参数指定不合理,对于交通事故率预测的结果会出现很大偏差。对于没有经验的情况,可以通过交叉验证取得相对合适的参数,但交叉验证需要花费大量的时间。本发明同过建立贝叶斯层次概率模型,将正则化参数转换为等价的概率形式,而关于此参数的概率分布在变分贝叶斯后验推断中自动得出,因此能够在段时间得到较为准确的结果。实验表明,本发明在与传统方法同样交通事故率预测精度的情况下所消耗的时间是传统方法的1/5。
(2)本发明能够在交通事故率预测问题中有效缓解传统支持向量回归方法的易受噪声与异常点影响的不足,通过本发明建立的模型更加鲁棒,能够给出更准确的预测。传统方法对于模型的参数估计通常只估计一个值,而本发明基于贝叶斯原理,对每个参数都估计一个概率分布,表明这些参数可能的取值情况,因此更加灵活,不容易受噪声影响。实验表明,本发明对于交通事故率的预测精度可达传统方法的1.2倍。
(3)本发明在交通事故率预测问题中采用了∈-不敏感损失,能够保证模型的稀疏性。传统的方法在预测交通事故率时为了使优化目标更加容易求解,通常采用基于残差平方和损失。而残差平方和损失是一种连续可微的损失函数,无法确保模型的稀疏性。模型的稀疏性可以有效减少运算复杂度,使本发明的预测事故率过程更快,而且可以防止过拟合,得到更加精确的交通事故率预测值。
(4)本发明可以处理实时的交通事故率预测问题,在保证预测准确率的情况下快速地更新模型。现有技术为了保证交通事故率的预测精度,通常是基于离线的形式,即,将所有数据一次放入进行学习,在预测的过程中无法实时修正系统。而本发明基于被动主动学习算法,根据对新的交通事故率数据的预测精度实时修正系统,使预测模型有更好的预测效果。
附图说明
图1为本发明的实现流程图;
图2为本发明中离线方法的运行过程。其中分别表示训练样本的增广特征矩阵与标签向量,为了计算方便,δ表示终止阈值,当上次迭代结果与这次的差小于δ时表明已收敛,可以结束训练。maxIter为最大迭代次数;
图3为本发明中在线方法的基本原理,t表示时刻;
图4为本发明中在线方法的运行过程,分别表示按照小批量划分的训练样本的增广特征矩阵与标签向量。T为时间片的个数,M为每个小批量的训练样本数目。分别表示初始的关于随机变量η的均值和协方差矩阵;
图5为本发明中数据预处理模块的整体流程。
具体实施方式
下面结合附图及实施例对本发明进一步详细说明。本发明的主要实施步骤如下:
如图1所示,本发明一种基于在线变分贝叶斯支持向量回归的高效预测交通事故率方法由数据预处理模块、在线变分贝叶斯支持向量回归模型构建模块、在线变分贝叶斯支持向量回归模型训练模块、在线变分贝叶斯支持向量回归模型预测模块组成。
整体实现过程如下:
数据预处理模块:用于将实际中关于交通事故率的数据进行特征提取、特征离散化、事故率计算、数据清洗、数据划分等预处理,然后将最终得到划分好的数据写入两个不同的文件,文件A和文件B;
在线变分贝叶斯支持向量回归模型构建模块:用于在线变分贝叶斯支持向量回归模型的构建,包括先验概率分布假设、基于数据扩充思想的伪似然构造、后验概率近似分布推断、增量变分贝叶斯支持向量回归模型构建模块;
在线变分贝叶斯支持向量回归模型训练模块:用于将数据预处理模块得到的文件A中的数据输入在线变分贝叶斯支持向量回归模型构建模块得到的模型进行参数学习,得到模型的参数,并选择最优参数存入文件;
在线变分贝叶斯支持向量回归模型预测模块:用于读入在线变分贝叶斯支持向量回归模型训练模块得到的最优参数,用经过推理得到的预测算法对数据预处理模块得到的文件B中的数据做出预测。
上述各模块的实现过程如下:
1.数据预处理模块
(1)获得的关于交通事故率的数据为Excel表格,共731行表示731天的交通情况,每行包含当天日期、天气状况、汽车尾号限号情况、发生的交通事故的次数及地点、总的汽车数目等。将其中的关于当天日期、天气状况、汽车尾号限号情况的列复制到新表A中,将其中的关于当天日期、发生的交通事故的次数、总的汽车数目的列复制到新表B中,如图5。
(2)按照图5所示,处理新表A。
1)日期离散化。在新表A中新建4列,分别表示工作日、普通双休、小长假、大长假。根据每天日期判断每天属于工作日、普通双休、小长假、大长假的哪种情况,在对应的列填“1”,其他情况对应的列填“0”。
2)天气离散化。在新表A中再新建13列,分别表示晴、阴、小雨、中雨、大雨、暴雨、小雪、中雪、大雪、暴雪、雾、雾霾、扬沙。根据每天天气情况判断每天属于晴、阴、小雨、中雨、大雨、暴雨、小雪、中雪、大雪、暴雪、雾、雾霾、扬沙中的哪种情况,在对应的列填“1”,其他情况对应的列填“0”。
3)限号处理。在新表A中再新建5列,分别表示不限号、限号0和5、限号1和6、限号2和7、限号3和8、限号4和9,根据每天汽车尾号限号在对应的列填“1”,其他情况对应的列填“0”。
4)删除天气状况、汽车尾号限号情况两列。
(3)按照图5所示,处理新表B。根据事故率计算公式:
计算每天发生的交通事故率,保存在新建的一列。删去发生的交通事故的次数、总的汽车数目对应的两列。
(4)数据清洗:所使用的数据中有一些比较异常的情况,将新表B中事故率最大的前5%去除,并将去除的行对应的日期在A中对应的行同步去除。
(5)数据划分:步骤(4)最终得到的A、B两表均包含连续两年的交通事故率相关的数据,根据日期中的年份将两表分别划分为两份,得到表A1、A2、B1、B2。
2.在线变分贝叶斯支持向量回归模型构建模块
(1)先验概率分布假设:将模型参数的先验概率分布假设为高斯分布,这一假设比较符合自然规律,且可简化后续模型推理的过程。模型的参数主要是样本特征的权重,用η表示。为了对模型的复杂度加以限制,给η加一个伽马分布的先验,如下:
p0(v)=Γ(v|av,bv) (3)
假设参数用
Θ=(η,ν) (4)
表示,则先验可表达为:
p0(Θ)=p0(ν)p(η|ν) (5)
(2)基于数据扩充的伪似然构造:伪似然需要借助数据在在线变分贝叶斯支持向量回归模型上的损失函数进行表达。这里的损失函数采用∈-不敏感损失,其表达式如下:
l(yn,xn;η)=max(|yn-ηTxn|-∈,0) (6)
由于样本在模型给定的条件下损失越小,则出现的概率越大,故损失和似然概率应该呈负相关。然而计算过程中需要对其中的max函数进行积分,采取基于数据扩充的思想,将其中的max函数化为2个关于辅助变量的正态分布的积分的乘积。考虑到样本的独立性,最后的伪似然被表达为:
(3)后验概率近似分布推断:后验概率的近似分布推断采用变分推断技术,无需假设参数后验概率所服从的分布,只需根据(1)、(2)分别设定好先验分布和似然函数,然后在扩充的变量空间中,求解后验概率分布。由于难以直接求解,故将此问题转化为求一个近似的后验概率分布。用q(Θ,λ,θ)表示这一近似分布,用p(Θ,λ,θ|D)表示真实的后验分布。因此,求解后验分布的问题可以转化为如下优化问题:
minKL[q(Θ,λ,θ)||p(Θ,λ,θ|D)] (8)
其中KL[q||p]表示分布q与分布p的Kullback-Leibler divergence,其是一个非负值,用来衡量分布q与分布p的距离。这一优化问题可以等价地转化为最大化变分自由能。基于平均场理论,假设变量服从完全可分解的自由形式的分布,即:
q(Θ,λ,θ)=q(v)q(η)q(λ)q(θ) (9)
为了求解上述问题,需要先初始化所有因子分布的矩,然后固定其他参数轮流地更新每个参数。当固定其他因子的分布时,关于η的最优分布满足:
这里表示q(Θ,λ,θ)在关于除去η的所有参数的期望。将先前对于先验及似然的假设带入公式(10),得到关于变量η的后验分布估计的更新公式如下:
用同样的方法更新其他变量,得到更新公式如下:
这里的表示广义逆高斯分布,是一个对角线元素为的对角矩阵。
这些公式为构成本发明所述方法的关键部分。图2给出了该方法的运行步骤。主要步骤如下:
1)初始化模型参数,包括:
i=0
2)根据公式(13)、(16)、(19)、(23)以及数据初始化模块得到的数据A1、B1以及步骤(1)初始化的情况计算其他未知变量,更新模型参数,反复迭代更新过程,直到达到最大迭代次数或者模型收敛。具体的训练步骤在下一模块详细阐述。
至此,构建了一个离线的交通事故率预测模型。下面基于被动-主动学习方法将模型应用到在线场景。如图3,要优化的目标函数为:
这里的R∈(q(η);xt+1,yt+1)表示新的样本(xt+1,yt+1)在对于η的分布的近似估计为q(η)时的期望损失。C为平衡新的样本在当前估计的分布下的损失与当前估计的分布与上一时刻估计的分布相似性的参数。根据图3所示,目标是要找一个分布,一方面与上一次的估计尽量的接近,另一方面能够很好地解释新的数据。通过定义:
可以得到关于η的分布的更新公式:
假设关于η的初始分布为高斯分布,
然后应用与离线模型推断类似的数据扩充及变分推断的思想,可以得出关于变量的更新公式如下:
(4)增量变分贝叶斯支持向量回归模型构建模块。此模型为步骤(3)构建的在线变分贝叶斯支持向量回归模型的一个扩展。考虑到在现实中,有时可以在一个时间片中获得若干(假设为M)个样本,于是可以将这些样本看做一个小批量,这样能够更加有效地避免噪声及异常点的干扰,且能加快训练速度。用At+1={xm},bt+1={ym}(m=1,2,...,M)分别表示t+1时刻的小批量样本的特征矩阵与标签向量,通过定义:
可以得到在增量学习模式下关于变量近似后验分布的更新公式,如下:
图4给出了方法的运行步骤。通过将M设定为1,增量学习模型退化为在线学习模型。此方法整体结构与(4)提到的方法一致,不同之处在于每次用于训练模型的样本不是所有样本,而只用M个,从而可以实时地根据实际情况进行模型的更新及预测。
3.在线变分贝叶斯支持向量回归模型训练模块
在考虑在线变分贝叶斯支持向量回归模型训练模块前,先要考虑离线变分贝叶斯支持向量回归模型的训练,主要步骤如图2,详细过程如下:
(1)设定一些必须的参数,一个是模型中用到的∈,另外还有控制,模型收敛程度的δ,以及模型在收敛之前最大可能的迭代次数maxIter。
e=l0-2
δ=10-5
maxIter=100
(2)将数据预处理模块得到的文件A1用MATLAB读入到矩阵X,文件B1用MATLAB读入到向量y。
(3)根据变分贝叶斯支持向量回归模型构建模块进行模型搭建。如图2,首先按照以下公式初始化模型参数,用MATLAB实现:
i=0
(4)将步骤(2)得到的数据X,y以及上式初始化的情况代入公式(13)、(16)、(19)、(23),计算其他未知变量Eη[η],并且更新模型参数Eν[ν],其中(n=1,2,...,N),同时更新迭代次数i,考虑到运算速度问题,此步用C++Armadillo实现:
i=i+1
(5)重复步骤(4),直到达到最大迭代次数或者模型收敛。最大迭代次数设为100次,当i=100时退出循环;模型收敛的判定方式是在每次循环中记录此次Eη[η]的值并传入下一次循环中,若相邻两次循环中Eη[η]值得变化小于一定阈值δ,则证明模型已经收敛,可以退出循环。
(6)循环退出或结束后得到的Eη[η]为最优的模型参数估计,将其记录到文件中。
然后用同样的数据在在线变分贝叶斯支持向量回归模型上进行训练,主要步骤如图4,详细过程如下:
1)设定一些必须的参数,一个是模型中用到的∈,另外还有控制,模型收敛程度的δ,以及模型在收敛之前最大可能的迭代次数maxIter。
∈=l0-2
δ=10-5
maxIter=100
t=0
2)将数据预处理模块得到的文件A1用MATLAB读入到矩阵X,文件B1用MATLAB读入到向量y。
3)将2)得到的数据进行分片,平均分为T个时间段的数据,存入变量At,bt,其中(t=1,2,...,T),当T=数据样本的总数时每个时间片只有一个样本,表示完全的在线学习,由于这是增量学习(每个时间片有多个样本)的一种特例,处理方式没有差别,故直接用范围更广的增量学习代替在线学习进行阐述。
4)根据在线变分贝叶斯支持向量回归模型构建模块进行模型搭建。如图2,首先按照以下公式初始化模型参数,用MATLAB实现:
X=At
y=bt
i=0
5)将步骤3)得到的数据以及上式初始化的情况代入公式(40)、(43)、(46),计算其他未知变量Eη[η],并且更新模型参数其中(m=1,2,...,M),同时更新迭代次数i,考虑到运算速度问题,此步用C++Armadillo实现:
i=i+1
6)重复步骤5),直到达到最大迭代次数或者模型收敛。最大迭代次数设为100次,当i=100时退出循环;模型收敛的判定方式是在每次循环中记录此次Eη[η]的值并传入下一次循环中,若相邻两次循环中Eη[η]值得变化小于一定阈值δ,则证明模型已经收敛,可以退出循环。
7)循环退出或结束后更新t,表示处理下一个时刻的数据。
t=t+1
重复步骤5)、6),直到所有数据都处理完,即t=T时停止。
8)步骤7)终止时得到的Eη[η]为最优的模型参数估计,将其记录到文件中。
4.在线变分贝叶斯支持向量回归模型预测模块
(1)读取所述在线变分贝叶斯支持向量回归模型训练模块实现过程步骤(7)得到的记录模型最优参数的文件,存入到一个MATLAB向量中;
(2)将数据预处理模块得到的文件A2用MATLAB读入到矩阵X',文件B2用MATLAB读入到向量y'。
(3)将步骤(1)得到的向量和步骤(2)得到的X'相乘,得到一个新的向量作为对文件B中数据的预测结果y_pred,通过计算y_pred和y'的欧式距离可以衡量本发明提出的基于在线变分贝叶斯支持向量回归的高效预测交通事故率方法的准确率。
本发明未详细阐述部分属于本领域公知技术。
以上所述,仅为本发明部分具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本领域的人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
Claims (5)
1.一种基于在线变分贝叶斯支持向量回归的交通事故率预测系统,其特征在于:包括数据预处理模块、在线变分贝叶斯支持向量回归模型构建模块、在线变分贝叶斯支持向量回归模型训练模块、在线变分贝叶斯支持向量回归模型预测模块;其中:
数据预处理模块:将实际中关于交通事故率的数据进行预处理,所述预处理为先进行特征提取,在关于交通事故率的数据中提取一些与发生交通事故相关的信息作为特征,然后再对这些特征进行特征离散化;在特征提取及离散化的同时,计算交通事故率,然后对交通事故率进行数据清洗和划分,最后将得到划分好交通事故率的数据写入两个不同的文件,文件A和文件B;
在线变分贝叶斯支持向量回归模型构建模块:进行在线变分贝叶斯支持向量回归模型的构建,首先进行先验概率分布假设,同时要构造基于数据扩充思想的伪似然,然后基于先验概率分布及数据扩充的伪似然进行后验概率近似推断,在后验概率近似推断的基础上进行增量变分贝叶斯支持向量回归模型的构建,最终得到增量变分贝叶斯支持向量回归模型;
在线变分贝叶斯支持向量回归模型训练模块:用于将数据预处理模块得到的文件A中的数据输入在线变分贝叶斯支持向量回归模型构建模块得到的模型进行参数的迭代更新,将迭代更新结束后的得到的模型参数作为最优参数,记录到文件中;
在线变分贝叶斯支持向量回归模型预测模块:用于读入在线变分贝叶斯支持向量回归模型训练模块得到的最优参数,并对数据预处理模块得到的文件B中的数据做出预测。
2.根据权利要求1所述的一种基于在线变分贝叶斯支持向量回归的交通事故率预测系统,其特征在于:所述数据预处理模块实现过程:
(1)特征提取:获得的关于交通事故率的数据中包含当天日期、天气状况、汽车尾号限号情况、发生的交通事故的次数及地点、总的汽车数目;
(2)特征离散化:根据当天日期将日期特征离散化为工作日、普通双休、小长假、大长假,根据天气状况将天气特征离散化为晴、阴、雨、雪、雾霾,汽车尾号限号情况本身为离散特征,无需再次进行离散;
(3)事故率计算:根据发生交通事故的次数及总的汽车数目计算事故率,即:
(4)数据清洗:所使用的数据中有一些比较异常的情况,将数据中事故率最大的前5%进行分析去除;
(5)数据划分:步骤(4)最终得到的数据包含连续两年的交通事故率相关的数据,根据年份将其划分为两份,第一年的数据存到文件A,第二年的数据存到文件B。
3.根据权利要求1所述的一种基于在线变分贝叶斯支持向量回归的交通事故率预测系统,其特征在于:所述在线变分贝叶斯支持向量回归模型构建模块实现过程:
(1)假设先验概率分布
将在线变分贝叶斯支持向量回归参数的先验概率分布假设为高斯分布,用η表示模型参数,即数据预处理模块得到的数据特征的权重,并为其添加伽马分布的先验,用v表示先验分布的随机变量,根据高斯分布及伽马分布的定义,得到在线变分贝叶斯支持向量回归模型的先验概率分布如下:
p0(v)=Γ(v|av,bv) (3)
其中表示多元高斯分布,Γ()表示伽马分布,0表示0向量,I表示单位矩阵,D为η的长度,av,bv为伽马分布的超参数;
(2)构造基于数据扩充思想的伪似然
伪似然表达为数据在在线变分贝叶斯支持向量回归模型上的∈-不敏感损失:
l(yn,xn;η)=max(|yn-ηTxn|-∈,0) (4)
其中xn,yn分别表示数据预处理模块得到的数据特征及事故率,η表示数据预处理模块得到的数据特征的权重,l(yn,xn;η)表示数据在在线变分贝叶斯支持向量回归模型上的损失,max()为max函数,∈为辅助变量;
根据数据扩充的思想将公式(4)中的max函数化为2个关于辅助变量的正态分布的积分的乘积,得到最终的伪似然表达式为:
其中D表示数据,λ,θ为辅助变量,Θ表示{η,ν}的联合,exp表示指数函数;
(3)后验概率近似分布推断
根据(1)、(2)分别设定好先验分布和似然函数,然后在扩充的变量空间中,根据贝叶斯后验正则化以及变分推断技术求解近似后验概率分,之后根据被动主动学习技术将近似后验概率分布扩展为在线场景下的近似后验概率分布,最终得到在线变分贝叶斯支持向量回归模型中的参数推断公式为:
其中q*()表示关于括号内变量后验概率近似分布,∑表示随机变量的协方差矩阵,表示随机变量的期望,t表示时刻,C为手动设置的常量,为广义逆高斯分布,χ表示辅助变量;
(4)增量变分贝叶斯支持向量回归模型构建模块
根据步骤(3)得到的在线变分贝叶斯支持向量回归模型中的参数更新公式将在线变分贝叶斯支持向量回归模型做一个扩展,从每个时刻处理一个数据扩展为每个时刻处理一小批数据,用At+1={xm},bt+1={ym}(m=1,2,...,M)分别表示t+1时刻的小批量样本的特征矩阵与标签向量,将在线变分贝叶斯支持向量回归模型中的{xn,yn}替换成{At+1,bt+1}得到的模型为增量变分贝叶斯支持向量回归模型,最终得到增量学习模式下关于变量近似后验分布的更新公式为:
其中M为小批量样本的数目.其余未说明符号含义与步骤(3)中在线变分贝叶斯支持向量回归模型中的参数推断公式符号含义相同。
4.根据权利要求1所述的一种基于在线变分贝叶斯支持向量回归的交通事故率预测系统,其特征在于:所述在线变分贝叶斯支持向量回归模型训练模块实现过程:
(1)将数据预处理模块得到的文件A中的数据整理成MATLAB矩阵,得到的事故率整理成对应的MATLAB向量,然后将数据输入到在线变分贝叶斯支持向量回归模型构建模块得到的模型中,数据矩阵和事故率向量分别对应X,y;
(2)根据在线变分贝叶斯支持向量回归模型构建模块得到的变量更新方式多次迭代,同时把步骤(1)得到的X,y代入变量更新公式中,对在线变分贝叶斯支持向量回归模型的参数进行迭代更新,将迭代更新结束后的得到的模型参数作为最优参数,记录到文件中。
5.根据权利要求1所述的一种基于在线变分贝叶斯支持向量回归的交通事故率预测系统,其特征在于:所述在线变分贝叶斯支持向量回归模型预测模块实现过程:
(1)将在线变分贝叶斯支持向量回归模型训练模块实现过程的得到的记录模型最优参数的文件读入到一个MATLAB向量中;
(2)将数据预处理模块得到的文件B中的数据整理成MATLAB矩阵,得到的事故率整理成对应的MATLAB向量,数据矩阵和事故率向量分别对应X',y';
(3)将步骤(1)得到的向量和步骤(2)得到的X'相乘,得到一个新的向量作为对文件B中数据的预测结果y_pred。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610986943.5A CN106339608A (zh) | 2016-11-09 | 2016-11-09 | 一种基于在线变分贝叶斯支持向量回归的交通事故率预测系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610986943.5A CN106339608A (zh) | 2016-11-09 | 2016-11-09 | 一种基于在线变分贝叶斯支持向量回归的交通事故率预测系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106339608A true CN106339608A (zh) | 2017-01-18 |
Family
ID=57841121
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610986943.5A Pending CN106339608A (zh) | 2016-11-09 | 2016-11-09 | 一种基于在线变分贝叶斯支持向量回归的交通事故率预测系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106339608A (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107731007A (zh) * | 2017-11-16 | 2018-02-23 | 东南大学 | 基于交通冲突随机过程演化的交叉口事故预测方法 |
CN108417033A (zh) * | 2018-03-23 | 2018-08-17 | 四川高路交通信息工程有限公司 | 基于多维因素的高速路交通事故分析预测方法 |
CN108491690A (zh) * | 2018-03-16 | 2018-09-04 | 中国科学院数学与系统科学研究院 | 一种蛋白质组学中肽段的肽段定量效率预测方法 |
CN109409713A (zh) * | 2018-10-15 | 2019-03-01 | 北京交通大学 | 基于贝叶斯模型和三倍标准差准则的道路网络评估方法 |
CN109582724A (zh) * | 2018-12-07 | 2019-04-05 | 厦门铅笔头信息科技有限公司 | 分布式自动特征工程系统架构 |
CN110276094A (zh) * | 2019-04-30 | 2019-09-24 | 清华大学 | 基于贝叶斯弹性网正则化方法的电流元三维反演方法 |
CN110807561A (zh) * | 2019-11-13 | 2020-02-18 | 吉林农业大学 | 基于贝叶斯网络的玉米病虫害预警分析方法 |
CN111046517A (zh) * | 2019-08-13 | 2020-04-21 | 成都垣景科技有限公司 | 一种基于层次贝叶斯方法的局部尺度滑坡易发性预测方法 |
CN111208483A (zh) * | 2020-01-03 | 2020-05-29 | 西安电子科技大学 | 基于贝叶斯支持向量数据描述的雷达库外目标识别方法 |
CN111310833A (zh) * | 2020-02-19 | 2020-06-19 | 清华大学 | 一种基于贝叶斯神经网络的出行方式识别方法 |
CN111784017A (zh) * | 2019-04-03 | 2020-10-16 | 交通运输部公路科学研究所 | 一种基于路况因素回归分析的公路交通事故数量预测方法 |
CN115014321A (zh) * | 2022-05-23 | 2022-09-06 | 北京航空航天大学杭州创新研究院 | 一种基于自适应鲁棒滤波的仿生偏振多源融合定向方法 |
CN116978236A (zh) * | 2023-09-25 | 2023-10-31 | 南京隼眼电子科技有限公司 | 交通事故预警方法、装置和存储介质 |
CN117688365A (zh) * | 2023-12-13 | 2024-03-12 | 江西鼎通安防科技有限公司 | 多模态生物识别门禁系统 |
CN118410266A (zh) * | 2024-04-17 | 2024-07-30 | 苏州市职业大学 | 变分贝叶斯自适应粒子滤波器的电驱系统状态估计方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102208030A (zh) * | 2011-06-03 | 2011-10-05 | 天津大学 | 基于支持向量机正则化路径的贝叶斯模型平均模型组合方法 |
CN103440541A (zh) * | 2013-09-18 | 2013-12-11 | 山东大学 | 多风电场短期输出功率的联合概率密度预测方法 |
CN104637334A (zh) * | 2015-02-10 | 2015-05-20 | 中山大学 | 一种公交车到站时间实时预测方法 |
-
2016
- 2016-11-09 CN CN201610986943.5A patent/CN106339608A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102208030A (zh) * | 2011-06-03 | 2011-10-05 | 天津大学 | 基于支持向量机正则化路径的贝叶斯模型平均模型组合方法 |
CN103440541A (zh) * | 2013-09-18 | 2013-12-11 | 山东大学 | 多风电场短期输出功率的联合概率密度预测方法 |
CN104637334A (zh) * | 2015-02-10 | 2015-05-20 | 中山大学 | 一种公交车到站时间实时预测方法 |
Non-Patent Citations (2)
Title |
---|
SIQI DENG ETAL: ""Online Variational Bayesian Support Vector Regression"", 《INTERNATIONAL JOINT CONFERENCE ON NEURAL NETWORKS , 2016》 * |
XINYU WU ETAL: ""Festival, Date and Limit Line:Predicting Vehicle Accident Rate in Beijing"", 《PROCEEDING OF THE 2015 SIAM INTERNATIONAL CONFERENCE ON DATA MINING》 * |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107731007A (zh) * | 2017-11-16 | 2018-02-23 | 东南大学 | 基于交通冲突随机过程演化的交叉口事故预测方法 |
CN108491690B (zh) * | 2018-03-16 | 2020-06-05 | 中国科学院数学与系统科学研究院 | 一种蛋白质组学中肽段的肽段定量效率预测方法 |
CN108491690A (zh) * | 2018-03-16 | 2018-09-04 | 中国科学院数学与系统科学研究院 | 一种蛋白质组学中肽段的肽段定量效率预测方法 |
CN108417033A (zh) * | 2018-03-23 | 2018-08-17 | 四川高路交通信息工程有限公司 | 基于多维因素的高速路交通事故分析预测方法 |
CN109409713A (zh) * | 2018-10-15 | 2019-03-01 | 北京交通大学 | 基于贝叶斯模型和三倍标准差准则的道路网络评估方法 |
CN109409713B (zh) * | 2018-10-15 | 2021-10-08 | 北京交通大学 | 基于贝叶斯模型和三倍标准差准则的道路网络评估方法 |
CN109582724A (zh) * | 2018-12-07 | 2019-04-05 | 厦门铅笔头信息科技有限公司 | 分布式自动特征工程系统架构 |
CN109582724B (zh) * | 2018-12-07 | 2022-04-08 | 厦门铅笔头信息科技有限公司 | 分布式自动特征工程系统架构 |
CN111784017B (zh) * | 2019-04-03 | 2023-10-17 | 交通运输部公路科学研究所 | 一种基于路况因素回归分析的公路交通事故数量预测方法 |
CN111784017A (zh) * | 2019-04-03 | 2020-10-16 | 交通运输部公路科学研究所 | 一种基于路况因素回归分析的公路交通事故数量预测方法 |
CN110276094A (zh) * | 2019-04-30 | 2019-09-24 | 清华大学 | 基于贝叶斯弹性网正则化方法的电流元三维反演方法 |
CN111046517A (zh) * | 2019-08-13 | 2020-04-21 | 成都垣景科技有限公司 | 一种基于层次贝叶斯方法的局部尺度滑坡易发性预测方法 |
CN110807561A (zh) * | 2019-11-13 | 2020-02-18 | 吉林农业大学 | 基于贝叶斯网络的玉米病虫害预警分析方法 |
CN111208483A (zh) * | 2020-01-03 | 2020-05-29 | 西安电子科技大学 | 基于贝叶斯支持向量数据描述的雷达库外目标识别方法 |
CN111310833A (zh) * | 2020-02-19 | 2020-06-19 | 清华大学 | 一种基于贝叶斯神经网络的出行方式识别方法 |
CN111310833B (zh) * | 2020-02-19 | 2022-11-15 | 清华大学 | 一种基于贝叶斯神经网络的出行方式识别方法 |
CN115014321A (zh) * | 2022-05-23 | 2022-09-06 | 北京航空航天大学杭州创新研究院 | 一种基于自适应鲁棒滤波的仿生偏振多源融合定向方法 |
CN115014321B (zh) * | 2022-05-23 | 2024-03-19 | 北京航空航天大学杭州创新研究院 | 一种基于自适应鲁棒滤波的仿生偏振多源融合定向方法 |
CN116978236A (zh) * | 2023-09-25 | 2023-10-31 | 南京隼眼电子科技有限公司 | 交通事故预警方法、装置和存储介质 |
CN116978236B (zh) * | 2023-09-25 | 2023-12-15 | 南京隼眼电子科技有限公司 | 交通事故预警方法、装置和存储介质 |
CN117688365A (zh) * | 2023-12-13 | 2024-03-12 | 江西鼎通安防科技有限公司 | 多模态生物识别门禁系统 |
CN117688365B (zh) * | 2023-12-13 | 2024-06-11 | 江西鼎通安防科技有限公司 | 多模态生物识别门禁系统 |
CN118410266A (zh) * | 2024-04-17 | 2024-07-30 | 苏州市职业大学 | 变分贝叶斯自适应粒子滤波器的电驱系统状态估计方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106339608A (zh) | 一种基于在线变分贝叶斯支持向量回归的交通事故率预测系统 | |
CN112418547B (zh) | 一种基于gcn-lstm组合模型的公交车站点客流量预测方法 | |
CN110223517B (zh) | 基于时空相关性的短时交通流量预测方法 | |
CN110782093B (zh) | 融合ssae深度特征学习和lstm的pm2.5小时浓度预测方法及系统 | |
CN111144542B (zh) | 油井产能预测方法、装置和设备 | |
Fay et al. | On the influence of weather forecast errors in short-term load forecasting models | |
CN108009674A (zh) | 基于cnn和lstm融合神经网络的空气pm2.5浓度预测方法 | |
CN110458336B (zh) | 一种基于深度学习的网约车供需预测方法 | |
CN109615011A (zh) | 一种基于lstm的中小河流短期洪水预报方法 | |
CN110942194A (zh) | 一种基于tcn的风电预测误差区间评估方法 | |
CN108764515A (zh) | 一种耦合数值气象水文集合预报的水库调度风险决策方法 | |
CN113255986B (zh) | 一种基于气象信息和深度学习算法的多步日径流预报方法 | |
CN111860989B (zh) | 一种基于蚁群算法优化的lstm神经网络短时交通流量预测方法 | |
CN106448151A (zh) | 一种短时交通流预测方法 | |
CN109583565A (zh) | 基于注意力模型长短时记忆网络的洪水预测方法 | |
CN105139093A (zh) | 基于Boosting算法和支持向量机的洪水预报方法 | |
CN103489039A (zh) | 具有在线自整定优化能力的高速公路交通流量融合预测方法 | |
CN113554466A (zh) | 一种短期用电量预测模型构建方法、预测方法和装置 | |
CN107704970A (zh) | 一种基于Spark的需求侧负荷预测方法 | |
CN108417032A (zh) | 一种城市中心区路边停车需求分析预测方法 | |
CN109858681B (zh) | 一种基于ic卡的交通短时客流预测方法和相关装置 | |
CN113947182B (zh) | 基于双阶段堆叠图卷积网络的交通流预测模型构建方法 | |
CN112766603A (zh) | 一种交通流量预测方法、系统、计算机设备及存储介质 | |
CN110991776A (zh) | 一种基于gru网络实现水位预测的方法及系统 | |
CN109615147A (zh) | 一种未来72小时大气污染预报预警方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20170118 |
|
WD01 | Invention patent application deemed withdrawn after publication |