#时间预测算法_改进的智慧交通系统出行时间预测算法

b33364198a04a811c8c77384514f0360.png

引用

Chowdhury N K, Leung C K S. Improved travel time prediction algorithms for intelligent transportation systems[C]//International Conference on Knowledge-Based and Intelligent Information and Engineering Systems. Springer, Berlin, Heidelberg, 2011: 355-365.

摘要

出行时间预测为通勤者提供有用的信息,使他们能够决定是否对他们的路线或出发时间进行必要的更改。这解释了为什么旅行时间预测对于智能系统,尤其是智慧交通系统(ITS)变得重要。在过去的几年中,已经开发了几种算法来预测出行时间,但是其中一些存在一些问题。在本文中,我们提出了解决这些问题并提高 ITS 出行时间预测性能和/或准确性的算法。

介绍

由于出行时间预测对于许多智能交通系统(ITS)应用(例如动态路线导航和行程计划)至关重要,因此它在 ITS 中起着关键作用。随着高级出行者信息系统的发展,出行时间预测已变得越来越重要可以帮助通勤者更好地调整他们的出行时间表。此外,对于许多动态路线导航系统而言,准确可靠的道路行驶时间预测也至关重要,因为这种预测有助于通勤者确定他们是否需要更改路线的起始时间甚至取消行程。此外,准确的行进时间预测可以在起点和目的地之间生成最快的路径(参见最短的路径)。由于交通流量的时变特征(例如区分高峰时段交通与非高峰时段交通的每日特征)会影响准确出行时间的估计,因此如何提供可靠的出行时间信息已引起许多研究人员的关注。

在本文中,我们的主要贡献是提出了几种旅行时间预测算法,它们可以进一步提高现有算法的准确性和/或性能。具体来说,我们提出了快速准确的算法来改善 ITS 的出行时间预测。

我们改进的出行时间算法

在本节中,我们研究了 SMA,CA 和 MKC 算法,并发现了它们相关的问题。然后,我们提出了解决这些问题并进一步提高行程时间预测的准确性和/或性能的几种算法。

改进的连续移动平均(iSMA)和改进的链平均(iCA)算法

SMA 和 CA 都存在以下问题:

问题 1. SMA 或 CA 所需的空间量与历史出行次数成指数关系。给定 n 个历史出行时间,SMA 和 CA 需要构造一个 n×n 矩阵(或更准确地说,是一个 n×n 上三角矩阵,其中 n(n + 1)/2 个非空条目)。

acf499af807899412c062c3b122a3771.png

834bf48b77b868ec7581db487aa7fa3e.png

改进的 k 均值聚类(iMKC)算法

问题 4.差异度量未应用于规范化的三维空间。取而代之的是,它对三个维度中每个维度的两个历史数据 ti 和 tj 之和求和。不幸的是,每个维度使用了不同的单位(例如,以分钟为单位测量出行时间的差异,以 km / h 为单位测量速度的差异)。

问题 5.在相异性度量中使用的三个维度(即旅行时间和速度)中的两个是相关的。对于给定的路段(即具有固定距离),行驶时间与其速度成反比,因为行驶时间 × 速度=道路段的距离。因此,保持两个维度变得多余。

解决方案:为了解决问题 4 和 5,我们提出了第三种算法。观察与 MKC 中使用的不相似度度量相关的问题,我们提出的改进的改进 k 均值聚类(iMKC)算法使用了一个不同但更合适的不相似度度量。具体来说,我们的 iMKC 仅基于两个唯一行驶时间 ti 和 tj 之间的差来测量差异:

通过这样做,我们的 iMKC 可以解决问题 4 和 5,因为它避免了测量两个相关的维度,并且不对以不同单位度量的差异求和。而且,它将聚类空间的维数从三个减少到一个。实验结果表明,我们的 iMKC 导致比 MKC 更为准确的预测。

增强方法一:尽管我们的 iMKC 解决了问题 4 和 5,但可以进一步增强它。例如,细心的读者可能会注意到,相异性度量仅度量了行进时间的成对差异。但是,在给定路段 S 和时间段 T 的情况下,在 n 个历史行驶时间的集合中重复行驶时间并不罕见。我们更好地记录了这些出行时间的频率。因此,我们对 iMKC 的第一个增强就是捕获此频率信息。代替增加维度并陷入以不同单位计量的数量之和的潜在问题,我们通过相应的频率 fi 和 fj 加权传播时间 ti&tj:

790adadcc38005b601dc729fcd9382b9.png

