评分模型在路网通勤习惯分析中的应用——提出问题(1)

news2025/1/5 8:49:00

1、问题的由来、目标和意义

最近一段时间和公司其它业务部门讨论时,发现一个有趣的交通路网问题,车辆从S点行驶到V点共用时40分钟,这段时间内路网中的卡口摄像头识别到了车辆通过的信息。如下图所示:
在这里插入图片描述
设计师需要通过这些有限的路网数据,分析出当前车辆最可能的行驶路径,并且基于一段时间(1个月、2个月甚至3个月)内某车辆多个行驶路径样本,分析后得到车辆A的通勤习惯数据。能够支持解决这个问题的基础数据是有限的,它们包括:

  • 相对静态的数据:地图交通网数据(没有结构化,需研发团队自行结构化)、道路级别数据、卡口位置数据等

  • 相对动态的数据:从外部得到的周期更新的交通网拥堵、卡口摄像数据(最关键的数据)、交通事故数据等

解决这个问题,在业务层面还需要注意以下几个关键点:

1、数据的采集主要通过设置在主道上的卡口摄像头,或者设置在路口的卡口摄像头完成。两者的区别主要在于,前者只能提供车辆车牌信息和行驶方向信息,而后者由于是安装在路口,所以不止可以提供车牌信息,还能提供车辆在路口可能的转向信息。

2、由于技术问题、采光问题、清晰度问题,卡口摄像头做不到100%正确识别车辆车牌信息,也就是说如果卡口摄像头在一段时间内没有拍摄到某个车辆的车牌信息,也不能代表这辆车在这段时间内一定没有行驶过这段道路。

3、根据车辆某一天最可能的行驶轨迹情况,是不能得到车辆一段时间的通勤习惯的,需要多个分析样本,再利用回归分析的方式,才能得出车辆在一段时间内的通勤习惯。

车辆可能的行驶路径信息、通勤习惯信息至少能够为城市的智慧交通领域提供以下业务支持:

  • **优化交通流量‌:**通过分析通勤习惯数据,交通部门可以识别交通高峰时段和瓶颈路段,从而采取措施进行改善,如调整交通信号灯、增加公交线路或建设新的交通基础设施,以优化交通流量和提高道路利用效率。

  • 提升公共交通系统效率‌:公共交通运营商可以利用通勤习惯数据来优化公交线路和时间表,提高公共交通的准点率和便捷性。例如,通过分析通勤者的出发时间和到达时间,可以调整公交和地铁的发车频率和运营时间,以满足乘客的需求‌。

  • 改善城市规划‌:城市规划者可以基于通勤习惯数据进行更合理的城市布局和基础设施建设。例如,通过分析通勤路线和交通状况,可以确定哪些区域需要更多的公共交通设施或道路改善,以减轻交通拥堵和提高居民的生活质量‌。

  • 提高通勤者生活质量‌:通过减少通勤时间和改善通勤体验,可以显著提升通勤者的生活质量和工作效率。例如,通过分析通勤者的出行习惯,可以提供个性化的出行建议和路线规划,减少通勤时间和疲劳‌。

所以通勤习惯分析属于智慧交通业务中的基础分析,其分析的结果可以用于支撑智慧交通业务的上层能力。实际上通勤习惯分析属于OD(Origin-Destination,起止点)分析中的一种具体形式,OD分析主要通过收集和分析数据,识别出行起点和终点之间的车辆流动情况。在交通规划中,OD分析可以帮助了解交通流量、识别高峰期和瓶颈区,优化交通网络设计和管理。此外,OD分析也广泛应用于物流、零售等领域,通过分析货物流动和顾客行为,提高资源配置和运营效率‌。

2、解决问题需要具备的知识结构

2.1、OD分析可能的解决方案剖析

在这里插入图片描述
上图将整个问题可能的解决方案剖析成三个部分,第一个部分主要是拍照数据的采集和数据清洗。这个阶段要解决的主要问题是,不同型号、不同通讯方式的卡扣摄像头,如何汇聚数据并初步检测出错误数据。例如一些较新型号的卡口摄像头自带5G通讯模块,可以直接连接到数据采集系统/数据集中平台,通过MQTT等标准协议传输数据。有的卡口摄像头虽然不具备5G通讯模块,但是可以统一接入到IoT网关或者集中管控终端上,再由IoT网关或者终端完成数据传输。空间路网数据亦是采用类似的思路进行数据采集。

