发明名称 一种交通运行状态感知方法
摘要 本发明公开了属于智能交通系统范围的一种交通运行状态感知方法。对于具体的路段,其交通状态分布在一天的不同时段是不一样的,早高峰和午夜的交通状态分布特征显然有很大的区别,因此在研究交通状态分布的时候需要把不同的时段分开对待,由此对交通状态分布进行建模;要想估计模型中的参数,就需要对实际应用时的交通状态模型表达式求解,得到每种交通状态在其中占的比例,就可以判断出该数据对应的交通状态,从而实现交通状态感知的目的。本发明结合常用的主题模型实现对路段任意时间段的交通运行状态分布的建模,并且利用得到的模型实时判断路段的交通状态;弥补传统交通状态感知算法中难以灵活地针对不同时间,不同路段进行感知的缺点。
申请公布号 CN105575113A 申请公布日期 2016.05.11
申请号 CN201510925218.2 申请日期 2015.12.14
申请人 清华大学 发明人 胡坚明;裴欣;顾浩波;张毅;谢旭东;李力;姚丹亚
分类号 G08G1/01(2006.01)I 主分类号 G08G1/01(2006.01)I
代理机构 北京众合诚成知识产权代理有限公司 11246 代理人 张文宝
主权项 一种交通运行状态感知方法,其特征在于,包括:1)交通状态模型建模对于具体的路段,其交通状态分布在一天的不同时段是不一样的,早高峰和午夜的交通状态分布特征显然有很大的区别,因此在研究交通状态分布的时候需要把不同的时段分开对待,由此对交通状态分布进行建模;对交通状态分布进行建模的步骤如下:(1)对于某个路段,若按照2小时划分不同时间段,那么这条路段就可以分为12个研究对象,其中每个时间段都有其独特的交通状态分布数据,将这一最基本的研究单元定义为时间路段;同时,定义数据点为交通检测器检测到的某个具体的交通数据,定义了模型中需要用到的各种参数,如表1所示,表1  模型中需要用到的各种参数<img file="FDA0000877524010000011.GIF" wi="1523" he="1082" />(2)模拟正向的交通数据的生成,假设每个时间路段共有K种交通状态可以选择,对于一个数据点w,应该首先确定其交通状态;然后根据该数据点的交通状态确定交通数据;那么,该数据点w的交通数据为t的概率就为:<maths num="0001"><math><![CDATA[<mrow><mi>p</mi><mrow><mo>(</mo><mi>w</mi><mo>=</mo><mi>t</mi><mo>)</mo></mrow><mo>=</mo><munder><mo>&Sigma;</mo><mi>k</mi></munder><mi>p</mi><mrow><mo>(</mo><mi>w</mi><mo>=</mo><mi>t</mi><mo>|</mo><mi>z</mi><mo>=</mo><mi>k</mi><mo>)</mo></mrow><mi>p</mi><mrow><mo>(</mo><mi>z</mi><mo>=</mo><mi>k</mi><mo>)</mo></mrow><mo>,</mo><munder><mo>&Sigma;</mo><mi>k</mi></munder><mi>p</mi><mrow><mo>(</mo><mi>z</mi><mo>=</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><mn>1</mn><mo>,</mo></mrow>]]></math><img file="FDA0000877524010000021.GIF" wi="1638" he="171" /></maths>其中,∑kp(w=t|z=k)为一个多项分布,是从交通状态为z=k中选择数据点时的分布,p(z=k)是该数据点的交通状态为k的概率;假设时间路段m上的交通状态z的分布p(z|d=m)=θm,首先根据超参数α确定具体的交通状态分布θm,然后从分布θm中采样就可以得到每个数据点的交通状态zm,n;假设对于交通状态zm,n,其交通数据t分布为p(t|z=k)=φk;同样地,需要首先根据超参数β确定每个交通状态对应的交通数据分布φ,然后从φk随机采样得到该数据点的交通数据;从分布θm中采样得到所有数据点的交通状态,以此构成一个路段的交通数据的集合<img file="FDA0000877524010000022.GIF" wi="373" he="79" />和<img file="FDA0000877524010000023.GIF" wi="60" he="63" /><img file="FDA0000877524010000024.GIF" wi="365" he="79" />该模型中,数据点的交通状态分布是多项分布;同样,交通数据的在交通数据点中的分布也是多项分布;(3)根据上面描述的模型,得到整个数据集生成的概率,表示为给出的所有超参数和需估计参数组成的联合分布:<img file="FDA0000877524010000025.GIF" wi="1681" he="199" />式(1)式中,p(Φ|β)是每个交通状态对应的交通数据分布,这个分布对于一个时间路段来说是唯一的;p(wm,n|φzm,n)p(zm,n|θm)·p(θm|α)是对从时间路段上获得每个数据点对应的交通状态,然后再采样得到每个数据点的交通数据的过程;所有数据点出现概率之和就是整个数据集出现的概率;而对于某一个特定的数据点,其交通数据wm,n=t的概率为:<img file="FDA0000877524010000026.GIF" wi="1368" he="205" />式(2)上面的式(1)、式(2)即为建立的交通状态感知模型,描述了各种类型的交通数据出现的概率;2)交通状态模型表达式求解要想估计模型中的参数,就需要知道上述联合分布在实际应用时的确切表达式,在估计交通状态模型时,若在每个数据点对应的交通状态zm,n已知,θm和φk都能通过每个数据点的交通数据wm,n和交通状态zm,n用统计的方式计算出来,因此在实际估计时只需要估计每个交通数据点的交通状态zm,n即可;估计zm,n的吉布斯采样方法称为塌缩吉布斯采样,在只需要估计zm,n,时,则式(1)简单地写成:p(w,z|α,β)=p(w|z,β)·p(z|α)          式(3)式中,第一项和α无关,第二项和β无关,因此这两项可以被分别考虑;首先推导第一项,考虑概率p(w|z,Φ)表示的是已知每种交通状态下交通数据的分布Φ时得到的所有交通数据点的过程,是一个多项分布,此时,Φ是这个分布的先验参数,分布p(Φ|β)是多项分布的先验分布,那么则有:p(w|z,β)=∫p(w|z,Φ)p(Φ|β)dΦ            式(4)在这里,选取Phi的先验分布为狄利克雷(Dirichlet)分布,由于狄利克雷分布是多项分布的共轭先验分布,因此在计算时我们得到的后验分布的形式也是狄利克雷分布,这就极大地简化了最终的数学计算;由于<img file="FDA0000877524010000031.GIF" wi="1357" he="212" />式(5)代入上面的式(4),最终得到:<img file="FDA0000877524010000041.GIF" wi="1082" he="573" />式(6)其中Δ(β)表示参数为β的狄利克雷分布,n<sub>k</sub><sup>(t)</sup>表示交通数据t在交通状态k下出现的次数;n<sub>Z</sub><sup>(t)</sup>表示交通数据t在交通状态Z下出现的次数;类似地,第二项p(z|α)可以写为p(z|α)=∫p(z|Θ)p(Θ|α)dΘ   式(7)而其中的p(z|Θ)同样可以写成所有θm,k相乘的形式,其中,n<sub>m</sub><sup>(k)</sup>表示时间路段m上,交通状态k出现的次数;同样,<maths num="0002"><math><![CDATA[<mrow><mi>p</mi><mrow><mo>(</mo><mi>z</mi><mo>|</mo><mi>&Theta;</mi><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Pi;</mi><mrow><mi>m</mi><mo>=</mo><mn>1</mn></mrow><mi>M</mi></munderover><munderover><mi>&Pi;</mi><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>K</mi></munderover><mi>p</mi><mrow><mo>(</mo><msub><mi>z</mi><mi>i</mi></msub><mo>=</mo><mi>k</mi><mo>|</mo><msub><mi>d</mi><mi>i</mi></msub><mo>=</mo><mi>m</mi><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Pi;</mi><mrow><mi>m</mi><mo>=</mo><mn>1</mn></mrow><mi>M</mi></munderover><munderover><mi>&Pi;</mi><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>K</mi></munderover><msubsup><mi>&theta;</mi><mrow><mi>m</mi><mo>,</mo><mi>k</mi></mrow><msubsup><mi>n</mi><mi>m</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msubsup></msubsup></mrow>]]></math><img file="FDA0000877524010000042.GIF" wi="1266" he="208" /></maths>     式(8)代入式(7),可以得到和式(6)类似的结果:<maths num="0003"><math><![CDATA[<mfenced open = "" close = ""><mtable><mtr><mtd><mrow><mi>p</mi><mrow><mo>(</mo><mi>z</mi><mo>|</mo><mi>&alpha;</mi><mo>)</mo></mrow><mo>=</mo><mo>&Integral;</mo><mi>p</mi><mrow><mo>(</mo><mi>z</mi><mo>|</mo><mi>&Theta;</mi><mo>)</mo></mrow><mi>p</mi><mrow><mo>(</mo><mi>&Theta;</mi><mo>|</mo><mi>&alpha;</mi><mo>)</mo></mrow><mi>d</mi><mi>&Theta;</mi></mrow></mtd></mtr><mtr><mtd><mrow><mo>=</mo><mo>&Integral;</mo><munderover><mi>&Pi;</mi><mrow><mi>m</mi><mo>=</mo><mn>1</mn></mrow><mi>M</mi></munderover><mfrac><mn>1</mn><mi>&alpha;</mi></mfrac><munderover><mi>&Pi;</mi><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>K</mi></munderover><msubsup><mi>&theta;</mi><mrow><mi>m</mi><mo>,</mo><mi>k</mi></mrow><mrow><msubsup><mi>n</mi><mi>m</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msubsup><mo>+</mo><msub><mi>&alpha;</mi><mi>k</mi></msub><mo>-</mo><mn>1</mn></mrow></msubsup><msub><mi>d&theta;</mi><mi>m</mi></msub></mrow></mtd></mtr><mtr><mtd><mrow><mo>=</mo><munderover><mi>&Pi;</mi><mrow><mi>m</mi><mo>=</mo><mn>1</mn></mrow><mi>M</mi></munderover><mfrac><mrow><mi>&Delta;</mi><mrow><mo>(</mo><msub><mi>n</mi><mi>m</mi></msub><mo>+</mo><mi>&alpha;</mi><mo>)</mo></mrow></mrow><mrow><mi>&Delta;</mi><mrow><mo>(</mo><mi>&alpha;</mi><mo>)</mo></mrow></mrow></mfrac><mo>,</mo><msub><mi>n</mi><mi>m</mi></msub><mo>=</mo><msubsup><mrow><mo>{</mo><msubsup><mi>n</mi><mi>m</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msubsup><mo>}</mo></mrow><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>K</mi></msubsup></mrow></mtd></mtr></mtable></mfenced>]]></math><img file="FDA0000877524010000043.GIF" wi="1077" he="567" /></maths>    式(9)结合式(7)和式(9),我们可以得到描述交通运行状态的联合分布为:<maths num="0004"><math><![CDATA[<mrow><mi>p</mi><mrow><mo>(</mo><mi>w</mi><mo>,</mo><mi>z</mi><mo>|</mo><mi>&alpha;</mi><mo>,</mo><mi>&beta;</mi><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Pi;</mi><mrow><mi>z</mi><mo>=</mo><mn>1</mn></mrow><mi>K</mi></munderover><mfrac><mrow><mi>&Delta;</mi><mrow><mo>(</mo><msub><mi>n</mi><mi>z</mi></msub><mo>+</mo><mi>&beta;</mi><mo>)</mo></mrow></mrow><mrow><mi>&Delta;</mi><mrow><mo>(</mo><mi>&beta;</mi><mo>)</mo></mrow></mrow></mfrac><mo>&CenterDot;</mo><munderover><mi>&Pi;</mi><mrow><mi>m</mi><mo>=</mo><mn>1</mn></mrow><mi>M</mi></munderover><mfrac><mrow><mi>&Delta;</mi><mrow><mo>(</mo><msub><mi>n</mi><mi>m</mi></msub><mo>+</mo><mi>&alpha;</mi><mo>)</mo></mrow></mrow><mrow><mi>&Delta;</mi><mrow><mo>(</mo><mi>&alpha;</mi><mo>)</mo></mrow></mrow></mfrac></mrow>]]></math><img file="FDA0000877524010000051.GIF" wi="1230" he="201" /></maths>    式(10)有了交通数据出现的概率分布的具体表达式,使用Gibbs采样算法对模型中的参数进行估计,就可以根据已有的交通数据对参数θm和φm进行估计,从而建立起一个描述交通状态的模型;3)模型参数估计吉布斯采样(Gibbs sampling)是一种常用的马尔科夫蒙特卡洛方法(MCMC method),在Gibbs采样中,每次在其他维度不变的情况下只对维度xi进行采样,不变的维度被定义为<img file="FDA0000877524010000052.GIF" wi="132" he="69" />整个Gibbs采样的过程如下:(1)选择维度i(2)通过<img file="FDA0000877524010000053.GIF" wi="269" he="79" />对xi采样,其中,<img file="FDA0000877524010000054.GIF" wi="268" he="79" />可以使用下式计算:<img file="FDA0000877524010000055.GIF" wi="836" he="189" />在使用Gibbs采样估计上述交通状态模型中的参数时,首先应该确定采样公式<img file="FDA0000877524010000056.GIF" wi="298" he="78" />令i=(m,n)为一个交通数据的下标,在Gibbs采样中,有<img file="FDA0000877524010000057.GIF" wi="91" he="54" /><img file="FDA0000877524010000058.GIF" wi="339" he="70" />和<img file="FDA0000877524010000059.GIF" wi="517" he="70" />根据上面得到的结果以及Dirichlet分布的性质,可以得到采样公式如下:<img file="FDA00008775240100000510.GIF" wi="1271" he="741" />在Gibbs采样收敛之后,就可以得到所有交通数据点的交通状态z的采样结果;由于参数θm和φk对应的是多项分布,而其先验分布选取的共轭先验分布是Dirichlet分布,因此,参数θm和φk的后验分布也是Dirichlet分布:<maths num="0005"><math><![CDATA[<mrow><mi>p</mi><mrow><mo>(</mo><msub><mi>&theta;</mi><mi>m</mi></msub><mo>|</mo><msub><mi>z</mi><mi>m</mi></msub><mo>,</mo><mi>&alpha;</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mn>1</mn><msub><mi>Z</mi><msub><mi>&theta;</mi><mi>m</mi></msub></msub></mfrac><munderover><mi>&Pi;</mi><mrow><mi>n</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><mi>p</mi><mrow><mo>(</mo><msub><mi>z</mi><mrow><mi>m</mi><mo>,</mo><mi>n</mi></mrow></msub><mo>|</mo><msub><mi>&theta;</mi><mi>m</mi></msub><mo>)</mo></mrow><mo>&CenterDot;</mo><mi>p</mi><mrow><mo>(</mo><msub><mi>&theta;</mi><mi>m</mi></msub><mo>|</mo><mi>&alpha;</mi><mo>)</mo></mrow><mo>=</mo><mi>&Delta;</mi><mrow><mo>(</mo><msub><mi>&theta;</mi><mi>m</mi></msub><mo>|</mo><msub><mi>n</mi><mi>m</mi></msub><mo>+</mo><mi>&alpha;</mi><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000877524010000061.GIF" wi="1540" he="199" /></maths><img file="FDA0000877524010000062.GIF" wi="1529" he="182" />式(11),其中nm是时间路段m上交通状态的观测计数值,nk是交通状态k中交通数据的观测计数值;由于参数θm和φk的后验分布也是Dirichlet分布,根据Dirichlet分布的性质,可以得到其估计值为<img file="FDA0000877524010000063.GIF" wi="530" he="220" /><maths num="0006"><math><![CDATA[<mrow><msub><mi>&theta;</mi><mrow><mi>m</mi><mo>,</mo><mi>k</mi></mrow></msub><mo>=</mo><mfrac><mrow><msubsup><mi>n</mi><mi>m</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msubsup><mo>+</mo><msub><mi>&alpha;</mi><mi>k</mi></msub></mrow><mrow><msubsup><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>K</mi></msubsup><msubsup><mi>n</mi><mi>m</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msubsup><mo>+</mo><msub><mi>&alpha;</mi><mi>k</mi></msub></mrow></mfrac></mrow>]]></math><img file="FDA0000877524010000064.GIF" wi="571" he="210" /></maths>     式(12),其中,n<sub>k</sub><sup>(t)</sup>表示交通数据t在交通状态k下出现的次数;n<sub>m</sub><sup>(k)</sup>表示时间路段m上,交通状态k出现的次数;在Gibbs算法采样结束之后,我们可以得到每个数据点的交通状态分配z,以及参数Θ和Φ,参数Θ和Φ描述了每个时间路段上交通状态的分布以及每个交通状态中交通数据点的分布,是描述交通运行状态的关键参数;通过Θ和Φ就可以知道一个时间路段上每一种交通状态出现的概率和数据点在相应交通状态下出现的概率;完成了Gibbs采样对交通运行状态的建模之后,每当交通检测器采集到新的交通数据,只需要认为交通状态中交通数据点的分布Φ不变,使用Gibbs采样重新估计新来到数据的Θ即可估计出了Θ,就可以得到每种交通状态在其中占的比例,就可以判断出该数据对应的交通状态,从而实现交通状态感知的目的。
地址 100084 北京市海淀区北京市100084-82信箱