增强方法二:第一个增强功能侧重于差异度度量,而第二个增强功能侧重于聚类技术。由于 k-medoid 聚类通常比 k-means 聚类对噪声和离群值更鲁棒,因此我们对 iMKC 的第二个增强是使用 k-medoid 聚类。k 均值聚类和 k 质形聚类之间的主要区别在于,前者的聚类以质心表示(即,一个聚类中所有数据的中心),而后者的聚类以质体表示(即位于最中心的数据每个群集)。由于 iMKC 使用迭代优化进行聚类,因此需要kn个比较才能在每次迭代中将 n 个旅行时间分配给 k 个聚类。尽管可能需要进行 n 个额外的比较才能找到 k 个质心,但很常见的是 k 个质心保持不变,而 k 个质心从一次迭代更改为另一个。因此,作为奖励,使用 k-medoid 可以减少迭代次数。实验结果表明,使用 k-medoid 聚类的这种增强的 iMKC 比使用 k-means 聚类的 iMKC 提供了更准确的预测出行时间(并且更有效)。

总结

在本文中,我们分析了三种现有算法(即 CA,SMA,MKC),并揭示了它们的问题,并提出了五种算法(即 iCA,iSMA,iMKC 及其两个增强功能)作为解决这些问题并为 ITS 提升出行时间预测。我们提出的 iCA 和 iSMA 算法使用非递归方程式直接计算预测的出行时间。它们通过减少时间和空间要求,同时维持预测的准确性,改善了出行时间的预测过程。我们的 iMKC 算法降低了聚类空间的维数,并在一个旅行时间维中测量了不相似性。它提高了预测的准确性和性能。两项增强功能通过捕获差异度量中的行进时间频率和/或使用 k-medoid 聚类进一步改善了 iMKC。实验结果表明,我们提出的所有五种算法均改善了 ITS 的行程时间预测。

致谢

本文由南京大学软件学院2020级硕士郭安翻译转述

本论文转述项目受到国家自然科学基金重点项目(项目号:61932012,61832009)支持。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/471751.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Navicat for MySQL数据库管理工具

官网下载地址:http://www.navicat.com/download/navicat-for-mysql //如图所示成功建立连接 Host Nmae/Ip Adress:localhost为本地连接,建立远程数据库连接时设置对应ip即可。 1).新建表插入中文数据可以出现: 导致程序直接关闭&a…

LeetCode 1981. 最小化目标值与所选元素的差(DP)

文章目录1. 题目2. 解题1. 题目 给你一个大小为 m x n 的整数矩阵 mat 和一个整数 target 。 从矩阵的 每一行 中选择一个整数,你的目标是 最小化 所有选中元素之 和 与目标值 target 的 绝对差 。 返回 最小的绝对差 。 a 和 b 两数字的 绝对差 是 a - b 的绝对…

hdu 5312 数学

转载于:https://www.cnblogs.com/cnblogs321114287/p/4676747.html

协程asyncio_Asyncio深入浅出

Asyncio是一个异步编程的框架,可以解决异步编程,协程调度问题,线程问题,是整个异步IO的解决方案。在学习asyncio之前,我们先来理清楚同步/异步的概念:同步是指完成事务的逻辑,先执行第一个事务&…

python 迭代器、生成器、yield、iter

文章目录1. 迭代器2. 生成器3. 标准库3.1 过滤3.2 映射3.3 合并3.4 排列组合3.5 重新排列4. yield from5. 可迭代的归约函数6. iter 还可以传入2个参数7. 生成器当成协程learn from 《流畅的python》 1. 迭代器 所有生成器都是迭代器,因为生成器完全实现了迭代器接…

java微信学习 接入

现在实习的公司要做微信开发,然而一直没安排任务,所以一直在看微信接口,记录下学习的内容 微信开发肯定要看的就是微信公众平台开发者文档,上面有每种接口的调用格式,刚开始学习的时候自己申请了一个订阅号&#xff0c…

LeetCode 1976. 到达目的地的方案数(迪杰斯特拉 Python 优先队列)

文章目录1. 题目2. 解题1. 题目 你在一个城市里,城市由 n 个路口组成,路口编号为 0 到 n - 1 ,某些路口之间有 双向 道路。 输入保证你可以从任意路口出发到达其他任意路口,且任意两个路口之间最多有一条路。 给你一个整数 n 和…

c++ sendmessage 鼠标 坐标是相对自身吗_【科普】你真的足够了解五轴加工吗?看完豁然开朗!...

近年来五轴联动数控加工中心在各领域得到了越来越广泛的应用。在实际应用中,每当人们碰见异形复杂零件高效、高质量加工难题时,五轴联动技术无疑是解决这类问题的重要手段。越来越多的厂家倾向于寻找五轴设备来满足高效率、高质量的加工。但是&#xff0…

32g内存 android开发,16G走开 我要32G内存的安卓手机