这些原始数据都将在数据采集系统/物联数据集中平台进行归集,后者显然需要兼容各种数据传输方式,并完成初步的数据清洗操作。从本文描述的需要解决的问题来说,这些原始数据主要就是各个交通卡口的车牌数据、时间数据、车辆行驶方向数据,等等。显然数据采集系统并不负责完成OD轨迹实时分析,也并不是本文讨论的重点。(如果需要详细了解这部分内容,可以参考《软件设计不是CRUD(21):在流式数据处理系统中进行业务抽象落地——需求分析》等文章)

基础数据准备完毕后,会在湖仓一体化的数据存储平台进行存储,以便支持后续的数据分析过程。数据分析的关键过程在流式分析平台上完成,也就是说讨论如何分析得到更匹配真实情况的OD轨迹,甚至如何基于多份OD轨迹样本分析得到单台车辆在一个较长时间段内的通勤习惯,就是讨论在流式分析平台上对数据分析的详细设计。这是解决问题的关键设计部分,也是本文(和后续几篇文章)的重点内容。

整个问题可能的解决方案,还有第三个结构部分,就是基于已分析数据向外提供数据应用能力的平台。数据应用平台至少可以基于轨迹数据、出行习惯数据,以及自身AI分析后得到的其它扩充数据,向上层业务系统/第三方系统提供诸如城市路网规划、拥堵预测与缓解、高峰管制优化、路口信号优化等多种多样的业务支持。虽然这也不是本文讨论的重点,但读者可以明确知道OD分析在智慧交通应用中的意义和重要程度。

2.2、知识准备

本文不讨论技术选型本身,技术选型仅是表象,不同技术经历、技术背景的工程师对于技术选型都有自己的理解,在选型要点和细节上都会有所区别。所以读者进需要知晓上图中涉及的中间件即可:

  • Kafka:Kafka作为在数据分析场景下,在多个中间件之间实时传输数据的消息队列,相信大家不会陌生。在解决本问题的技术架构中,Kafka负责多个任务,包括作为摄像头向数据采集平台/物联数据集中平台传输卡口监控数据的一种渠道、作为数据采集和清洗后,向湖仓一体化的存储方案传输数据的一种渠道。

  • Flink:Flink是一款开源流式数据处理框架,主要用于实时数据流的处理和分析。Flink的核心是用Java和Scala编写的分布式数据流引擎,旨在实现数据流上的有状态计算‌。Flink大量应用在对数据分析有较强实时性要求、较大数据量要求的分析场景。除了本身提供的流式分析特性外,Flink也支持数据的批处理,这也是为什么上图中所示的技术方案中,类似通勤习惯这样的周期性批处理分析,我们也放到了Flink中。

  • StarRocks:StarRocks内部通过MPP计算框架完成SQL的具体执行工作。MPP框架本身能够充分的利用多节点的计算能力,整个查询并行执行,从而实现很好的交互式分析体验。 StarRocks作为一款湖仓一体化的数据存储和计算平台,可以支持与Hive,MySQL,Elastic serach存储方案无缝构建外表。

