4.1 连续隐马尔科夫链模型(CHMM)在交通规划和决策的角度估计特定出行者的确切的出行目的没有必要,推测出行者在一定条件下会有某种目的的概率就能够满足要求。
因此本文提出一种基于无监督机器学习的连续隐马尔科夫链模型(CHMM)来识别公共自行车出行链借还车出行目的,根据个人属性、出行时间和站点土地利用属性数据,得到每次借还车活动属于某种出行目的的概率,进一步识别公共自行车出行链最可能的出行目的活动链。
4.1.1连续隐马尔科夫链模型概述隐马尔可夫链模型(Hidden Markov Model,HMM)是一种统计模型,它被用来描述一个含有隐含未知状态的马尔可夫链。
隐马尔可夫链模型是马尔可夫链的一种,其隐藏状态不能被直接观察到,但能通过观测向量序列推断出来,每个观测向量都是通过状态成员的概率密度分布表现,每一个观测向量是由一个具有相应概率密度分布的状态序列产生。
本文将隐马尔科夫链和混合高斯融合在一起,形成一个连续的隐马尔科夫链模型(CHMM),并应用该模型来识别公共自行车出行链借还车活动目的。
连续隐马尔科夫链模型采用无监督的机器学习技术,用于训练的数据无需是标记的数据,该模型既不需要标记训练数据,也没有后续的样本测试,如提示-回忆调查。
相反,该模型仅利用智能卡和总的土地利用数据。
后者为隐藏活动提供额外的解释变量。
出行链内各活动的时间和空间信息是从IC卡数据获得,相关土地利用数据是根据南京土地利用规划图和百度地图POI数据获得。
在本文的研究中,一个马尔可夫链可以解释为出行者在两个连续活动状态之间的状态转换,确定一个状态只取决于它之前的状态,一个状态对应一个出行者未知的借还车活动[48-50]。
本研究坚持传统的马尔可夫过程的假设,将它包含进无监督的机器学习模型。
“隐藏马尔可夫”源于一个事实,即一系列出行链的活动是不可观察的。
对于CHMM,高斯混合模型负责的是马尔可夫链的输入端,每一个活动模式下的隐藏状态都有属于一个特征空间的集群输出概率,每个集群是观察不到的,隐藏状态集群的数量必须事先给出。
一些研究者称这些集群为二级隐状态[51]。
有两种选择可以用来处理隐藏的集群:第一种,每个状态可以被假定为有一组独立的集群,尽管这个假定有利于找到每种状态独自的概率,但是有计算时间的负担;另一种模型规定允许所有隐状态共享一组集群。
本研究采用后者的理论,既节省计算时间又简化了模型的假设条件。
基于CHMM的公共自行车出行链出行目的识别过程如下。
首先,从IC卡数据中提取公共自行车出行链。
第二,确定潜在借还车活动的数量。
在这个阶段,没有关于隐藏目的与实际活动的映射信息。
第三,确定可能的集群数。
第四,为样本链的活动链中所有隐藏活动收集特征数据。
第五步是对CHMM参数估计算法的实现。
第六步是通过模型估计参数来描述集群的特征和映射的每个状态概率分布。
最后,应用训练好的CHMM模型,推算出公共自行车出行链最有可能的借还车活动目的序列。
4.1.2连续隐马尔科夫链模型构建本文设计的CHMM是由状态和观测变量构造的,假设每条观测序列,都是由其隐藏状态按照一定规则顺序而产生的,形成如图4- 1所示的三层层级结构:图4- 1 CHMM的结构示意图在公共自行车出行链出行目的识别的研究中,先从数据中提取出行链得到观测序列,观测序列包含时间地点出行者属性等变量。
为了整合这些变量,从这些变量中提取公共自行车骑行模式,将观测样本序列转化为出行模型集群序列,然后再识别产生出行模式序列背后隐藏的出行目的序列。
在本研究中,一个特征向量是由7个特征变量组成的:公共自行车使用者的年龄、用车出行时段、借/还车类型以及4种公共自行车站点的土地利用特征。
首先根据每个集群的特征向量提取出公共自行车出行模式,然后应用CHMM来确定隐藏状态间的转移概率,以及每个状态连接到每个出行模式群集的成员概率。
在建立模型之前应预先确定一个状态变量可能存在的值的数量。
式(4-1)表示一个初始状态属于一种出行活动的概率集合。
π={πi }={P(x 1=i)},i =1,...,N (4-1)其中x 1表示出行链的活动序列的初始状态变量,N 是可以由一个状态变量得到的可能的活动数量,i 代表第i 个活动,来自于可能的活动集合,πi 是第一个状态为第i 个活动的概率,π是一个初始概率向量。
式(4-2)表示两个连续状态之间的转移概率矩阵。
在本模型中,出行链被转换为一个状态序列,遵循马尔可夫过程。
也就是说,出行链内的活动状态被假定为仅依赖先前活动的状态。
A ={a ij }={P(x t =j|x t−1=i)},i =1,...,N,j =1,...,N (4-2)其中x t 代表活动链出行序列的第t 个状态,a ij 是当先前的第(t-1)个状态给出为活动i 时,第t 个状态选择活动j 的概率。
A 是包含转移概率的N*N 矩阵。
式(4-3)代表输出概率b i (o t ),o t 将在状态i 中被观察到,它采取高斯混合模型的形式。
b i (o t )=∑g ik K k=1 f (o t |μik ,∑ik ),i =1,...,N (4-3)其中o t 是序列的第t 个状态的一个观测特征变量,K 是在一个特征空间里的隐藏集群数目,g ik 是一个观察来自第k 个集群时的当前状态是活动i 的成员概率(活动i 属于集群k 的概率),μik 是活动i 第k 个集群的特征向量的平均值。
∑ik 是第i 个活动的第k 个集群的方差-协方差矩阵,f (o t |μik ,∑ik )是高斯概率密度公式。
为了简洁起见,式(4-4)表示每个状态都被假定为共享一组公共集群。
高斯混合模型的N ×K 权重矩阵(G )可以解释为式(4-5),被称为成员概率矩阵。
μik =μk ∑ik =∑k ,i =1,...,N.k =1,...,K (4-4)G ={g ik } = {P(m t = k|x t = i)},i =1,...,N,k =1,...,K (4-5) 其中m t 代表序列第t 个隐藏状态的特征空间里的隐藏集群。
如前所述,训练CHMM 的样本是从多元高斯分布生成的特征向量。
根据观测值估计的参数由一个矢量集合表示。
必须建立出行链观测序列的似然函数来估计参数。
然而,活动的隐藏状态妨碍了似然函数以一个简单的方式建立。
存在隐变量的似然函数应集成所有可能的变量值。
对于存在离散隐变量的模型,数学积分简化为对隐变量所有可能的值一个简单的求和(或平均)。
式(4-6)表示最大化的似然函数。
该方程的第一行显示了一个边际概率基于贝叶斯定理被分解。
第二行是来自观测值的独立性假设和马尔可夫过程的记忆性假设。
L(λ)=P (o 1,,,o T |λ)=∑P(o 1,,,o T |x 1,,,x T ,λ)所有可能的 x 1,,,x T p(x 1,,,x T | λ) =∑(∏p(o t |x t ,G,{μk }T t=1,{Σk })(∏p(x t |x t−1,A Tt=1)所有可能的 x 1,,,x T=∑(∏(∑g xt k f(o t |μk ,Σk K k=1T t=1)))(∏a xt−1 xt T t=1)所有可能的 x 1,,,x T (4-6)其中T 是出行链活动序列的长度。
似然函数可以被扩展以适应多个出行链,其中每一个出行链能具有不同长度的活动序列。
在观测值独立的假设下,式(7)表示的式(6)的扩展版本,其中上标l 代表一个特定的出行链。
L ̂(λ)=∏{∑(∏(∑g xt k f(o t l |μk ,Σk K k=1T l t=1)))(∏a xt−1 xt T l t=1)所有可能的 x 1,,,x Tl }M l=1(4-7)其中L ̂(λ)代表扩展似然函数,M 是出行链的数目,T l 是第l 个出行链的活动序列的长度,o t l 代表第l 条出行链的活动序列的第t 个状态的观测特征向量。
扩展的似然函数更难处理,因为它包含了状态变量的所有可能的分配的个体似然值之和。
4.1.3连续隐马尔科夫链模型算法对于CHMM ,3个典型问题需要被解决。
第一个问题是隐藏的状态和模型的参数已知,如何计算一个特定的状态序列被观测到的概率。
这个问题可以用前向-后向的算法(Forward-backward algorithm )来解决。
第二个问题是已知一系列的观测或一组观测的多个序列(或多个出行链)如何估计最佳参数。
这个问题可以用鲍姆-韦尔奇算法(Baum-Welch algorithm )来解决。
在实现鲍姆-韦尔奇算法时,给定所有观测都可用,前向后向算法被用来计算某一状态或某一对连续状态的概率。
第三个问题是已知给定观测序列和模型参数,推导隐藏状态的最有可能的序列。
这个问题应用维特比算法(Viterbi algorithm)来实现。
本文采用了前两种算法来估计CHMM模型的参数,并应用维特比算法基于观测和估计的参数推测公共自行车出行链的借还车活动序列。
(1)前向-后向的算法的实现当活动序列的长度或可能的隐藏状态的数目变大时,就不可能对每个可能的活动序列的单个概率求和。
前向后向算法是解决这个问题的关键。
当给出了一个完整的观测序列时,该算法有利于计算隐藏状态或连续的一对隐藏状态的概率。
为了计算概率,必须创建前向和后向变量(αt(i)和βt(i))。
更具体地,这些变量提供了一个简单的方法来计算包含在鲍姆–韦尔奇算法中训练CHMM 的p(x t=i|o1,,,o T,λ)和P=(x t=i,x t+1=j,o1,,,o T|λ)。
前向变量αt(j)代表p(x t=j|o1,,,o T,λ),后向变量βt(i)代表P=(x t=i,x t+1=j,o1,,,o T|λ)。
两个变量都是根据式(4-8)的过程进行递归计算的。
结果显示p(x t|o1,,,o T,λ)和p(x t,x t+1,o1,,,o T|λ)通过前向和后向变量递归计算得到(见式(4-12)及式(4-13))[52-53]。
①前向递归过程:初始的α1(i)=πi b i(o1) i=1,…,N(4-8)对于t=2,3, … , Tαt (j)=b j(o t)∑αt−1(i)a ij, j=1,…,NNi=1(4-9)②后向递归过程:初始的βT(i)=1 i=1,…,N(4-10)对于T=T-1, T-2, …, 1βt (i)=∑αij b j(o t+1)βt+1(j), j=1,…,NNj=1(4-11)③前向-后向计算p(x t=i|o1,,,o T,λ)∝P=(x t=i,o1,,,o T|λ)=αt(i)βt(i),i= 1,…,N t=1,…,T−1(4-12)P(x t=i,x t+1=j|o1,,,o T,λ)∝P=(x t=i,x t+1=j,o1,,,o T|λ)=P(x t=i,x t+1=j|o1,,,o t+1,λ)P(o t+2,,,o T|x t=i,x t+1=j,λ)=αt(i)αij b j(o t+1)βt+1(j)i= 1,…,N,j=1,…,N,t=1,…,T−1(4-13)(2)鲍姆-韦尔奇算法的实现鲍姆–韦尔奇算法是一个用于训练CHMM的方法,是一种更普遍的期望-最大化(EM)算法的特例。