一种基于Markov的个人路径预测方法
技术领域
本发明涉及个人路径预测方法,尤其涉及的是一种基于Markov的个人路径预测方法。
背景技术
目前,随着手持设备与网络技术的发展,带有GPS的智能手机、平板电脑等,能实时采集用户的GPS位置,并经过用户允许上传到服务器端。分析个人的运动轨迹,挖掘轨迹下的动态信息并应用于位置感知系统已成为大数据领域研究的一个热点。
个人路径预测是基于具有异构性、不完整性、不严谨性等特点的个人运动的时空位置数据,采用数据挖掘算法分析个人运动规律,进而预测其未来的运动轨迹,推测其目的意图、生活习惯等潜在的动态信息。由于个人运动位置信息复杂,与传统的车辆运动轨迹相比,其数据的可靠性更差,以往的路径预测算法无法适应这一特点,急需一种是适用人的路径预测方法。
发明内容
为实现个人路径预测,本发明提供了一种采用历史数据二次划分建模与存储的基于Markov的个人路径预测方法,该方法包含对个人GPS路径历史数据的建模与存储、有关联历史数据的个人路径的预测2个部分。
本发明解决其技术问题所采用的技术方案是:
一种基于Markov的个人路径预测方法,包括个人GPS路径历史数据的建模与存储、有关联历史数据的个人路径的预测。
个人GPS路径历史数据的建模与存储包括以下步骤:
1.1)历史数据的准备工作。通过已有的个人GPS路径采集平台获取个人位置移动的数据,数据包含用户编号、时刻与经纬度,并以时间先后的顺序存储在数据库中,其中时刻精确到秒;
1.2)每次数据处理都从数据库中提取某一用户编号一定数量的数据集,并将该数据集内同一时刻的经纬度合并,合并为它们的几何中心;
1.3)根据经纬度信息删除异常的数据。计算每一个经纬度位置下的速度,当它大于阈值IsoV时,认定该数据异常并删除,然后寻找每一个时刻下前后IsoK时间内与该时刻对应的经纬度位置相距最远的位置,并计算两者的距离,如该距离大于阈值IsoD,则认定该数据异常并删除;
1.4)对相邻的数据做数据插值处理。计算该数据集内相邻数据的时刻差,并统计时刻差大于阈值λ的数量,计算该数量占数据集总量的百分比,如该百分比小于阈值Percentage,则执行步骤1.5);否则,在时刻差大于等于0.75λ且小于10λ的两个经纬度位置间以线性插值的方式顺序生成nc个经纬度与时刻,并添加到数据集中;
1.5)根据时间差与相邻两个经纬度位置的距离将数据集划分为多段。寻找相邻时间差大于阈值Ts或者相邻距离大于D的数据集对应的编号,并以该编号为分界点,将数据分为多段子序列;计算各段子序列数据数量与子序列时长,并删除数据数量小于等于L或者序列时长小于等于TD的子序列;计算各个子序列间首尾时间间隔与首尾间距,如存在两条子序列,它们的首尾时间间隔小于等于Ts且首尾间距小于等于D,则以时间先后顺序将两条序列合并为一条序列,反复搜索与合并,直至不再存在这样的两条子序列;
1.6)根据各个子序列的时长,对子序列做第二次划分。计算各个子序列的时长,如果某一条子序列的时长大于1.3T,则将该序列以每段时长为T划分为多个子序列,其中不足T的部分各为一段;反之,不做子序列划分处理;
1.7)根据序列的经纬度信息存储数据。计算每一段路径序列的最大最小经纬度信息与最大最小当天时刻信息,将每段序列以“最小经度,最大经度;最小纬度,最大纬度;最小时刻,最大时刻”的格式作为文件名保存,则个人GPS路径历史数据的建模与存储完成。
进一步,在所述步骤1.2)中,从数据集提取的一定数量的量大小应合理,且最后一条数据满足它在总的数据库中与它的下一条数据的时刻之差大于等于10λ。
进一步,在所述步骤1.2)中,几何中心的计算方式为
(式1)
式1中,xi为同一时刻数据集中第i条数据中的经度,yi为同一时刻数据集中第i条数据的纬度,为几何中心的经度,为几何中心的纬度,n为同一时刻数据集的数据量。
进一步,在所述步骤1.4)中,nc的计算公式为
(式2)
式2中,ti+1,ti为第i条和第i+1条相邻数据的时刻。
进一步,在所述步骤1.3)中,两个经纬度位置间的距离计算公式为
Dis=||(αxi,βyi),(αxj,βyj)||(式3)
式3中,Dis为两个位置的距离,α为经度1度转化为米的近似值,β为纬度1度转化为米的近似值。
有关联历史数据的个人路径的预测包括以下步骤:
2.1)获取某一用户当前的GPS路径数据,并取距离当前时刻Tp内的GPS路径数据,分析该路径数据的范围,即路径经纬度位置的最大最小经纬度,并根据路径关联度的匹配方法,获取与当前路径相关度高的历史路径数据;
2.2)计算当前GPS路径数据及相关的历史GPS路径数据的最大最小经纬度,并将由最大最小经纬度确定的矩形区域Area以边长GridSize的正方形网格单元划分为Nrow行Ncol列,采用自适应调整GridSize的方法使得GridSize尽可能小且满足Nrow×Ncol≤MaxGrid,其中MaxGrid为最大的网格数量,然后统计每一块网格单元下数据的数量;
2.3)以当前GPS路径数据的第一个点所在的网格单元为网格路径的起点,第一个点的时间为起点的进入时间与出去时间,并计算当前GPS路径序列上下一时刻的经纬度位置所对应的网格位置,如果与前一时刻同处一个网格位置,则更新起点的出去时刻为该时刻,并继续以同样的方法处理下一时刻的数据;如果与前一时刻所处网格位置不同,则另该网格位置为网格路径的下一个点,并设定该网格点的进入时间与出去时间为当前时刻,然后以同样的方法处理下一时刻的数据,直至处理完所有的数据,构建出一条当前GPS路径数据对应的网格路径;
2.4)对获取的历史数据采用步骤2.3)的方法,将每条历史路径转化为相对应的网格路径;
2.5)采用1阶Markov模型预测个人路径。假设网格路径上的每一点i的状态为Si,根据每一条网格路径,采用频数挖掘的方法统计状态Si向状态Sj转移的概率为si,j,并采用Markov模型计算当前状态为Si时,k阶段后,最大概率的状态Si+k,其计算公式为
maxP{Si+k|Sk}(式4)
式4中,P{Si+k|Sk}为Si经过k次转换后为Si+k的概率值。
2.6)根据公式(4)计算Sj,其中j=i+1,i+2,L,i+k,获得状态转移序列
Si→Si+1→L→Si+k-1→Si+k
计算它们对应的网格几何中心的经纬度,作为预测的经纬度路径序列。结束。
进一步,所述步骤2.1)中依据关联度的匹配方法,通过计算当前GPS路径数据所在的最大最小经纬度范围与各历史路径数据所在的最大最小经纬度范围的重合面积,要求重合面积占当前GPS路径数据范围的Mp以上,其中Mp∈[0.5,1],重合面积的计算方法为
(式5)
式5中,Acommon为重合面积,Ap为当前GPS路径数据的矩形区域,为第i块历史路径数据的矩形区域,nl为历史路径数据数量。
进一步,所述步骤2.2)中自适应调整GridSize的方法,其计算公式为
(式6)
式6中,AreaWid为Area的宽
进一步,所述步骤2.5)频数挖掘的方法,根据网格路径计算状态Si向状态Sj转移的次数并得出总次数,进而求出转移的概率值si,j,其计算公式为,
(式7)
式7中,S为该网格路径的状态集合。
本发明的技术构思为:该方法针对个人路径预测提出历史数据建模和路径预测的整体解决方案,包含历史路径数据的建模、存储和个人路径的预测。历史路径数据处理上,对获取的数据进行同一时刻合并以减少局部的定位误差,根据当前位置的速度和周围位置的距离关系,去除速度异常和位置异常的噪声数据,然后进行数据插值,以增加有效数据的数量,接着以划分、合并、再划分的方法过滤短路径和孤立点,最后以路径序列的经纬度、时间信息保存数据。在个人路径预测上,通过关联度匹配的方式提取与当前路径相关的历史数据,并建立网格路径,再根据网格路径构建Markov模型的状态转移矩阵,进而求出网格路径的未来走向,最终获取预测的路径。
本发明有益效果主要表现在:基于个人GPS运动数据的异构性、复杂性、不可靠性,采用二次去噪,划分、合并、再划分的方法确保构建的路径数据顺序、完整和严谨;采用关联度匹配的方式挖掘相关历史数据,确保预测路径具有较高的可靠度,采用网格序列模型建立Markov的状态转移矩阵,保留了路径的有序性,同时又改善状态转移的概率与真实路径的相似度,进而增加路径预测的可信度。
附图说明
图1是个人GPS路径历史数据的建模与存储的流程图;
图2是有关联历史数据的个人路径的预测的流程图。
具体实施方式
下面结合附图对本发明作进一步描述。
一种基于Markov的个人路径预测方法,包括个人GPS路径历史数据的建模与存储、有关联历史数据的个人路径的预测。
参考图1,个人GPS路径历史数据的建模与存储,包括如下步骤:
1.1)数据准备
通过已有的个人GPS路径采集平台获取个人位置移动的数据,数据包含用户编号、时刻与经纬度,并以时间先后的顺序存储在数据库中,其中时刻精确到秒;
1.2)数据去噪
每次数据处理都从数据库中提取某一用户编号一定数量的数据集,其中,从数据集提取的数据量大小应合理,且最后一条数据满足它在总的数据库中与它的下一条数据的时刻之差大于等于10λ。将该数据集内同一时刻的经纬度合并,合并为它们的几何中心,几何中心的计算公式为
(式1)
式1中,xi为同一时刻数据集中第i条数据中的经度,yi为同一时刻数据集中第i条数据的纬度,为几何中心的经度,为几何中心的纬度,n为同一时刻数据集的数据量。
计算每一个经纬度位置下的速度,当它大于阈值IsoV时,认定该数据异常并删除,然后寻找每一个时刻下前后IsoK时间内与该时刻对应的经纬度位置相距最远的位置,并计算两者的距离,如该距离大于阈值IsoD,则认定该数据异常并删除;
其中两个经纬度位置间的距离计算公式为
Dis=||(αxi,βyi),(αxj,βyj)||(式3)
式3中,Dis为两个位置的距离,α为经度1度转化为米的近似值,β为纬度1度转化为米的近似值。
1.3)数据插值
计算该数据集内相邻数据的时刻差,并统计时刻差大于阈值λ的数量,计算该数量占数据集总量的百分比,如该百分比小于阈值Percentage,则执行步骤1.5);否则,在时刻差大于等于0.75λ且小于10λ的两个经纬度位置间以线性插值的方式顺序生成nc个经纬度与时刻,并添加到数据集中,nc的计算公式为
(式2)
式2中,ti+1,ti为第i条和第i+1条相邻数据的时刻。
1.4)数据划分与存储
根据时间差与相邻两个经纬度位置的距离将数据集划分为多段。寻找相邻时间差大于阈值Ts或者相邻距离大于D的数据集对应的编号,并以该编号为分界点,将数据分为多段子序列;计算各段子序列数据数量与子序列时长,并删除数据数量小于等于L或者序列时长小于等于TD的子序列;计算各个子序列间首尾时间间隔与首尾间距,如存在两条子序列,它们的首尾时间间隔小于等于Ts且首尾间距小于等于D,则以时间先后顺序将两条序列合并为一条序列,反复搜索与合并,直至不再存在这样的两条子序列;
根据各个子序列的时长,对子序列做第二次划分。计算各个子序列的时长,如果某一条子序列的时长大于1.3T,则将该序列以每段时长为T划分为多个子序列,其中不足T的部分各为一段;反之,不做子序列划分处理;
根据序列的经纬度信息存储数据。计算每一段路径序列的最大最小经纬度信息与最大最小当天时刻信息,将每段序列以“最小经度,最大经度;最小纬度,最大纬度;最小时刻,最大时刻”的格式作为文件名保存,则个人GPS路径历史数据的建模与存储完成。
参考图2,有关联历史数据的个人路径的预测,包含如下步骤:
2.1)历史关联数据匹配
获取某一用户当前的GPS路径数据,并取距离当前时刻Tp内的GPS路径数据,分析该路径数据的范围,即路径经纬度位置的最大最小经纬度,并根据路径关联度的匹配方法,获取与当前路径相关度高的历史路径数据;
其中依据关联度的匹配方法,通过计算当前GPS路径数据所在的最大最小经纬度范围与各历史路径数据所在的最大最小经纬度范围的重合面积,要求重合面积占当前GPS路径数据范围的Mp以上,其中Mp∈[0.5,1],重合面积的计算方法为
(式5)
式5中,Acommon为重合面积,Ap为当前GPS路径数据的矩形区域,为第i块历史路径数据的矩形区域,nl为历史路径数据数量。
2.2)网格序列构建
计算当前GPS路径数据及相关的历史GPS路径数据的最大最小经纬度,并将由最大最小经纬度确定的矩形区域Area以边长GridSize的正方形网格单元划分为Nrow行Ncol列,采用自适应调整GridSize的方法使得GridSize尽可能小且满足Nrow×Ncol≤MaxGrid,其中MaxGrid为最大的网格数量,然后统计每一块网格单元下数据的数量;
其中自适应调整GridSize的方法,其计算公式为
(式6)
式6中,AreaWid为Area的宽。
以当前GPS路径数据的第一个点所在的网格单元为网格路径的起点,第一个点的时间为起点的进入时间与出去时间,并计算当前GPS路径序列上下一时刻的经纬度位置所对应的网格位置,如果与前一时刻同处一个网格位置,则更新起点的出去时刻为该时刻,并继续以同样的方法处理下一时刻的数据;如果与前一时刻所处网格位置不同,则另该网格位置为网格路径的下一个点,并设定该网格点的进入时间与出去时间为当前时刻,然后以同样的方法处理下一时刻的数据,直至处理完所有的数据,构建出一条当前GPS路径数据对应的网格路径;
采取同上的方法,将每条历史路径转化为相对应的网格路径;
2.3)Markov模型求解
采用1阶Markov模型预测个人路径。假设网格路径上的每一点i的状态为Si,根据每一条网格路径,采用频数挖掘的方法统计状态Si向状态Sj转移的概率为si,j,并采用Markov模型计算当前状态为Si时,k阶段后,最大概率的状态Si+k,其计算公式为
maxP{Si+k|Sk}(式4)
式4中,P{Si+k|Sk}为Si经过k次转换后为Si+k的概率值。
其中频数挖掘的方法,根据网格路径计算状态Si向状态Sj转移的次数并得出总次数,进而求出转移的概率值si,j,其计算公式为
(式7)
式7中,S为该网格路径的状态集合。
根据公式(4)计算Sj,其中j=i+1,i+2,L,i+k,获得状态转移序列,
Si→Si+1→L→Si+k-1→Si+k
计算它们对应的网格几何中心的经纬度,作为预测的经纬度路径序列。结束。
本实施案例是基于个人路径预测提出的,考虑了历史数据的建模与存储的可靠性和个人路径预测时效性。采用多次多种方法去除数据噪声的方法提高历史数据有效性,利用序列划分与合并的方法,提取更接近真实的路径,有利于提高路径预测的准确性。基于数据的Markov预测方法,网格化的序列,增加与历史数据的关联性,进一步增加预测结果的可置信度。同时预测模型计算复杂度低,确保预测结果的实时性。综上所述,基于Markov的个人路径预测方法为个人路径预测提供了有效的解决方法,在不偏离本发明基本精神及不超出本发明实质内容所涉及范围的前提下对其可作种种变形加以实施。