news 2026/5/11 3:38:23

基于NGSIM数据的Wiedemann99跟驰模型标定

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于NGSIM数据的Wiedemann99跟驰模型标定

基于NGSIM数据的wiedemann99跟驰模型标定 Including: 1. Code by Matlab; 2. 拟合优度函数(RMSPE)由SpaceHeadway & velocity组成; 3. 自己编写的IPSO(改进粒子群算法)进行求解。

最近在研究基于NGSIM数据对Wiedemann99跟驰模型进行标定,这里和大家分享下我的一些实践过程和心得。

一、整体思路

我们要利用NGSIM数据,通过特定的方法对Wiedemann99跟驰模型进行参数标定。在这个过程中,用到了Matlab编写代码,以拟合优度函数(RMSPE)作为评判标准,该函数由SpaceHeadway(间距)和velocity(速度)组成,并且采用自己编写的IPSO(改进粒子群算法)来求解模型参数。

二、Matlab代码实现

1. 数据读取与预处理

% 假设NGSIM数据存储在一个文本文件中,格式为每一行包含车辆ID、时间、位置、速度等信息 data = readtable('ngsim_data.txt'); % 提取我们需要的间距和速度信息 spaceHeadway = data.SpaceHeadway; velocity = data.Velocity;

这里通过readtable函数读取NGSIM数据文件,将其存储为表格形式,方便后续提取特定的列数据,也就是我们需要的间距和速度信息,为后续计算拟合优度函数做准备。

2. 定义Wiedemann99跟驰模型

function acceleration = wiedemann99Model(spaceHeadway, velocity, params) % params包含模型需要标定的参数 a = params(1); b = params(2); c = params(3); % Wiedemann99模型公式,这里假设具体公式为以下形式 acceleration = a * velocity + b * spaceHeadway + c; end

这个函数定义了Wiedemann99跟驰模型,输入间距、速度以及模型参数,返回车辆的加速度。在实际模型中,参数abc是我们需要通过标定确定的。

3. 拟合优度函数(RMSPE)

function rmspe = calculateRMSPE(params, spaceHeadway, velocity, observedAcceleration) predictedAcceleration = wiedemann99Model(spaceHeadway, velocity, params); % 计算预测加速度和观测加速度的相对百分比误差 errors = (predictedAcceleration - observedAcceleration)./ observedAcceleration; rmspe = sqrt(mean(errors.^2)); end

这个函数用来计算拟合优度RMSPE。首先根据当前的参数params通过wiedemann99Model函数得到预测加速度,然后计算预测加速度和观测加速度之间的相对百分比误差,最后对这些误差求均方根得到RMSPE。

4. 改进粒子群算法(IPSO)

function [bestParams, bestRMSPE] = IPSO(spaceHeadway, velocity, observedAcceleration, numParticles, numIterations) % 初始化粒子位置和速度 positions = rand(numParticles, 3); velocities = zeros(numParticles, 3); personalBestPositions = positions; personalBestRMSPE = inf(numParticles, 1); globalBestPosition = []; globalBestRMSPE = inf; for iter = 1:numIterations for i = 1:numParticles currentRMSPE = calculateRMSPE(positions(i, :), spaceHeadway, velocity, observedAcceleration); if currentRMSPE < personalBestRMSPE(i) personalBestRMSPE(i) = currentRMSPE; personalBestPositions(i, :) = positions(i, :); end if currentRMSPE < globalBestRMSPE globalBestRMSPE = currentRMSPE; globalBestPosition = positions(i, :); end end % 更新粒子速度和位置 for i = 1:numParticles r1 = rand(1, 3); r2 = rand(1, 3); velocities(i, :) = 0.7 * velocities(i, :) + 1.5 * r1.* (personalBestPositions(i, :) - positions(i, :)) + 1.5 * r2.* (globalBestPosition - positions(i, :)); positions(i, :) = positions(i, :) + velocities(i, :); end end bestParams = globalBestPosition; bestRMSPE = globalBestRMSPE; end