本文的重点是介绍启发式搜索在交通通勤领域的应用,更具体的说,是解决启发式搜索如何有效降低遍历搜索算法的计算成本,提高问题的解决效率。所以以下“图”结构中的基础算法知识,需要读者掌握(本文不会讲解这些基础知识,会直接认为读者已掌握):

  • 加权有向图:‌加权有向图‌是一种图论中的数据结构,它是在有向图的基础上,每条边都赋予了一个权重值。这个权重值,一般和应用场景有关。在交通应用场景中每个顶点代表两个或者多个路段的交汇点(可能是十字路口、丁字路口、匝道、隧道出入口、高速出入口等),每条边代表一个独立的路段,每条边越高的权重,代表出于主观或客观的原因车辆行驶时对路段越高的选择度。

  • 图的最小搜索树:在一个加权有向图中,如果存在一棵各边权重和最小的生成树,那么这棵树就被称为最小生成树。生成树是原图的一个子集,包含图中所有顶点,但仅有n-1条边(n为顶点数),这些边构成了一棵无环的树。

  • 两个顶点的所有路径:既是通过一种算法,找到图结构中两个顶点间所有的联通路径。这种算法一般是某种遍历算法,因为只有了解了图中每个顶点的具体联通情况,才能找出所有联通路径,这就导致要找到两个顶点所有路径的算法时间复杂度一般会比较高——O(N2)

  • 两个顶点的加权最短路径:在加权有向图中,从顶点s到顶点t的最短路径是所有从s到t的路径中权重最小的那条路径。

  • 遍历搜索:遍历搜索,也称为暴力搜索,是一种简单但全面的搜索策略。它不考虑任何智能或优化,只是逐个访问数据结构中的每个节点,直到找到目标值或遍历完所有节点。这种搜索策略适用于没有任何特殊性质的数据结构,如普通的树或图。在遍历搜索中,常见的两种方法是深度优先搜索(DFS)和广度优先搜索(BFS)。

  • 启发式搜索:是一种更智能、更高效的搜索策略。它使用问题相关业务知识来指导搜索过程,以提高搜索效率。具体到图的交通应用场景中,启发式搜索考虑的就是交通常识、驾驶习惯等因素。这种策略在现实业务场景和深度学习中更为适用,常见于最优解、可能性等问题的处理。

3、问题概要分析

3.1、可能性问题与最优解问题的区别

有的读者会疑问,本文开头提出的问题和目前导航服务厂商提供的多途径点规划功能类似,为什么不直接使用地图厂商提供的相关服务,而要作为一个基础问题自己解决呢?这里暂时不分析业务、安全等层面的考虑,单从问题本身的性质来说,这两个问题就存在较大区别:

多途经点规划和可能的OD轨迹分析,两个问题的研究场景不一样。前者是在交通行为还没有发生的情况,在满足多个途径点位的要求下,寻找一个最优解;后者是在交通行为已经发生的情况下,基于交通网的各种历史状态和经过的点位,推导出多种可能性作为分析样本。再基于一段较长时间后,对足够多的样本进行多次回归等方式,找到可能性中的最可能得情况。前者属于单纯的最优解问题,后者属于可能性问题。

可能性问题:可能性问题关注的是某个事件或情况发生的概率或存在的程度。这通常涉及到对不确定性的评估和预测。很明显通过有限的数据在交通路网上还原点位A到点位B可能的路径,就属于可能性问题。可能性问题得到的解并不是最优解,而是根据目前现状后得到最有可能的情况。

最优解问题:最优解是指在问题或情境中能找到的最佳或最理想的解决方案。这个定义涵盖了在一定条件下,没有任何其他解能比这个解更优越,即达到了问题解决的极限状态。

3.2、对问题进行分析

