CN113127591B - 一种基于Transformer和LSTM的位置预测方法 - Google Patents

一种基于Transformer和LSTM的位置预测方法 Download PDF

Info

Publication number
CN113127591B
CN113127591B CN202110392535.8A CN202110392535A CN113127591B CN 113127591 B CN113127591 B CN 113127591B CN 202110392535 A CN202110392535 A CN 202110392535A CN 113127591 B CN113127591 B CN 113127591B
Authority
CN
China
Prior art keywords
track
data
transformer
longitude
lstm
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.)
Active
Application number
CN202110392535.8A
Other languages
English (en)
Other versions
CN113127591A (zh
Inventor
王继民
李永超
李嘉玮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hohai University HHU
Original Assignee
Hohai University HHU
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hohai University HHU filed Critical Hohai University HHU
Priority to CN202110392535.8A priority Critical patent/CN113127591B/zh
Publication of CN113127591A publication Critical patent/CN113127591A/zh
Application granted granted Critical
Publication of CN113127591B publication Critical patent/CN113127591B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2415Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Business, Economics & Management (AREA)
  • Economics (AREA)
  • Databases & Information Systems (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Development Economics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Game Theory and Decision Science (AREA)
  • Remote Sensing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于Transformer和LSTM的位置预测方法,包括轨迹数据预处理、构建Transformer‑LSTM模型以及使用多个评价指标对实验结果进行评判。步骤为:先描述本发明所使用的输入数据的特征值,接着通过预处理操作构建所需要的轨迹数据集;然后,构建Transformer‑LSTM模型,对预处理后的数据进行训练;最后,使用多个评价指标对实验结果进行分析。本发明使用LSTM模型来解决Transformer模型没有在时间维度进行建模,导致对时间序列的学习效果并不理想的问题,提高了模型的预测准确率。

Description

一种基于Transformer和LSTM的位置预测方法
技术领域
本发明属于位置预测技术领域,特别涉及一种基于Transformer和LSTM的位置预测方法。
背景技术
目前在车辆轨迹预测领域中多使用基于频于概率模型和基繁模式匹配的方法,但是这两种方法存在一些缺点,比如无法预测问题,原因是历史轨迹数据没有包含测试轨迹数据导致的。而基于神经网络的位置预测模型能够有效避免以上问题,由于轨迹数据是时空数据的一种,所以目前最常使用长短时记忆网络模型(LSTM)对轨迹数据进行建模。LSTM模型根据当前轨迹点和历史轨迹点对下一位置点进行预测,没有考虑轨迹点之间的相关性。Transformer模型是根据注意力机制,获取每个轨迹点和其他轨迹点之间的相关性,并通过多头自注意力机制提高模型的计算效率。
在Transformer模型中,并没有对输入数据进行时间维度的建模,而是使用位置编码的形式间接表示时间,但是位置编码中存在的问题使得Transformer模型并不适用时间序列预测。在Transformer模型中,使用Positional Encoding生成固定的位置表示,在模型进行训练时,如果模型训练得到的权值矩阵为单位矩阵则模型能够得到相对位置;如果模型训练得到的权值矩阵不是单位矩阵则模型不能够得到相对位置。因此,传统的Transformer模型对轨迹数据进行建模的效果并不理想,需要对传统Transformer模型进行时间维度进行建模,提高位置预测精度。
发明内容
发明目的:为了克服现有技术中存在的问题,本发明提供一种基于Transformer和LSTM的位置预测方法,能够提高预测准确率和精度。
技术方案:为实现上述目的,本发明提供一种基于Transformer和LSTM的位置预测方法,包括如下步骤:
(1)对轨迹数据集进行预处理;
(2)构建Transformer-LSTM模型;
(3)使用多个评价指标对实验结果进行评判。
进一步的,所述步骤(1)中对轨迹数据集进行预处理的具体步骤如下:
(1.1)描述本发明所使用的数据集的特征值;
(1.2)判断原始轨迹数据集是否出现缺失数据,遍历轨迹数据集,确定两个轨迹点之间的时间差是否大于阈值,如果大于阈值则代表数据缺失进入步骤(1.3),如果小于阈值则代表数据未出现缺失进入步骤(1.4);
(1.3)使用拉格朗日插值法对缺失数据进行补全;
(1.4)计算两个轨迹点之间的Haversine距离除以时间差,判断原始轨迹数据集是否出现异常轨迹,出现异常轨迹则删除;
(1.5)区域网格划分将地图划分为n*n的网格,将轨迹数据转化为网格的索引;
(1.6)时间离散化,将时间转化为一个星期中的星期几以及一天中的某个时间段;
(1.7)提取天气数据集中的温度和天气情况特征加入到轨迹数据集中;
(1.8)构建完整的轨迹输入数据。
进一步的,所述步骤(1.1)中描述本发明所使用的数据集的特征值的具体步骤如下:
采集的轨迹数据集包括每个车辆的ID、订单号、时间戳、经度、维度和天气信息;数据集的特征值包括当前时刻属于一个星期中的星期几day、一天中的哪个时间段time、当前轨迹点所在的网格index、当前时刻温度temp和当前时刻天气情况weather。
进一步的,所述天气信息包括温度和天气情况。
进一步的,所述步骤(1.3)中使用拉格朗日插值法对缺失数据进行补全的具体步骤如下:
(1.3.1)根据需要补全的轨迹找到缺失轨迹数据的前n个轨迹点和后n个轨迹点;
(1.3.2)根据拉格朗日插值公式计算2n个轨迹点形成的表达式;
(1.3.3)计算缺失轨迹处前后两个轨迹点之间的时间差,得到需要补全数据的个数;
(1.3.4)计算缺失轨迹处前后两个轨迹点之间的经度差,根据步骤(1.3.3)得到需要补全数据的个数,计算出每个补全数据的经度;
(1.3.5)利用步骤(1.3.2)得到的表达式和(1.3.4)得到的经度,计算每个补全数据的维度;
(1.3.6)将得到的经纬度和采样时间插入到轨迹中。
进一步的,所述步骤(2)中构建Transformer-LSTM模型的具体步骤如下:
(2.1)对预处理后的数据进行Embedding层操作;
(2.2)将每个轨迹点的特征值转化为n个维度,再通过concatenate操作把每个维度拼接为一个5*n的向量;
(2.3)构建Transformer-LSTM模型;使用LSTM模型来弥补Transformer模型不能够有效获得轨迹数据点之间的位置关系,提高了模型的预测准确率;
(2.4)预测位置在每个网格的概率;通过使用全连接层和Softmax函数得到每个网格的概率;
(2.5)预测经纬度;利用步骤(2.4)得到的每个网格概率和每个网格区域的中心点相乘并求和得到最后的预测经纬度位置点;
(2.6)自定义模型损失函数;损失函数用来评价预测值和真实值不一样的程度。
进一步的,所述步骤(2.4)中预测位置在每个网格的概率的具体步骤如下:使用全连接层将提取到的特征通过特征加权求和的方式得到每个类别即网格区域n的分数,也就是经过神经网络学习后判断是哪个类别的值,再经过Softmax函数映射为每个类别即网格区域n的概率,Softmax函数是将K个负无穷到正无穷之间的实数映射为K个0到 1之间的实数,同时保证映射后的K个实数之和为1;预测结果的格式如下所示:
C=[d1,d2,d3,…,dn]
其中,C表示预测结果在每个网格区域的概率;di表示在第i个网格区域的概率;n表示经过网格划分后的网格个数。
进一步的,所述步骤(2.5)中预测经纬度的具体步骤如下:将每个网格区域的中心点输入到模型中,让每个网格区域的中心点和网格区域的概率相乘并求和得到最后的预测经纬度位置点,最终输出为预测位置所在网格区域的概率和经纬度点;求和公式如下所示:
Figure BDA0003017303060000031
式中,λ代表预测的经度,φ代表预测的纬度;
Figure BDA0003017303060000032
为经过模型后输出得到的区域概率,其中i为每个区域的编号,其中1≤i≤c.length;
Figure BDA0003017303060000033
Figure BDA0003017303060000034
为区域中心所代表的经度和维度,其中i为区域的编号,c为区域的划分结果,表示经过区域划分后得到区域集合。
进一步的,所述步骤(2.6)中自定义模型损失函数的具体步骤如下:损失函数用来评价预测值和真实值不一样的程度,自定义损失函数如下:
Figure BDA0003017303060000041
式中,R代表地球的半径;φA和λA表示其中一个位置点的维度和经度,φB和λB表示另一个位置点的维度和经度。
进一步的,所述步骤(3)中使用多个评价指标对实验结果进行评判的具体步骤如下:
其中评价指标包括平均Haversine距离、Top-k准确率、精度、召回率以及F1-Score值;
平均Haversine距离公式如下:
Figure BDA0003017303060000042
Figure BDA0003017303060000043
Figure BDA0003017303060000044
式中,R代表地球的半径;φA和λA表示其中一个位置点的维度和经度,φB和λB表示另一个位置点的维度和经度;
Top-k准确率公式如下:
Figure BDA0003017303060000045
当k=1时,得到上述表达式;
精度公式如下:
Figure BDA0003017303060000046
召回率公式如下:
Figure BDA0003017303060000047
F1-Score公式如下:
Figure BDA0003017303060000051
当Score为1时,称为F1-Score。
针对Transformer模型存在的问题,本发明使用LSTM模型对传统Transformer模型进行改进。先是使用传统Transformer模型对轨迹数据进行全局信息学习,获得其他轨迹点对当前轨迹点的重要程度,再使用LSTM模型在时间维度上进行建模,对获得的全局信息在时间维度上进行学习,提高位置预测精度。
有益效果:本发明与现有技术相比具有以下优点:
目前,使用较多的位置预测方法是基于神经网络的预测方法,由于轨迹数据属于时间序列,所以一般使用RNN模型和LSTM模型来进行轨迹数据学习。但是这两种模型都存在长期依赖问题,虽然LSTM模型使用门控机制来缓解长期依赖问题,但是并不能够完全解决。传统Transformer模型并没有针对时间维度进行建模,而是使用位置编码的形式间接表示时间,这导致Transformer模型在时间序列预测中效果不理想。本发明提出结合使用Transformer模型和LSTM模型来进行位置预测,Transformer模型完全使用自注意力机制来获取轨迹数据的全局信息,在特征提取的能力上优于LSTM模型,接着使用LSTM模型在时间维度进行建模,获取轨迹数据之间的相对位置信息,学习轨迹数据的顺序结构,最终提高模型的预测准确率。
附图说明
图1为本发明的流程图;
图2为具体实施例中网格区域划分图;
图3为具体实施例中构建Transformer-LSTM模型的流程图;
图4为具体实施例中成都部分轨迹数据热力图;
图5为具体实施例中成都数据集不同时间预测相同位置各种模型Top-10的折线图;
图6为具体实施例中成都数据集不同时间预测相同位置各种模型精度的折线图;
图7为具体实施例中成都数据集不同时间预测相同位置各种模型召回率的折线图;
图8为具体实施例中成都数据集不同时间预测相同位置各种模型F1-Score的折线图。
具体实施方式
下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
本发明提供一种基于Transformer和LSTM的位置预测方法,包括如下步骤:
1.分布式计算模式采用若干台独立计算机构成的集群作为计算资源,由任务分解服务构建模型的总体流程为:首先,对收集到的轨迹数据进行预处理,预处理过程包括异常点去除、区域网格划分和时间分段;在weather underground网站上获取天气数据集,将天气数据集添加到轨迹数据集中;根据实际应用需求,分析确定轨迹预测的预见期,构建模型训练样本;构建Transformer-LSTM模型。选择适当长度的预处理后的轨迹数据作为训练数据,再经过Embedding层,将离散数据转化为向量形式并随着神经网络模型一起训练,并将向量输入到模型中进行训练;最后,使用多个评价指标对预测结果进行评判,验证Transformer-LSTM模型的预测效果。
2.对轨迹数据进行预处理
2.1数据集及特征。通常采集的轨迹数据集所包含的信息至少包括每个车辆的ID、订单号、时间戳、经度和维度;本发明在此基础上增加了天气信息,包括温度、天气情况(如多云、晴天等)。本发明所使用数据集的特征值包括当前时刻属于一个星期中的星期几(day)、一天中的哪个时间段(time)、当前轨迹点所在的网格(index)、当前时刻温度(temp)和当前时刻天气情况(weather)。形成的轨迹数据集如下所示:
Figure BDA0003017303060000061
其中,T表示轨迹中的一条轨迹,轨迹长度为n。每一条轨迹都是由若干个轨迹点组成,每个轨迹点可以表示为I=[dayi timei indexi tempi weatheri],其中1≤i≤n。
2.2缺失数据处理:在原始轨迹数据中,由于设备出现断电等异常情况导致搜集到的轨迹数据出现缺失情况。为了解决数据缺失问题,先遍历整个数据集,当两个轨迹点之间的时间差大于阈值时,则判断为缺失数据。利用两个轨迹点之间的时间差除以数据采样间隔得到需要补全数据的个数。当需要补全数据的个数大于阈值时,删除这条轨迹;当需要补全数据的个数小于阈值时,使用拉格朗日插值法对数据进行补全。先提取出缺失数据的轨迹,根据轨迹中的所有轨迹点构建拉格朗日插值公式,再遍历整条轨迹,利用两个轨迹点之间的时间差除以数据采样间隔得到需要补全数据的个数,根据两个轨迹点的经度之差除以需要补全数据的个数,得到每个采样点的经度。最后,根据拉格朗日插值公式计算采样点维度。拉格朗日插值公式如下:
y=a0+a1x+a2x2+…+anxn
其中,x表示轨迹点的经度,y表示轨迹点的维度,n表示轨迹点的个数。
具体操作如下:首先需要遍历出缺失数据的轨迹 Tr={(x1,y1,t1),(x2,y2,t2),…,(xn,yn,tn)},其中xi和yi表示轨迹点的经度和纬度,ti表示采集轨迹点的时间。当两个轨迹点的时间大于采样间隔时,即表示轨迹缺失数据。取出缺失轨迹点的前n个轨迹数据点和后n个轨迹点数据点,根据拉格朗日插值公式计算得到 2n个轨迹点形成的公式,公式如下:
Figure BDA0003017303060000071
其中,x表示轨迹点的经度,y表示轨迹点的维度。根据以上公式可以得到形如 y=a0+a1x+a2x2+…+anxn的表达式。再根据两个轨迹点的时间差除以采样间隔得到需要补全轨迹点的个数。最后,根据两个轨迹点的经度差除以需要补全轨迹点的个数得到每个轨迹点的精度,根据上述得到的表达式y=a0+a1x+a2x2+…+anxn就可以得到对应的纬度。
2.3异常轨迹去除:在原始轨迹数据集中,由于设备传输问题等异常情况导致GPS定位出现错误,收集到错误的轨迹点。为了解决异常轨迹问题,先使用Haversine距离计算两个轨迹点之间的距离,再除以两个轨迹点之间的时间差,得出两个轨迹点之间的速度。当速度大于阈值时,判定当前轨迹点为异常点,并删除这条轨迹。
区域网格划分:网格划分的目的是为了解决轨迹数据稀疏性问题。轨迹数据稀疏性问题是指历史轨迹数据集并不能够完全覆盖整个地图,从而导致预测准确率降低。使用区域网格划分方法将整个地图划分为n*n的相同网格,目的是为了使多个轨迹点属于一个网格,缓解轨迹稀疏性问题。网格区域划分如图2所示,其中图2 中( a ) 表示原始轨迹数据在地图中的行驶轨迹,其中虚线表示查询轨迹,查询轨迹是指需要进行预测的轨迹,实线表示历史轨迹数据,o表示车辆轨迹的起始点。在图2 中( b ) 中使用网格划分方法将4条轨迹数据划分为在不同的网格中,增加轨迹的重叠率,缓解轨迹数据稀疏性问题。网格区域划分方法公式如下所示:
Figure BDA0003017303060000081
其中,lon和lat分别表示当前轨迹点的经度和纬度;LON和LAT分别表示地图中最小的经度和纬度;column表示将地图划分为n列,1列网格的长度;row表示地图划分为n行,1行网格的宽度;column_num表示将地图划分的列数。
2.4时间特征离散化。轨迹时间特征包括当前时间属于一个星期中的星期几以及一天中的某个时间段。将一天24个小时划分为7个时间段,分别为早高峰时间段(7点-9 点30分)、上午时间段(9点30分-11点)、中午时间段(11点-13点)、下午时间段 (13点-17点)、晚高峰时间段(17点-19点)、晚上时间段(19点-21点)和夜间时间段(21点-7点)。为了将时间戳转化为离散数据,故使用1-7表示每个时间段。使用 1-7表示一个星期中的星期几。时间特征离散化表如下所示:
Figure BDA0003017303060000082
Figure BDA0003017303060000083
2.5提取天气情况,在原始天气数据集中包括时间戳、温度、天气情况(如多云、晴天等)等信息。提取出温度和天气情况特征加入到轨迹数据集中,温度使用的是华氏度,最大温度为75华氏度;天气情况包括Fog、Partly Cloudy、Haze、Fair、Mostly Cloudy、 LightRain、Mist、Rain8种天气,为了将天气转化为离散数据,使用1-8表示每种天气。天气数据集每个一小时采集一次,在时间特征离散化前,将轨迹数据中的时间戳和天气数据集中的时间戳相对应,将温度和天气情况加入到轨迹数据集中。天气离散化表如下所示:
Figure BDA0003017303060000091
3.如图3所示,构建Transformer-LSTM模型:
3.1对预处理后的数据进行Embedding层操作。将轨迹数据集中的离散数据转化为向量形式,具体转化的维度大小如下表所示:
Figure BDA0003017303060000092
嵌入层大小表示将离散数据转化后的维度大小。例如,轨迹点的特征值为 I=[2,3,55,45,6],表示将今天为星期二,当时时刻属于中午时间段,车辆在第55个网格区域,温度为45华氏度,天气情况为Light Rain。将每个特征值转化为10个维度,转化后的格式表示如下:
Figure BDA0003017303060000101
3.2将每个轨迹点的特征值转化为n个维度,再通过concatenate操作把每个维度拼接为一个5*n的向量。输入的样本格式为:day=[d1,d2,…,dn],time=[t1,t2,…,tn],index=[i1,i2,…,in],temp=[e1,e2,…,en],weather=[w1,w2,…,wn],通过concatenate操作后输出的格式为Ei=[d1,…dn,t1…tn,i1…in,e1…en,w1…wn]。可以看出,每个轨迹点通过concatenate操作转化为5*n个维度。
3.3构建Transformer-LSTM模型。Transformer模型先使用Position Encoding操作,利用三角函数的性质来获得每个轨迹点在轨迹序列中所处的固定位置,当模型学习到的权值矩阵为单位矩阵时,模型能够获得轨迹点之间的相对位置;而当模型学习到的权值矩阵不是单位矩阵时,模型不能够获得轨迹点之间的相对位置。将得到的轨迹点的位置添加到经过Embedding操作后的向量中,使得每个轨迹点都包含位置信息。之后,通过多头自注意力机制获得当前轨迹点与当前作为输入序列的所有轨迹点之间的注意力权值,并进行加权求和得到当前输入序列的所有轨迹点与当前轨迹点之间的注意力关系。在多头自注意力机制之后使用残差连接和层标准化来缓解梯度消失问题,使得误差能够进行有效的反向传播。在轨迹预测中,预处理后的轨迹数据先通过Embedding操作将离散数据转化为5*n个维度,再利用PositionEncoding操作获得每个轨迹点的位置,将两个向量相加就可以包含位置信息和轨迹点信息。再使用多头自注意力机制获得当前轨迹点和输入序列的所有轨迹点之间的注意力关系。最后的输出表示在当前输入序列中,每个轨迹点和当前输入序列中的所有轨迹点之间的注意力关系。Transformer的输出格式如下所示:
Xt=[p1,p2,…,pi,…,plength]
其中,Xt表示t时刻轨迹点和其他轨迹点之间的相关程度;length表示每个轨迹点的维度大小,也就是5*n个维度;pi表示轨迹点数据离散化后,每个维度和其他维度之间的相关程度,将Transformer的输出信息作为LSTM模型的输入信息。
LSTM模型是在时间步上进行学习的,也就是只有在上一时刻训练完成之后才能进行下一时刻的训练,并且利用上一时刻的数据来训练下一时刻的数据,所以LSTM模型在时间维度进行建模挖掘数据中的时序信息。LSTM模型的核心思想是利用当前输入数据和上一时刻的输出数据来判断是否需要忘记部分信息和记忆新的信息,最后输出和当前输入数据相关的数据作为下一时刻的输入数据。
为了解决Transformer模型未在时间维度建模的问题,使用LSTM模型利用上下文信息在时间维度上进行建模。同时,由于Transformer模型获得了当前输入序列所有轨迹点之间的注意力信息,所以LSTM模型在进行训练时能够利用这些注意力信息,而不是像传统LSTM模型一样只利用当前输入数据和上一时刻的输出数据来预测,提高模型预测精度。
3.4预测位置在每个网格的概率。使用全连接层将提取到的特征通过特征加权求和的方式得到每个类别(网格区域n)的分数,也就是经过神经网络学习后判断是哪个类别的值,再经过Softmax函数映射为每个类别(网格区域n)的概率,Softmax函数是将 K个负无穷到正无穷之间的实数映射为K个0到1之间的实数,同时保证映射后的K 个实数之和为1。预测结果的格式如下所示:
C=[d1,d2,d3,…,dn]
其中,C表示预测结果在每个网格区域的概率;di表示在第i个网格区域的概率;n表示经过网格划分后的网格个数。
3.5预测经纬度。将每个网格区域的中心点输入到模型中,让每个网格区域的中心点和网格区域的概率相乘并求和得到最后的预测经纬度位置点,最终输出为预测位置所在网格区域的概率和经纬度点。求和公式如下所示:
Figure BDA0003017303060000111
式中,λ代表预测的经度,φ代表预测的纬度。
Figure BDA0003017303060000112
为经过模型后输出得到的区域概率,其中i为每个区域的编号,其中1≤i≤c.length。
Figure BDA0003017303060000113
Figure BDA0003017303060000114
为区域中心所代表的经度和维度,其中i为区域的编号,c为区域的划分结果,表示经过区域划分后得到区域集合。
3.6模型损失函数。损失函数是用来评价预测值和真实值不一样的程度。本发明使用的自定义损失函数如下。
Figure BDA0003017303060000121
式中,R代表地球的半径;φA和λA表示其中一个位置点的维度和经度,φB和λB表示另一个位置点的维度和经度。
4.评价Transformer-LSTM模型:
4.1使用的评价指标包括平均Haversine距离、Top-k准确率、精度、召回率以及F1-Score值。
(1)平均Haversine距离公式如下:
Figure BDA0003017303060000122
Figure BDA0003017303060000123
Figure BDA0003017303060000124
式中,R代表地球的半径;φA和λA表示其中一个位置点的维度和经度,φB和λB表示另一个位置点的维度和经度。
(2)Top-k准确率
Figure BDA0003017303060000125
当k=1时,得到上述表达式。
(3)精度
Figure BDA0003017303060000126
(4)召回率
Figure BDA0003017303060000131
(5)F1-Score
Figure BDA0003017303060000132
当Score为1时,称为F1-Score。
下面结合如图1所示的流程图,以成都市部分数据集为例,介绍基于Transformer和LSTM的位置预测方法,说明本方法的具体实施方法。
1.如图4所示为成都市部分出租车司机在2016年11月1日到2016年11月30日所形成的轨迹热力图。其中,轨迹点的采集间隔是2-4s。轨迹点经过了绑路的处理,保证了数据都能够对应到实际的道路信息。司机及订单信息进行了加密脱敏匿名化处理。
2.对历史轨迹数据进行预处理操作,首先使用Haversine公式计算两个轨迹点在地球上的距离,通过将距离除以两个轨迹点之间的时间差得到轨迹点的速度,当速度大于阈值100km/h时,删除这条轨迹;其次,通过网格划分方法,将包含历史轨迹数据的地图按照1km*1km的网格大小将地图划分成若干个区域,减少数据稀疏带来的问题;最后,将轨迹点包含的时间戳划分为一个星期中的星期几以及一天中的某个时间段,并将天气和气温信息添加到每个轨迹点上。
3.将预处理后的数据转化为模型的输入格式,具体格式如下:
Figure BDA0003017303060000133
其中,D为预处理后的整个轨迹数据集,Th表示轨迹数据集中的某一条轨迹,同时每条轨迹由许多轨迹点组成。每个轨迹点分别由每条轨迹点由星期几、当天所处的时间段、划分轨迹点后的区域、气温和温度组成。
4.根据公安出警时间规定,城市公安机关需要在5分钟内赶到市区(含县级市) 主要街道求助现场,所以选择大于7分钟的轨迹数据长度作为样本数据。将输入数据中的离散数据经过Embedding层,实现离散数据转化为向量的形式,使得模型在训练时可以一起训练数据。具体转化后的大小如下表所示:
Figure BDA0003017303060000134
Figure BDA0003017303060000141
MetaData表示每个轨迹点的元数据,Number表示每个元数据的取值范围最大值,Embedding size表示将离散数据转化后的维度大小为10,原因是在Transformer训练过程中使用多头注意力机制,为了能够将每个特征划分为1个头,所以选择10作为 Embeddingsize的大小。
5.构建Transformer-LSTM模型,其中Transformer模型负责对轨迹的全局信息进行学习,而LSTM模型负责在时间维度上学习轨迹数据。Transformer模型的输出数据作为LSTM模型的输入数据,使得LSTM模型在时间维度上进行学习时,不仅能够根据当前轨迹点数据和历史轨迹数据进行学习,同时也能够根据当前轨迹点之后的轨迹数据进行学习。
6.将Transformer-LSTM模型的输出经过softmax层,输出预测位置可能出现的每个网格区域的概率,通过输入的每个网格区域的中心点和每个网格区域的概率相乘并求和,得到最后的预测位置点。
7.构建自定义损失函数,扩大预测经纬度和真实经纬度之间的差值。自定义损失函数的公式如下所示:
Figure BDA0003017303060000142
式中,R代表地球的半径;φA和λA表示其中一个位置点的维度和经度,φB和λB表示另一个位置点的维度和经度。
实验验证
(1)实验思路
为验证本发明方法在实际应用中的性能,分别使用传统神经网络模型和本发明提出的神经网络模型进行对比实验,在成都数据集上进行验证本发明的效果优于传统神经网络模型。
(2)实验结果分析
观察表1,从整体上可以看出,当输入时间相同时,各个模型的平均Haversine距离误差相差很小。但是,最优模型一直是Transformer-LSTM模型,并且当输入时间为5 分钟时,Transformer-LSTM模型的预测效果最好,比其他模型分别提高31.7米、31米和40.5米。
观察图5,从整体上可以看出,当输入时间为1-6分钟时,Transformer-LSTM模型一直是最优模型,并且Top-10预测准确率远高于其他基准模型。随着预测时间的逐渐增大,Transformer-LSTM和LSTM模型的Top-10准确率在逐渐上升,而MLP和 Transformer模型的Top-10准确率整体变化趋势不大。
观察图6,在预测时间相同时,Transformer-LSTM模型的精度一直高于其他模型。在输入时间为1分钟时,4个模型的精度都在10%一下,但是随着预测时间的不断增加,Transformer-LSTM模型的精度呈现上升趋势,而其他模型精度远低于Transformer-LSTM模型。
观察图7,从整体上可以看出,随着输入时间的不断增加,各个模型的召回率处于上升状态,其中,Transformer-LSTM模型的上升趋势最明显,并且在输入时间为6分钟时,Transformer-LSTM模型的召回率远高于其他三个模型。
观察图8,当预测时间不断增加时,MLP和Transformer模型的F1-Score值的变化趋势不明显,Transformer-LSTM模型的F1-Score值呈现逐渐上升趋势,LSTM模型的 F1-Score值先是上升状态,当输入时间为5分钟时,F1-Score值明显下降。当预测时间为6分钟时,各个模型之间F1-Score值相差最大。
由此得出,Transformer-LSTM模型优于其他模型,提高了预测的准确率。
表1为成都数据集不同时间预测相同位置各种模型平均Haversine距离对比实验结果。
表1
Figure BDA0003017303060000151

Claims (9)

1.一种基于Transformer和LSTM的位置预测方法,其特征在于,包括如下步骤:
(1)对轨迹数据集进行预处理;
(2)构建Transformer-LSTM模型,具体步骤如下:
(2.1)对预处理后的数据进行Embedding层操作;
(2.2)将每个轨迹点的特征值转化为n个维度,再通过concatenate操作把每个维度拼接为一个5*n的向量;
(2.3)构建Transformer-LSTM模型;
(2.4)预测位置在每个网格的概率;通过使用全连接层和Softmax函数得到每个网格的概率;
(2.5)预测经纬度;利用步骤(2.4)得到的每个网格概率和每个网格区域的中心点相乘并求和得到最后的预测经纬度位置点;
(2.6)自定义模型损失函数;损失函数用来评价预测值和真实值不一样的程度;
(3)使用多个评价指标对实验结果进行评判。
2.根据权利要求1所述的一种基于Transformer和LSTM的位置预测方法,其特征在于,所述步骤(1)中对轨迹数据集进行预处理的具体步骤如下:
(1.1)描述数据集的特征值;
(1.2)判断原始轨迹数据集是否出现缺失数据,遍历轨迹数据集,确定两个轨迹点之间的时间差是否大于阈值,如果大于阈值则代表数据缺失进入步骤(1.3),如果小于阈值则代表数据未出现缺失进入步骤(1.4);
(1.3)使用拉格朗日插值法对缺失数据进行补全;
(1.4)计算两个轨迹点之间的Haversine距离除以时间差,判断原始轨迹数据集是否出现异常轨迹,出现异常轨迹则删除;
(1.5)区域网格划分将地图划分为n*n的网格,将轨迹数据转化为网格的索引;
(1.6)时间离散化,将时间转化为一个星期中的星期几以及一天中的某个时间段;
(1.7)提取天气数据集中的温度和天气情况特征加入到轨迹数据集中;
(1.8)构建完整的轨迹输入数据。
3.根据权利要求2所述的一种基于Transformer和LSTM的位置预测方法,其特征在于,所述步骤(1.1)中所使用的数据集的特征值的具体步骤如下:
采集的轨迹数据集包括每个车辆的ID、订单号、时间戳、经度、维度和天气信息;数据集的特征值包括当前时刻属于一个星期中的星期几day、一天中的哪个时间段time、当前轨迹点所在的网格index、当前时刻温度temp和当前时刻天气情况weather。
4.根据权利要求3所述的一种基于Transformer和LSTM的位置预测方法,其特征在于,所述步骤(1.1)中的天气信息包括温度和天气情况。
5.根据权利要求2所述的一种基于Transformer和LSTM的位置预测方法,其特征在于,所述步骤(1.3)中使用拉格朗日插值法对缺失数据进行补全的具体步骤如下:
(1.3.1)根据需要补全的轨迹找到缺失轨迹数据的前n个轨迹点和后n个轨迹点;
(1.3.2)根据拉格朗日插值公式计算2n个轨迹点形成的表达式;
(1.3.3)计算缺失轨迹处前后两个轨迹点之间的时间差,得到需要补全数据的个数;
(1.3.4)计算缺失轨迹处前后两个轨迹点之间的经度差,根据步骤(1.3.3)得到需要补全数据的个数,计算出每个补全数据的经度;
(1.3.5)利用步骤(1.3.2)得到的表达式和(1.3.4)得到的经度,计算每个补全数据的纬度;
(1.3.6)将得到的经纬度和采样时间插入到轨迹中。
6.根据权利要求1所述的一种基于Transformer和LSTM的位置预测方法,其特征在于,所述步骤(2.4)中预测位置在每个网格的概率的具体步骤如下:使用全连接层将提取到的特征通过特征加权求和的方式得到每个类别即网格区域n的分数,再经过Softmax函数映射为每个类别即网格区域n的概率,Softmax函数是将K个负无穷到正无穷之间的实数映射为K个0到1之间的实数,同时保证映射后的K个实数之和为1;预测结果的格式如下所示:
C=[d1,d2,d3,…,dn]
其中,C表示预测结果在每个网格区域的概率;di表示在第i个网格区域的概率;n表示经过网格划分后的网格个数。
7.根据权利要求1所述的一种基于Transformer和LSTM的位置预测方法,其特征在于,所述步骤(2.5)中预测经纬度的具体步骤如下:将每个网格区域的中心点输入到模型中,让每个网格区域的中心点和网格区域的概率相乘并求和得到最后的预测经纬度位置点,最终输出为预测位置所在网格区域的概率和经纬度点;求和公式如下所示:
Figure FDA0003750887510000031
式中,λ代表预测的经度,φ代表预测的纬度;
Figure FDA0003750887510000032
为经过模型后输出得到的区域概率,其中i为每个区域的编号,其中1≤i≤c.length;
Figure FDA0003750887510000033
Figure FDA0003750887510000034
为区域中心所代表的经度和纬度,其中i为区域的编号,c为区域的划分结果,表示经过区域划分后得到区域集合。
8.根据权利要求1所述的一种基于Transformer和LSTM的位置预测方法,其特征在于,所述步骤(2.6)中自定义模型损失函数的具体步骤如下:损失函数用来评价预测值和真实值不一样的程度,自定义损失函数如下:
Figure FDA0003750887510000035
式中,R代表地球的半径;λx和λy表示真实值和预测值的经度;φx和φy表示真实值和预测值的纬度。
9.根据权利要求1所述的一种基于Transformer和LSTM的位置预测方法,其特征在于,所述步骤(3)中使用多个评价指标对实验结果进行评判的具体步骤如下:
其中评价指标包括平均Haversine距离、Top-k准确率、精度、召回率以及F1-Score值;
平均Haversine距离公式如下:
Figure FDA0003750887510000036
Figure FDA0003750887510000037
Figure FDA0003750887510000038
式中,R代表地球的半径;φA和λA表示其中一个位置点的维度和经度,φB和λB表示另一个位置点的维度和经度;
Top-k准确率公式如下:
Figure FDA0003750887510000041
当k=1时,得到上述表达式;
精度公式如下:
Figure FDA0003750887510000042
召回率公式如下:
Figure FDA0003750887510000043
F1-Score公式如下:
Figure FDA0003750887510000044
当Score为1时,称为F1-Score。
CN202110392535.8A 2021-04-13 2021-04-13 一种基于Transformer和LSTM的位置预测方法 Active CN113127591B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110392535.8A CN113127591B (zh) 2021-04-13 2021-04-13 一种基于Transformer和LSTM的位置预测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110392535.8A CN113127591B (zh) 2021-04-13 2021-04-13 一种基于Transformer和LSTM的位置预测方法

Publications (2)

Publication Number Publication Date
CN113127591A CN113127591A (zh) 2021-07-16
CN113127591B true CN113127591B (zh) 2022-09-23

Family

ID=76775915

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110392535.8A Active CN113127591B (zh) 2021-04-13 2021-04-13 一种基于Transformer和LSTM的位置预测方法

Country Status (1)

Country Link
CN (1) CN113127591B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114841268B (zh) * 2022-05-06 2023-04-18 国网江苏省电力有限公司营销服务中心 基于Transformer和LSTM融合算法的异常电力客户识别方法
CN117291103A (zh) * 2023-10-09 2023-12-26 中远海运科技股份有限公司 一种基于插值和预测算法的车辆轨迹拟合仿真方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190251168A1 (en) * 2018-02-09 2019-08-15 Salesforce.Com, Inc. Multitask Learning As Question Answering
CN111488984A (zh) * 2020-04-03 2020-08-04 中国科学院计算技术研究所 一种用于训练轨迹预测模型的方法和轨迹预测方法
CN112000898A (zh) * 2020-07-14 2020-11-27 浙江大华技术股份有限公司 数据生成方法以及电子装置、存储介质
US20210089900A1 (en) * 2019-09-20 2021-03-25 Wuhan University Transformer dga data prediction method based on multi-dimensional time sequence frame convolution lstm

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190251168A1 (en) * 2018-02-09 2019-08-15 Salesforce.Com, Inc. Multitask Learning As Question Answering
US20210089900A1 (en) * 2019-09-20 2021-03-25 Wuhan University Transformer dga data prediction method based on multi-dimensional time sequence frame convolution lstm
CN111488984A (zh) * 2020-04-03 2020-08-04 中国科学院计算技术研究所 一种用于训练轨迹预测模型的方法和轨迹预测方法
CN112000898A (zh) * 2020-07-14 2020-11-27 浙江大华技术股份有限公司 数据生成方法以及电子装置、存储介质

Also Published As

Publication number Publication date
CN113127591A (zh) 2021-07-16

Similar Documents

Publication Publication Date Title
CN110264709B (zh) 基于图卷积网络的道路的交通流量的预测方法
CN109840660B (zh) 一种车辆特征数据处理方法及车辆风险预测模型训练方法
CN109670277B (zh) 一种基于多模态数据融合与多模型集成的旅行时间预测方法
CN113127591B (zh) 一种基于Transformer和LSTM的位置预测方法
CN111932026B (zh) 基于数据融合和知识图谱嵌入的城市流量模式挖掘方法
CN103106280A (zh) 一种道路网络环境下不确定时空轨迹数据的范围查询方法
CN112837533B (zh) 一种考虑风险因素时变特征的公路事故频次预测方法
Yang et al. How fast you will drive? predicting speed of customized paths by deep neural network
CN116187591B (zh) 基于动态时空趋势的商业停车场剩余车位数量预测方法
CN112966853B (zh) 基于时空残差混合模型的城市路网短时交通流预测方法
CN108492561B (zh) 一种基于矩阵分解的路网交通状态时空特征分析方法
WO2022142418A1 (zh) 一种基于gis地图信息的交通拥堵指数预测方法及装置
WO2021191168A1 (en) System and method for predicting road crash risk and severity using machine learning trained on augmented datasets
CN114048920A (zh) 充电设施建设的选址布局方法、装置、设备及存储介质
CN114493191A (zh) 一种基于网约车数据的驾驶行为建模分析方法
CN114913689B (zh) 一种基于先验知识时变图卷积网络的交通流预测方法
CN112884014A (zh) 一种基于路段拓扑结构分类的交通速度短时预测方法
CN114202120A (zh) 一种针对多源异构数据的城市交通行程时间预测方法
CN109543922B (zh) 用于有桩共享单车站点群的分时段借还量预测方法
CN113327417B (zh) 基于3d动态时空残差卷积关联网络的交通流预测方法
Li et al. Quantifying the uncertainty in long-term traffic prediction based on PI-ConvLSTM network
Hu et al. Vehicle travel destination prediction method based on multi-source data
CN116663742A (zh) 基于多因素和模型融合的区域运力预测方法
CN116797274A (zh) 一种基于Attention-LSTM-LightGBM的共享单车需求量预测方法
CN116703612A (zh) 一种汽车保险风险等级评估方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant