-
本篇文章为本人原创内容,如需转载引用,请务必在文中附上原链接及相应说明,包括作者信息(阿瑟)
-
本篇文章非完整分析思路,仅供参考,欢迎学习交流
-
码字不易,好心人随手点个赞
-
更新:第一次参赛获得了二等奖,再次感谢建模峡谷队的努力~
-
更新2: 欢迎数模比赛思路指导/交流
目录
- 组队信息
- 选题思路
- 资料搜集
- 初步思路
- 任务分工
- 提前准备
- 数据来源及处理
- 模型构建
- 模型评估
- 存在的缺点
- 论文结构
- 总结
组队信息
建模一般都是3人一队,我们”建模峡谷队“同样是3人,2个计算机专业+1个交运,属于跨专业类别的队伍;
整体能力分布是:一个编程+一个论文+一个资料搜集
选题思路
- A题 华为数据题目,典型机器学习模型
- B题 天文数据,纯数据物理分析题目
- C题 计算机图形学,测算图片中物体间实际距离
- D题 常规开放题目,(有数据)构建汽车行驶工况曲线
- E题 常规开放题目,无数据,构建全球气候模型
- F题 规划题目,飞行器路线最优规划
考虑到能力分布,A题比较需要编程和机器学习基本知识,全队都是计算机才比较适合,所以不选A题
B题所以不选
C题所以不选
当时综合考虑在D E F间做个三选一,最后选了最简单的D题,(唉,后悔,做D题的人太多了,当然应该咬咬牙选A题的)
资料搜集
- D题题目
汽车行驶工况(Driving Cycle)又称车辆测试循环,是描述汽车行驶的速度-时间曲线(如图1、2,一般总时间在1800秒以内,但没有限制标准,图1总时间为1180秒,图2总时间为1800秒),体现汽车道路行驶的运动学特征,是汽车行业的一项重要的、共性基础技术,是车辆能耗/排放测试方法和限值标准的基础,也是汽车各项性能指标标定优化时的主要基准。目前,欧、美、日等汽车发达国家,均采用适应于各自的汽车行驶工况标准进行车辆性能标定优化和能耗/排放认证。
解决的问题
1.数据预处理。........请设计合理的方法将上述不良数据进行预处理,并给出各文件数据经处理后的记录数。
2.运动学片段的提取
3.汽车行驶工况的构建
请根据上述经处理后的数据,构建一条能体现参与数据采集汽车行驶特征的汽车行驶工况曲线(1200-1300秒),该曲线的汽车运动特征能代表所采集数据源(经处理后的数据)的相应特征,两者间的误差越小,说明所构建的汽车行驶工况的代表性越好。要求:
(1)科学、有效的构建方法(数学模型或算法,特别鼓励创新方法,如果采用已有的方法,必须注明来源);
(2)合理的汽车运动特征评估体系
(3)按照你们所构建的汽车行驶工况及汽车运动特征评估体系,分别计算出汽车行驶工况与该城市所采集数据源(经处理后的数据)的各指标(运动特征)值,并说明你们所构建的汽车行驶工况的合理性。
- 汽车行驶工况概况
http://baijiahao.baidu.com/s?id=1601130970527057901&wfr=spider&for=pc
https://baijiahao.baidu.com/s?id=1613753349785670755&wfr=spider&for=pc
首先对汽车行驶工况要有一定的了解,实际上就是时间-速度曲线,用于对汽车续航油耗等指标进行测试
行驶工况
初步思路
对问题进行初步分析和文献检索后,得出了基本的建模思路。
关于汽车行驶工况 构建,有两个构建方向:
① 基于已有片段进行构建;
② 生成思想。
基于试验数据的片段进行构建是目前主流的构建方法,对试验数据进行片段分割,从所获得的片段选取;而基于生成思想则是对试验数据进行分布提取,直接生成工况曲线,而没有片段划分于选取的过程。基于生成思想的构建方法实际可行性比较低,在此不做讨论。
我们实际采用进行问题建模分析。
利用运动学片段进行工况构建是最简单易行的方法,如下图所示,考虑到模型的创新性,我们在最基础模型的基础上提出了一种新算法,并进行对比试验。
除此之外也有研究,元运动片段是对运动学片段进行二次划分所得,每个片段有且仅有一种运动状态(怠速、匀速 、加速与减速),通过元运动片段进行分析选取构建 最后的工况片段。本文所用的基础模型即第一种方法源于所查文献,同时该文献也提出了一种基于元运动片段的构建方法,对元运动片段进行状态划分,在此基础上其通过马尔可夫过程建立元片段状态转移概率矩阵。并使用全局总体特征参数偏差最优的思想,选取运动学片段集中与整体试验数据总体特征参数偏差最小的运动学片段作为工况起始片段,并得到该片段的最后一个元片段,利用状态转移概率矩阵进行后续状态转移计算,利用多个元片段对工况后续片段进行填充。相关流程如下图所示:
我们在此思路上提出一种新的建模尝试,基本思路是设置更合理的运动学状态,利用ESN序列分析模型,进行序列建模;对序列模型预测出的元片段进行组合尝试,选取最优组合作为最后工况曲线。
任务分工
基本任务由以下三部分
- 论文 构建论文框架,在选题完成后及时填充包括问题描述等基础内容,以及各类图表格式的设定,初期一个人进行,到后面所有人一起
- 数据分析 对题目所给的数据进行基本的分析,了解数据的特性,可以通过excel完成,一个人进行
-
代码实现 完成对复杂数据处理和模型的构建,一个人进行
三个部分环环相扣,都很重要。
提前准备
- 选题确定好后,一人负责搭建论文框架,预设好表格及图片格式
- 思路基本确定时,开始撰写问题说明与分析部分及模型假设和符号说明,后期有更新再添加
数据来源及处理
-
数据初步分析
题目自带数据,共三个文件,每个文件均为汽车的行驶状态记录数据,通过GPS及速度信息,我们绘制了下图,对汽车实际行驶情况有了直观的认识,可以发现数据缺失点多出现在山区/隧道等地区,对我们后续的数据处理提供的原始思路
2017年12月18日车辆行驶路径.png 除此之外还有对速度-时间曲线的绘制
原始数据一小时速度 -时间 折线图 实名表扬绘图大佬,图画的忒好看了
通过对数据的直观观察分析以及题目的要求,明确了数据处理的目标 -
数据处理
对不良数据进行分类处理,进行包括填充、剔除、修改等操作;如对缺失数据进行填充,我们进行了分情况讨论
缺失时段时长分布图 通过对缺失时段时长分布的观察,首先进行短时段缺失的填充,利用线性插值完成。另外又对长时段进行讨论说明,进行分情况处理。
问题一数据预处理,最后要求给出处理完成后的各文件的数据条目,我们具体通过python编程实现处理,该部分重点在于对情况的讨论分析以及代码实现,思路简单但代码实现比较繁琐 -
运动学片段划分
在完成数据预处理后需要进行运动学片段划分,要给出运动学片段的定义,并对划分算法和有效运动学片段选取算法进行形式化描述。
运动学片段的定义 我们讨论出相关定义和算法,并进行代码编程实现,得到了有效片段集,部分片段如下所示 典型运动学片段示例
模型构建
在有效片段库的基础上,进行工况构建,这也是本题的核心
-
用特征参数描述运动学片段
选取了运动学特征、运动学统计分布特征来描述,并利用这些特征参数对片段进行特征分析,部分分析如下所示 整体运动片段数据车辆不同运行状态分布图
- 其他建模过程
包括PCA,聚类等均为常规模型,最后主要在于片段选择,我们利用常用的局部总体特征最优思想进行片段选择,构建最终的有效片段。
我们使用基于类别时间分布和局部总体特征最优的运动学片段选取方法,局部总体特征最优具体是指在选取片段时要计算片段与当前类别总体特征参数偏差,选择偏差最小的片段作为该类最优片段用于构建工况。其中“局部”主要是指仅考虑片段类内数据的情况,而非整体试验数据;“总体”则指对每个片段计算其所有特征参数之和,考量了运动学片段所有特征参数(运动学特征与运动学统计分布特征) 。
此外还提出了基于类别排序重要度的算法,进行片段选择。根据各类别的排序重要度决定各类运动学片段在最终工况曲线中的时间占比。
最终构建了两条工况曲线
工况一 此外还对基于元片段的构建方法进行了全面仔细的讨论分析
模型评估
模型评估方面,则主要是利用特征参数法进行评估,比较参数偏差进行效果优劣的分析。此外,我们还用偏差-方差工具对评估方法进行了一些讨论。
存在的缺点
总的来说,顺利地完成了建模任务;然而在模型上创新不够,前期编程实现时效率比较低,耽误了一些思路的实现,略有遗憾。
论文结构
论文组织方面,用的比赛的标准模板,不再赘述。写作中每节的分析和总结是我们写作的重点,因为阅卷中老师们大概率只会看文章的开头和结尾或者每节的开头和结尾。
总结
首次参加研究生数学建模,并且顺利完赛。比赛的几天里每个人都很辛苦,感谢大家的努力和坚持!交完论文的那一刻,整个人都特别轻松,仿佛获奖与否都不重要。非常遗憾的是,”建模峡谷队“一直在建模却没有去”峡谷“(哭
网友评论