对于很多用户来说,在准备换手机的时候最纠结的莫过于是选择16G的还是32G的,毕竟价格相差好几百,但这里给你的建议是买32G的,即使贵点,但长远来说,是利大于弊的,为什么这么说呢,且听小…

andriod studio 运行 无结果_无负压静音供水设备下篇一

1、无负压静音供水设备的安全接地保护a )控制柜的金属柜体上应有可靠的接地保护,与接地点相连的保护导线的截面应符合GB/T3797-2005中4.10.6的规定。与接地点连接的导线必须是黄、绿双色或铜编织线,并有明显的接地标识。a) 主接地点与设备任何有关的、因…

html设置div页面最底,使用css让大图片不超过网页宽度

让大图片不超过网页宽度,让图片不撑破通过CSS样式设置的DIV宽度!接下来,我们来介绍下网站在开发DIVCSS的时候会遇到一个问题,在发布一个大图片的时候因为图片过宽会撑破自己设置的div宽度的问题。图片撑破布局原因1、由于浏览器版…

java上机题四取三排列_java语言特性概述

一.前言 我们都知道java是面向对象的编程,其中四个基本特性:抽象、封装、继承、多态。这四个特性,概括起来可以这么理解,抽象、封装、继承是多态的基础,多态是抽象、封装、继承的表现。二. JAVA 语言特点 a) 跨平台&am…

LeetCode 1984. 学生分数的最小差值

文章目录1. 题目2. 解题1. 题目 给你一个 下标从 0 开始 的整数数组 nums ,其中 nums[i] 表示第 i 名学生的分数。另给你一个整数 k 。 从数组中选出任意 k 名学生的分数,使这 k 个分数间 最高分 和 最低分 的 差值 达到 最小化 。 返回可能的 最小差…

C++中vector使用详细说明 (转)

转自:http://blog.chinaunix.net/uid-26000296-id-3785610.html http://www.cnblogs.com/mr-wid/archive/2013/01/22/2871105.html 一、向量的介绍 向量 vector 是一种对象实体, 能够容纳许多其他类型相同的元素, 因此又被称为容器。 与string相同, vector 同属于…

c++ 一行输出八个数字_R语言笔记(三):数据输入与输出

本文主要介绍数据基本的输入与输出方法&#xff0c;内容包括&#xff1a;1. 数据的输入1.1 scan(), edit(), fix()1.2 调用 R 包自带数据1.3 调用本地数据2. 数据的输出1. 数据的输入1.1 scan(), edit(), fix()手动输入数据主要有以下几种方式&#xff1a;x <- c() # c() 进…

LeetCode 1985. 找出数组中的第 K 大整数(排序)

文章目录1. 题目2. 解题1. 题目 给你一个字符串数组 nums 和一个整数 k 。 nums 中的每个字符串都表示一个不含前导零的整数。 返回 nums 中表示第 k 大整数的字符串。 注意&#xff1a;重复的数字在统计时会视为不同元素考虑。 例如&#xff0c;如果 nums 是 [“1”,“2”,…

firefox应用自动全屏显示_【b】—自动化测试:基础selenium—API

一、浏览器对象# 导入webdriverfrom selenium import webdriver# 创建一个浏览器对象driver webdriver.Firefox()# 设置全屏# driver.maximize_window()# 获取当前浏览器尺寸# size driver.get_window_size()# print(size)# 设置浏览器尺寸driver.set_window_size(400, 400)s…

【linux高级程序设计】(第十三章)Linux Socket网络编程基础 2

BSD Socket网络编程API 创建socket对象 int socket (int __domain, int __type, int __protocol) &#xff1a;成功返回socket文件描述符&#xff0c;失败返回-1. 参数1&#xff1a;socket对象使用的地址簇或协议簇 常用的有PF_LOCAL(本机通信)、PF_INET(IPv4协议簇)、PF_INET6…

数据库中有痣但是有时取不到_农村这种长得像“泥鳅”的鱼,以前没人吃,现在可能有钱都吃不到...

只说真话的农民公众号原创文章&#xff0c;严禁转载在农村中有很多不能叫出名字的花草和野味&#xff0c;它们当中虽然有些长得比较奇怪&#xff0c;名字也比较奇怪&#xff0c;但是却是非常好的疗补食物。有些花草是治疗疾病的良药&#xff0c;有些野味现在也被搬上了酒桌。但…

python 使用 asyncio 包处理并发

文章目录1. 线程与协程对比2. 使用 asyncio 和 aiohttp 下载3. 避免阻塞型调用4. 使用 asyncio.as_completed5. 使用Executor对象&#xff0c;防止阻塞事件循环6. 从回调到期物和协程learn from 《流畅的python》 1. 线程与协程对比 threading import threading import iter…