这是改进粒子群算法的实现。开始时初始化粒子的位置和速度,每个粒子代表一组模型参数。在每次迭代中,计算每个粒子对应的RMSPE,更新粒子的个人最优位置和全局最优位置。然后根据粒子群算法的公式更新粒子的速度和位置,最终返回最优的参数和最小的RMSPE。

三、总结

通过以上Matlab代码实现,结合NGSIM数据,利用IPSO算法对Wiedemann99跟驰模型进行标定,以RMSPE作为拟合优度函数来评估模型的准确性。在实际应用中,还可以进一步优化代码和算法,比如对IPSO算法的参数进行更细致的调整,或者尝试不同的数据预处理方法,以提高模型标定的精度和效率。希望这篇博文对同样在研究相关内容的小伙伴有所帮助,大家有任何问题或者想法欢迎交流讨论。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/30 21:05:57

Open-AutoGLM本地部署稀缺教程:仅限Apple Silicon芯片的专属配置方法

第一章&#xff1a;Open-AutoGLM mac上安装在 macOS 系统上部署 Open-AutoGLM 是进行本地大模型实验和自动化代码生成的重要前提。该框架依赖 Python 环境与若干系统级工具&#xff0c;需通过命令行逐步配置。环境准备 确保系统已安装以下基础组件&#xff1a; Xcode 命令行工具…

作者头像 李华
网站建设 2026/5/10 14:55:49

Open-AutoGLM与MCP协议融合实践(20年专家私藏技术笔记)

第一章&#xff1a;Open-AutoGLM沉思 mcp协议 在分布式智能系统架构演进中&#xff0c;Open-AutoGLM作为新一代语言模型代理框架&#xff0c;引入了专有的通信协议——mcp&#xff08;Model Communication Protocol&#xff09;&#xff0c;旨在实现跨节点、跨环境的高效语义对…

作者头像 李华
网站建设 2026/5/10 5:39:05

PaddlePaddle城市噪音地图Noise Level Mapping

PaddlePaddle城市噪音地图&#xff1a;从声音感知到智慧治理 在一座超大城市中&#xff0c;每天清晨五点&#xff0c;环卫车的引擎声、建筑工地的打桩机轰鸣、早班公交进站的报站广播便已悄然响起。这些声音交织成城市的“呼吸”&#xff0c;但其中不少早已超出居民可接受的噪声…

作者头像 李华
网站建设 2026/5/9 7:52:17

地震余震预测:使用TensorFlow分析地质数据

地震余震预测&#xff1a;使用TensorFlow分析地质数据 在2011年东日本大地震之后的数周内&#xff0c;超过一万多起余震接连发生——其中不乏震级超过7.0的强震。面对如此复杂且高风险的后续活动&#xff0c;传统统计模型虽然能提供基础预测框架&#xff0c;但在捕捉非线性演化…

作者头像 李华
网站建设 2026/5/4 20:06:40

Pony V7终极指南:快速掌握AI角色生成的完整解决方案

Pony V7终极指南&#xff1a;快速掌握AI角色生成的完整解决方案 【免费下载链接】pony-v7-base 项目地址: https://ai.gitcode.com/hf_mirrors/purplesmartai/pony-v7-base Pony V7模型是当前最先进的AI角色生成工具&#xff0c;基于创新的AuraFlow架构&#xff0c;通过…

作者头像 李华
网站建设 2026/5/4 21:12:16

Open-AutoGLM平台实战指南:5大核心功能助你效率提升300%

第一章&#xff1a;Open-AutoGLM平台实战指南&#xff1a;开启高效开发新篇章Open-AutoGLM 是一款面向现代AI应用开发的开源自动化平台&#xff0c;深度融合大语言模型能力与低代码开发理念&#xff0c;显著提升从原型设计到生产部署的全流程效率。通过可视化编排、智能代码生成…

作者头像 李华