推测可能的行驶轨迹,并最终得出驾驶习惯,可以通过以下步骤,结合流处理过程和批处理过程进行问题的解决:
在这里插入图片描述

  1. 对交通地图进行结构化处理

    地图的数据结构本质上是一种加权有向图,且图中存在环状结构。要解决地图上的问题,首先需要将地图进行结构化。实际工作中,这个步骤可以由技术团队自行完成——描述成二维矩阵或者二维表(邻接表),也可以借助市场上成熟的中间件产品,例如PostgreSQL with PostGIS 、Neo4j、Cassandra等数据库都对地理空间数据有专门的存储格式和能力支持。作为后续的技术方案演练,本文将自行构建邻接表来进行空间数据的结构化描述。

  2. 利用具有通勤业务特点的DFS/BFS算法,求A点到B点权值较大的多条可能路径

    这是非常关键的步骤,也是本文讨论的技术核心之一。由于上文已经描述了可能性问题和最优解问题的区别,所以后续内容不再解释为什么核心算法不是诸如Dijkstra这样的最优解算法,而重点放在讨论如何结合启发式信息对常规DFS/BFS算法进行优化,以寻求各种可能的结果。

    在这里插入图片描述
    (导航软件中,这条红色的目标方向辅助线,到底有什么作用?仅仅是为了识别方向吗?)

    另外,在寻找可能路径的过程中,由于路径权重涉及多个领域的基础数据,且这些基础数据并没有一个规范的评分方式,所以确认路径的过程中,就可能使用熵权法对每条路径进行确权,并且需要保证这些评分维度,可以进行扩展。

  3. 利用模糊综合评价法,对路径进行打分,分数最高者为最可能路径

    由上一步骤得到的可能路径如果只有一条,那么就不需要进行本步骤。如果存在多条可能路径,则需要利用综合评分法,找到其中评分最高的一条路径,作为最可能路径。综合评分涉及的评分维度至少包括实际时间和线路预计时间的差异,因为不同的业务场景可能存在的差异,参与综合评分的维度允许进行扩展。

  4. 通过以上分析方式,积累一定规模的路径样本(例如1个月、2个月),通过线性回归方式,求得车辆A在一定时间周期内的通勤习惯。

    通过以上3个步骤,可以得到特定车辆某一次的可能行驶轨迹,但是仅仅一次或者有限的几次行驶轨迹是无法确认车辆驾驶者的驾驶习惯的,需要一个较长时间段的多个轨迹作为分析样本,分析后才能得出驾驶习惯。

下面,我们就对以上解决问题的步骤逐一进行详细讨论。讨论将基于以下的示意性路网结构(片段)进行:
在这里插入图片描述

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

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

相关文章

Spring Security day 11.23

ok了今天学习一个关于登录角色权限的管理框架,我们一起取看看吧 一.权限控制 1.1 认证和授权概念 前面我们已经完成了后台管理系统的部分功能,例如检查项管 理、检查组管理、套餐管理、预约设置等。接下来我们需要思 考 2 个问题: 问题 1 …

【IC验证】verilog及systemverilog特殊特性的分析

verilog及systemverilog特殊特性的分析 1.概述2.赋值延迟(0)总结(1)情况一:initial中进行阻塞赋值和非阻塞赋值(不延迟)a代码b 电路图c 结果 (2)时钟a 代码b 电路图c 结果…

FPGA流水线考虑因素

流水线考虑因素 另一种提升性能的方法是对拥有多个逻辑级数的长数据路径进行重新组织,并将其分配在多个时钟周期上。这种方法 以时延和流水线开销逻辑管理为代价,来达到加快时钟周期和提高数据吞吐量的目的。 由于 FPGA 器件带有大量的寄存器&#x…

关于 PCB线路板细节锣槽问题 的解决方法

若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/144783817 长沙红胖子Qt(长沙创微智科)博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV…

SQL创建和操纵表

本文介绍创建、更改和删除表的基本知识。 1. 创建表 SQL 不仅用于表数据操纵,而且还用来执行数据库和表的所有操作,包括表本身的创建和处理。一般有两种创建表的方法: 多数DBMS 都具有交互式创建和管理数据库表的工具;表也可以…

RPA系列-uipath 学习笔记4

使用Uipath 处理hover的问题 备注:使用uipath stversion:2024.10.6,所有学习来源自uipath Academy 首先,打开uipath给我们提供的一个网站 ACME,这个网站呢,需要提前注册一下的哈。 今天呢,就是记录一下,怎…

Unity编译Android apk包进度奇慢或gradle报错的解决方案

最近遇到Unity编译Android apk进度卡在"Calling IPostGenerateGradleAndroidProject callbacks"进度一直不变,如下图: 最后提示编译失败,类似错误如下: Picked up JAVA_TOOL_OPTIONS: -Dfile.encodingUTF-8FAILURE: Bu…

探究音频丢字位置和丢字时间对pesq分数的影响

丢字的本质 丢字的本质是在一段音频中一小段数据变为0 丢字对主观感受的影响 1. 丢字位置 丢字的位置对感知效果有很大影响。如果丢字发生在音频信号的静音部分或低能量部分,感知可能不明显;而如果丢字发生在高能量部分或关键音素上,感知…

CAT3D: Create Anything in 3D with Multi-View Diffusion Models 论文解读

