时空图卷积网络:用于交通流量预测的深度学习框架-1

本文主要是介绍时空图卷积网络:用于交通流量预测的深度学习框架-1,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

摘要

准确的交通预测对于城市交通控制和引导至关重要。由于交通流的高度非线性和复杂性,传统方法无法满足中长期预测任务的需求,且往往忽略了空间和时间的依赖关系。本文提出一种新的深度学习框架——时空图卷积网络(STGCN)来解决交通领域的时间序列预测问题。本文没有应用常规的卷积和递归单元,而是在图上形式化问题,并构建具有完整卷积结构的模型,以较少的参数实现更快的训练速度。实验表明,所提出模型STGCN通过对多尺度交通网络进行建模有效地捕获了全面的时空相关性,并在各种真实世界的交通数据集上始终优于最先进的基线。

介绍

交通在每个人的日常生活中起着至关重要的作用。根据2015年的一项调查,美国司机每天花在开车上的时间平均约为48分钟在这种情况下,准确的实时交通状况预测对道路使用者、私营部门和政府都至关重要。广泛应用的交通服务,如流量控制、路线规划、导航等,也在很大程度上依赖于高质量的交通状态评价。多尺度交通预测是城市交通控制与诱导的前提和基础,也是智能交通系统(Intelligent Transportation System, ITS)的主要功能之一。

在交通研究中,通常选择交通流的基本变量,即速度、容量和密度作为监测当前交通状况和预测未来的指标。根据预测时间的长短,交通预测分为短期(5 ~ 30分钟)、中期和长期(30分钟以上)。大多数流行的统计方法(例如,线性回归)能够在短区间预测中表现良好。然而,由于交通流的不确定性和复杂性,这些方法对于相对长期的预测效果较差。

现有的中长期流量预测研究大致可分为动态建模和数据驱动两大类。动态建模使用数学工具(如微分方程)和物理知识通过计算模拟来制定交通问题[Vlahogianni, 2015]。为了达到稳态,模拟过程不仅需要复杂的系统编程,而且需要消耗巨大的计算能力。不切实际的假设和模型之间的简化也会降低预测精度。因此,随着交通数据采集和存储技术的快速发展,一大批研究人员开始将注意力转向数据驱动的方法。经典的统计模型和机器学习模型是数据驱动方法的两个主要代表。在时间序列分析中,自回归综合移动平均(ARIMA)及其变体是基于经典统计的最综合的方法之一[Ahmed and Cook, 1979;Williams和Hoel, 2003]。然而,这类模型受限于时间序列的平稳性假设,且未能考虑到时间序列的时空相关性。因此,这些方法对高度非线性的交通流具有有限的表征能力。近年来,经典的统计模型在交通预测任务上受到机器学习方法的挑战。这些模型可以实现更高的预测精度和更复杂的数据建模,如k近邻算法(KNN)、支持向量机(SVM)和神经网络(NN)。

深度学习方法已经被广泛成功地应用于各种交通任务中。相关工作取得了重大进展,例如深度信念网络(DBN) [Jia等人,2016;黄等人,2014],栈式自编码器(SAE) [Lv等人,2015;陈等,2016]。然而,这些Dense网络很难从输入中联合提取空间和时间特征。此外,在空间属性受限甚至完全缺失的情况下,这些网络的代表能力将受到严重阻碍。

为了充分利用空间特征,一些研究人员使用卷积神经网络(convolutional neural network, CNN)捕获交通网络之间的相邻关系,并在时间轴上使用循环神经网络(recurrent neural network, RNN)。Wu和Tan[2016]通过结合长短期记忆(LSTM)网络[Hochreiter和Schmidhuber, 1997]和一维CNN,提出了一种用于短期流量预测的特征级融合架构CLTFP。尽管CLTFP采用了一种直接的策略,但它仍然首次尝试对齐空间和时间规律。之后,Shi等人[2015]提出了卷积LSTM,这是一种嵌入卷积层的扩展全连接LSTM (FC-LSTM)。然而,常规的卷积操作限制了模型只能处理网格结构(例如图像、视频),而不是一般的领域。同时,用于序列学习的递归网络需要迭代训练,会逐步引入误差累积。此外,众所周知,基于RNN的网络(包括LSTM)很难训练,计算量很大。

为了克服这些问题,提出了多种策略来有效地建模交通流的时间动态和空间依赖关系。为了充分利用空间信息,本文将交通网络建模为一个整体图,而不是将其单独处理(如网格或分段)。为了解决递归网络固有的缺陷,在时间轴上采用了全卷积结构。提出了一种新的深度学习架构——时空图卷积网络,用于交通预测任务。该架构包括几个时空卷积块,它们是图卷积层[Defferrard等人,2016]和卷积序列学习层的组合,以对空间和时间依赖性进行建模。这是首次在交通研究中应用纯卷积结构同时从图结构时间序列中提取时空特征。在两个真实世界的交通数据集上评估了所提出的模型。实验表明,所提出框架在具有多个预设预测长度和网络规模的预测任务中优于现有基线。

预备知识

道路图上的交通预测与图卷积

交通预测是一个典型的时间序列预测问题,即在给定前M个交通观测值的情况下,预测未来H个时间步内最可能的交通测量值(如速度或交通流量)。

【这里介绍了道路图的预测方式及数据表示、图卷积,不进行赘述】

提出模型

网络结构

在本节中,我们详细介绍了所提出的时空图卷积网络(STGCN)架构。如图2所示,STGCN由多个时空卷积块组成,每个时空卷积块形成一个“三明治”结构,中间有两个门控序列卷积层和一个空间图卷积层。每个模块的详细描述如下。

图2:时空图卷积网络架构

 STGCN框架由两个时空卷积块(ST-Conv块)和一个全连接输出层组成。每个ST-Conv块中间包含两个时间门控卷积层和一个空间图卷积层。在每个块内部采用残差连接和瓶颈策略。输入vt−M+1,…,通过ST-Conv块对vt进行统一处理,以一致地探索空间和时间依赖关系。综合特征通过输出层集成以生成最终预测vˆ。

提取空间特征的图卷积网络

交通网络一般以图的形式组织。道路网络的数学表示是自然而合理的。然而,以往的研究忽略了交通网络的空间属性:将交通网络划分为多个区段或网格,忽略了网络的连通性和全局性。即使是网格上的二维卷积,由于数据建模的妥协,也只能粗略地捕获空间局部性。因此,在该模型中,直接在图结构数据上使用图卷积,以提取空间域中高度有意义的模式和特征。虽然通过等式(2)计算图卷积中的核Θ可能由于与图傅里叶基的乘法O(n2)而非常昂贵,但采用了两种近似策略来克服这个问题:切比雪夫多项式近似和一阶近似。

这篇关于时空图卷积网络:用于交通流量预测的深度学习框架-1的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1125674

相关文章

Qt实现网络数据解析的方法总结

《Qt实现网络数据解析的方法总结》在Qt中解析网络数据通常涉及接收原始字节流,并将其转换为有意义的应用层数据,这篇文章为大家介绍了详细步骤和示例,感兴趣的小伙伴可以了解下... 目录1. 网络数据接收2. 缓冲区管理(处理粘包/拆包)3. 常见数据格式解析3.1 jsON解析3.2 XML解析3.3 自定义

Java学习手册之Filter和Listener使用方法

《Java学习手册之Filter和Listener使用方法》:本文主要介绍Java学习手册之Filter和Listener使用方法的相关资料,Filter是一种拦截器,可以在请求到达Servl... 目录一、Filter(过滤器)1. Filter 的工作原理2. Filter 的配置与使用二、Listen

Python中__init__方法使用的深度解析

《Python中__init__方法使用的深度解析》在Python的面向对象编程(OOP)体系中,__init__方法如同建造房屋时的奠基仪式——它定义了对象诞生时的初始状态,下面我们就来深入了解下_... 目录一、__init__的基因图谱二、初始化过程的魔法时刻继承链中的初始化顺序self参数的奥秘默认

Linux系统配置NAT网络模式的详细步骤(附图文)

《Linux系统配置NAT网络模式的详细步骤(附图文)》本文详细指导如何在VMware环境下配置NAT网络模式,包括设置主机和虚拟机的IP地址、网关,以及针对Linux和Windows系统的具体步骤,... 目录一、配置NAT网络模式二、设置虚拟机交换机网关2.1 打开虚拟机2.2 管理员授权2.3 设置子

揭秘Python Socket网络编程的7种硬核用法

《揭秘PythonSocket网络编程的7种硬核用法》Socket不仅能做聊天室,还能干一大堆硬核操作,这篇文章就带大家看看Python网络编程的7种超实用玩法,感兴趣的小伙伴可以跟随小编一起... 目录1.端口扫描器:探测开放端口2.简易 HTTP 服务器:10 秒搭个网页3.局域网游戏:多人联机对战4.

SpringCloud动态配置注解@RefreshScope与@Component的深度解析

《SpringCloud动态配置注解@RefreshScope与@Component的深度解析》在现代微服务架构中,动态配置管理是一个关键需求,本文将为大家介绍SpringCloud中相关的注解@Re... 目录引言1. @RefreshScope 的作用与原理1.1 什么是 @RefreshScope1.

Python 中的异步与同步深度解析(实践记录)

《Python中的异步与同步深度解析(实践记录)》在Python编程世界里,异步和同步的概念是理解程序执行流程和性能优化的关键,这篇文章将带你深入了解它们的差异,以及阻塞和非阻塞的特性,同时通过实际... 目录python中的异步与同步:深度解析与实践异步与同步的定义异步同步阻塞与非阻塞的概念阻塞非阻塞同步

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

Python GUI框架中的PyQt详解

《PythonGUI框架中的PyQt详解》PyQt是Python语言中最强大且广泛应用的GUI框架之一,基于Qt库的Python绑定实现,本文将深入解析PyQt的核心模块,并通过代码示例展示其应用场... 目录一、PyQt核心模块概览二、核心模块详解与示例1. QtCore - 核心基础模块2. QtWid