24年5月的论文,上一版就是ReconFusion 目录 一、概述 二、相关工作 1、2D先验 2、相机条件下的2D先验 3、多视角先验 4、视频先验 5、前馈方法 三、Method 1、多视角扩散模型 2、新视角生成 3、3D重建 一、概述 该论文提出一种CAT3D方法,实现…

模型工作流:自动化的模型内部三角面剔除

1. 关于自动减面 1.1 自动减面的重要性及现状 三维模型是游戏、三维家居设计、数字孪生、VR/AR等几乎所有三维软件的核心资产,模型的质量和性能从根本上决定了三维软件的画面效果和渲染性能。其中,模型减面工作是同时关乎质量和性能这两个要素的重要工…

黑马程序员Java笔记整理(day08)

1.代码块 静态代码块 实例代码块 2.内部类 成员内部类 静态内部类 局部内部类 匿名内部类 认识 常见使用形式 应用场景 简化版本 另一个应用场景 3.函数式编程 Lambda 函数简化 方法引用 4.常用API String ArrayList 5.GUI编程 快速认识 事件处理 三种常用写法 第一种 第二…

redis延迟队列

Redis延迟队列 Redis延迟队列是基于Redis构建的消息队列,用来处理需延迟执行的任务。 基本原理 它借助Redis的有序集合(Sorted Set)数据结构达成目的。会把任务及其执行时间分别当成成员与分值存进有序集合,由于执行时间作为分值&…

爱思唯尔word模板

爱思唯尔word模板 有时候并不一定非得latex https://download.csdn.net/download/qq_38998213/90199214 参考文献书签链接

【JDBC】入门增删改查

JDBC JDBC概述 JDBC(Java DataBase Connectivity, java数据库连接)是一种用于执行SQL语句的Java API。JDBC是Java访问数据库的标准规范,可以为不同的关系型数据库提供统一访问,它由一组用Java语言编写的接口和类组成。 XML方式…

Java开发-后端请求成功,前端显示失败

文章目录 报错解决方案1. 后端未配置跨域支持2. 后端响应的 Content-Type 或 CORS 配置问题3. 前端 request 配置问题4. 浏览器缓存或代理问题5. 后端端口未被正确映射 报错 如下图,后端显示请求成功,前端显示失败 解决方案 1. 后端未配置跨域支持 …

Dify服务器部署教程

Dify的github地址: https://github.com/langgenius/dify 服务器要求:2c4g 1、克隆仓库 可以通过命令或者下载zip解压后上传服务器都行 git clone https://github.com/langgenius/dify.git 2、docker启动 cd dify/dockercp .env.example .envdocker compose up -d…

砝码称重(2021年蓝桥杯)

【问题描述】 你有一架天平和N个砝码,这N个砝码的重量依次是w1,w2,……,wn。(1~n为下标) 请你计算利用N个砝码一共可以称出多少种不同的重量? 【注意】砝码可以放在天平的两边 【输入格式】 第一行包含一个整数N。 第二行包含N个…

KaiOS 4.0 | DataCall and setupData implemention

相关文档 1、KaiOS 3.1 系统介绍 KaiOS 系统框架和应用结构(APP界面逻辑)文章浏览阅读842次,点赞17次,收藏5次。对于Java开发者而言,理解JS的逻辑调用是有点困难的。而KaiOS webapp开发又不同于现代的web开发,更像chrome浏览器内嵌模式。在这里梳理一下kaios平台web应用…

ArcGIS Pro地形图四至角图经纬度标注与格网标注

今天来看看ArcGIS Pro 如何在地形图上设置四至角点的经纬度。方里网标注。如下图的地形图左下角经纬度标注。 如下图方里网的标注 如下为本期要介绍的例图,如下: 图片可点击放大 接下来我们来介绍一下 推荐学习:GIS入门模型构建器Arcpy批量…

win系统B站播放8k视频启用HEVC编码

下载HEVC插件 点击 HEVC Video Extension 2.2.20.0 latest downloads,根据教程下载安装 安装 Random User-Agent 点击 Random User-Agent 安装 配置 Random User-Agent 在youtube中会导致视频无法播放,我选择直接屏蔽了 B站设置