铁路轨道不平顺数据分析与预测
铁路轨道不平顺数据分析与预测
1.引言
铁路轨道作为铁行车的基础设施,是铁路线路的重要组成部分。随着经济和交通运输业的发展,我国的铁路运输正朝着高速和重载方向迅速发展,与此同时,轨道结构承受来自列车荷载、运行速度的冲击和列车的振动等各方面的作用力不断增大,不仅加速了铁路轨道设备的损坏,由此产生的轨道不平顺问题会严重影响车辆行,乘客的舒适度以及设备的使用寿命等,存在非常严重的安全隐患。
在铁路运营过程中,轨道在列车不稳定荷载的反复作用下容易发生一定的几何形变,这其中有些是垂直向和横向的动态弹性变形,有些则是永久变形,而这些现象都统称为轨道不平顺
轨道的不平顺会引起列车的振动和轮轨作用力不断变化,不仅影响列车的舒适度,降低轨道与列车部件的使用寿命,甚至可能导致列车脱轨,严重威胁行车安全。其中,轨道的高低不平顺容易激起列车的垂向振动,导致轮轨间作用力大幅减小,甚至造成轮轨分离,使得列车存在悬浮和脱轨的危险。
本项目需要对高速铁路实际运营过程中测量的动检数据进行分析,得到滑动轨道质量指数TQI。进行高低不平顺劣化预测,根据预测结果对模型的预测效果进行评价。
项目目标:
1.分析所给轨道动检数据的滑动轨道质量指数,并结合相应规范给出轨道质量验收报告。
2.根据计算得到的高低不平顺标准差,构建时间序列预测分析模型,预测未来一年的高低不平顺劣化趋势,并采用均方误差和均方根误差对预测模型的结果进行评价。
2.数据预处理
使用python中的pandas库函数读入数据,并对数据进行初步的处理。
对于2016年1月至2021年12月共计12个月的月度数据读取至dataframe结构,如图2.1所示,一共有:里程(m),轨距(mm),超高(mm),左轨向(mm),右轨向(mm),左高低(mm),右高低(mm),三角坑(mm),水平(mm)共计9个属性。
画出数据分布的箱线图,使用箱线图判断是否存在在可信范围之外的异常数据。箱形图(Box-plot)又称箱线图,是一种表征一组数据分散情况的统计图,主要用于体现原始数据分布的特征,还可以进行多组数据分布特征的比较。箱形图包括最小值(min),下四分位数(Q1),中位数(Xm),上四分位数(Q3)和最大值(max);如图 3-2 所示,绿色矩形框的上下两端边的位置分别对应数据的上、下四分位数(Q3、Q1);矩形框内部的蓝色线段为中位线对应中位数(Xm)。上四分位数与下四分位数之间的距离是数据分布的一种简单度量,它给出被数据的中间一半所覆盖的范围。该距离称为四分位数极差(IQR)。
因此,最大值(max)定义为 Q3+1.5IQR;最小值(min)定义为 Q3-1.5IQR。基于此,视大于最大值(max)或小于最小值(min)的数据为离群点。
图2.2 数据箱线图
由图2.2可以观察到,数据的轨距,水平,左高低等属性存在较多的离群点即异常数据,这里采用最大最小值异常值替换的方式进行异常值处理。处理之后的箱线图如图2.3所示,所有数据都在可信范围之内。
3.滑动TQI的计算
轨道质量指数是评价单元区段整体不平顺的重要指标。目前,我国釆用的计算方法,主要是通过计算200米单元区段内轨距,左右高低,左右轨向,水平超高以及三角坑等共7个单项的不平顺幅值标准差之和来获得的,能综合反映该区段的整体不平顺状态以及轨道恶化程度。通过对所有轨道单元区段的TQI数值排序可以确定需要重点维修的区段,所以TQI是我国铁路工务部门指导线路维修最重要的指标。
根据工务部门多年的管理经验表明,对轨道区段TQI进行长期的监测和分析,有利于现场维修人员及时掌握轨道状态的改善或者恶化情况以及未来的发展趋势,从而更有效率的编制维修计划。
TQI 以 200 m 长度轨道区段作为计量单元,对单元区段内的轨道几何进行统计,用标准差来表示单 项轨道几何不平顺状态,而 TQI 则为一个单元区段内左高低、右高低、左轨向、右轨向、轨距、水平和 三角坑等七个单项几何不平顺标准差之和,计算方法如下列公式:
由上述TQI的定义,可以得到滑动TQI的计算方法。以1为滑动TQI的移动步长,以800为滑动TQI的移动窗长。以2016年1月的测量数据为例,可以得到滑动TQI结果图见图3.1:
画出2020年1月的TQI沿里程变化图与2016年1月滑动TQI沿里程变化图作比较:
由图3.2可以得出,从2016年至2020年,轨道的区段的状态发生了明显恶化,且在部分区段恶化非常显著。
4.高低不平顺劣化预测
在列车运行的过程中,因轨道不平顺而产生的列车振动加速度对货车以及客车的运行均有影响,主要的影响货车的安全性,客车的舒适性等。由于近年来铁路大面积提高运行效率,朝着高速和重载方向的发展,对轨道结构提出了更高的要求,除了应该具备必要的强度外,还要保持良好的几何形位。为此国内外铁路部门及研究机构都加强了对轨道几何变形的检测。
轨道几何不平顺的变化特征是轨道上大量样本检测点的几何不平顺随时间及车俩载荷重复作用下,表现出共有或者相似的特征,反映了轨道几何不平顺的一般规律。本章采用SARIMA模型进行轨道高低不平顺劣化预测。
我们以K44+074段的左高低为例进行研究,首先画出K44+074段的左高低标准差在2016年1月至2020年12月的变化趋势如图所示:
我们选取2016年1月至2019年12月的数据作为训练集,2020年全年的数据作为验证集,使用SARIMA模型进行建立预测模型。
得到ACF与PACF图像如图所示:
由图4.1可知,最佳的SARIMA模型为SARIMA (0, 1, 1)。
使用SARIMA(0, 1, 1)模型对2020年轨道高低不平顺标准差进行预测可以得到结果如所示:
参考代码:
135. TQI=[]
136. for i in range(0,len(data1)-800):
137. temp_data=data.loc[data.index[i:i+800]]
138. a1=np.array(temp_data['三角坑(mm)'])
139. a2=np.array(temp_data['右轨向(mm)'])
140. a3=np.array(temp_data['右高低(mm)'])
141. a4=np.array(temp_data['左轨向(mm)'])
142. a5=np.array(temp_data['左高低(mm)'])
143. a6=np.array(temp_data['轨距(mm)'])
144. a7=np.array(temp_data['水平(mm)'])
145. re=a1.std()+a2.std()+a3.std()+a4.std()+a5.std()+a6.std()+a7.std()
146. TQI.append(re)
147. import matplotlib.pyplot as plt
148. import numpy as np
149. import matplotlib
150. matplotlib.rc("font",family='KaiTi')
151.
152. x=np.arange(0,4800,0.25)
153.
154. plt.title("2016年1月滑动TQI沿里程变化图")
155. plt.xlabel("里程(m)")
156. plt.ylabel("TQI")
157.
158. plt.plot(x,TQI)
159.
160. # 2020年1月滑动TQI沿里程变化的序列数据
161. TQI_2=[]
162. for i in range(len(data1)*48,len(data1)*49-800):
163. temp_data=data.loc[data.index[i:i+800]]
164. # python中对于矩阵的计算尽量不要在DataFrame中,效率非常低。应该使用numpy
165. a1=np.array(temp_data['三角坑(mm)'])
166. a2=np.array(temp_data['右轨向(mm)'])
167. a3=np.array(temp_data['右高低(mm)'])
168. a4=np.array(temp_data['左轨向(mm)'])
169. a5=np.array(temp_data['左高低(mm)'])
170. a6=np.array(temp_data['轨距(mm)'])
171. a7=np.array(temp_data['水平(mm)'])
172. re=a1.std()+a2.std()+a3.std()+a4.std()+a5.std()+a6.std()+a7.std()
173. TQI_2.append(re)
174.
175. x=np.arange(0,4800,0.25)
176.
177.
178.
179. plt.plot(x,TQI,label='2016年1月')
180. plt.plot(x,TQI_2,label='2020年1月')
181.
182. plt.title("滑动TQI沿里程变化图")
183. plt.xlabel("里程(m)")
184. plt.ylabel("TQI")
185. plt.legend()
186.
187. input_data=[]
188. for i in range(72):
189. temp_data=data.loc[data.index[len(data1)*i+16000:len(data1)*i+20000]]
190. temp=np.array(temp_data['左高低(mm)'])
191. input_data.append(temp.std())
192.
193. from matplotlib.pyplot import MultipleLocator
194. #从pyplot导入MultipleLocator类,这个类用于设置刻度间隔
195.
196. fig = plt.figure(figsize=(15,5)) # 设置画布大小
197. plt.ylim(0.1,1) # y轴显示范围
198. plt.plot(input_data[0:60],'o-')
199.
200. from statsmodels.graphics.tsaplots import plot_acf, plot_pacf # 画图定阶
201.
202. def draw_acf(data):
203. # 利用ACF判断模型阶数
204. plot_acf(data)
205. plt.title("序列自相关图(ACF)")
206. plt.show()
207.
208. def draw_pacf(data):
209. # 利用PACF判断模型阶数
210. plot_pacf(data)
211. plt.title("序列偏自相关图(PACF)")
212. plt.show()
213.
214. def draw_acf_pacf(data):
215. f = plt.figure(facecolor='white')
216. # 构建第一个图
217. ax1 = f.add_subplot(211)
218. # 把x轴的刻度间隔设置为1,并存在变量里
219. x_major_locator = MultipleLocator(1)
220. plot_acf(data, ax=ax1)
221. # 构建第二个图
222. ax2 = f.add_subplot(212)
223. plot_pacf(data, ax=ax2)
224. plt.subplots_adjust(hspace=0.5)
225. # 把x轴的主刻度设置为1的倍数
226. ax1.xaxis.set_major_locator(x_major_locator)
227. ax2.xaxis.set_major_locator(x_major_locator)
228. plt.show()
229.
230. draw_acf_pacf(np.array(train_data))
全部代码见:https://download.csdn.net/download/weixin_44026026/87657283
相关文章:

铁路轨道不平顺数据分析与预测
铁路轨道不平顺数据分析与预测 1.引言 铁路轨道作为铁行车的基础设施,是铁路线路的重要组成部分。随着经济和交通运输业的发展,我国的铁路运输正朝着高速和重载方向迅速发展,与此同时,轨道结构承受来自列车荷载、运行速度的冲击…...

好家伙,9:00面试,9:06就出来了,问的实在是太...
从外包出来,没想到死在另一家厂子 自从加入这家公司,每天都在加班,钱倒是给的不少,所以也就忍了。没想到2月一纸通知,所有人不许加班,薪资直降30%,顿时有吃不起饭的赶脚。 好在有个兄弟内推我去…...

【MySQL】数据库约束和聚合函数的使用
目录 上篇在这里喔~ 1.数据库约束 1.NULL约束 2.UNIQUE唯一约束 3.DEFAULT默认值约束 4.PRIMARY KEY主键约束 5.FOREIGN KEY外键约束 2.表的设计 1.设计思路编辑 2.固定套路编辑 2.1一对一关系 2.2一对多关系 编辑 2.3多对多关系 编辑编辑编辑 3.插入…...

SpringMvcFoundation
SpringMvcFoundation 一. SpringMVC简介1.1 优点二.Spring入门案例2.1 导入坐标2.2 编写SpringBoot启动类2.3 编写controller2.4 入门案例工作流程分析2.4.1 启动服务器初始化过程2.4.2 单次请求过程2.5 PostMan简介2.5.1 PostMan基本使用2.6 请求与相应2.6.1 请求映射路径2.6.…...

从零学习SDK(7)如何打包SDK
打包SDK的目的是为了方便将SDK提供给其他开发者或用户使用,以及保证SDK的兼容性和安全性。打包SDK可以有以下几个好处: 减少依赖:打包SDK可以将SDK所需的库、资源、文档等打包成一个文件或者一个目录,这样就不需要用户再去安装或…...

Python OpenCV 3.x 示例:1~5
原文:OpenCV 3.x with Python By Example 协议:CC BY-NC-SA 4.0 译者:飞龙 本文来自【ApacheCN 计算机视觉 译文集】,采用译后编辑(MTPE)流程来尽可能提升效率。 当别人说你没有底线的时候,你最…...

葵铭智能面经4.18
虽然是小厂,但面的还是挺有深度的 1.自我介绍 第一个项目 2.有没有用过流协议 3.视频保存有没有切片,有没有考虑过大视频上传的性能问题 4.项目是同步的还是异步的 第二个项目 5.搜索引擎是动态的还是静态的,有没有动态的去爬取boost库…...

MyBatis 03 -MyBatis动态SQL与分页插件
动态SQL与分页插件 动态SQL与分页插件 动态SQL与分页插件1 动态SQL1.1 < sql >1.2 < if >1.3 < where >1.4 < set >1.5 < choose >1.6 < trim >1.7 < foreach > 2 mybatis缓存2.1 一级缓存2.2 二级缓存 3 分页插件3.1 概念3.2 访问与…...

4.10、字节序列转换函数
4.10、字节序列转换函数 1.字节序转换函数2.字节序转换函数有哪些3.字节序转换函数的使用 1.字节序转换函数 当格式化的数据在两台使用不同字节序的主机之间直接传递时,接收端必然错误的解释之。解决问题的方法是:发送端总是把要发送的数据转换成大端字…...

研究LLMs之前,不如先读读这五篇论文!
目标:了解 LMM 背后的主要思想 ▪️ Neural Machine Translation by Jointly Learning to Align and Translate ▪️ Attention Is All You Need ▪️ BERT ▪️ Improving Language Understanding by Generative Pre-Training ▪️ BART Neural Machine Translati…...

认识BASH这个Shell
文章目录 认识BASH这个Shell硬件、内核与shell为什么要学命令行模式的Shell?Bash Shell的功能命令与文件补全(TAB)命令别名设置(alias)历史命令(history)任务管理、前台、后台控制(jobs,fg,bg)通配符程序化脚本 查询命令是否为Bash shell 的内…...

用SQL语句操作Oracle数据库——数据更新
数据更新 数据库中的数据更新操作有3种:1)向表中添加若干行数据(增);2)删除表中的若干行数据(删);3)修改表中的数据(改)。对于这3种操作…...

二维码+互联网云技术在中建二局施工项目管理中的应用实践
中建二局(全称:中国建筑第二工程局有限公司)是世界500强企业—中国建筑股份有限公司的全资子公司,是集房建、基建、核电、火电、风电等多种建设和投资相融合的、国内最具综合实力的大型国有企业集团公司。中建二局具有土木建筑、设…...

扩散模型原理记录
1 扩散模型原理记录 参考资料: [1]【54、Probabilistic Diffusion Model概率扩散模型理论与完整PyTorch代码详细解读】 https://www.bilibili.com/video/BV1b541197HX/?share_sourcecopy_web&vd_source7771b17ae75bc5131361e81a50a0c871 [2] https://t.bili…...

Metasploit高级技术【第九章】
预计更新第一章 Metasploit的使用和配置 1.1 安装和配置Metasploit 1.2 Metasploit的基础命令和选项 1.3 高级选项和配置 第二章 渗透测试的漏洞利用和攻击方法 1.1 渗透测试中常见的漏洞类型和利用方法 1.2 Metasploit的漏洞利用模块和选项 1.3 模块编写和自定义 第三章 Met…...

RK3568平台开发系列讲解(调试篇)IS_ERR函数的使用
🚀返回专栏总目录 文章目录 一、IS_ERR函数用法二、IS_ERR函数三、内核错误码沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇将介绍 IS_ERR 函数的使用。 一、IS_ERR函数用法 先看下用法: 二、IS_ERR函数 对于任何一个指针来说,必然存在三种情况: 一种是合…...

TouchGFX界面开发 | TouchGFX软件安装
TouchGFX软件安装 TouchGFX和STemWin类似,都是一个GUI框架,可以方便的在STM32 Cortex-M4 以及更高级别的STM32芯片上创建GUI应用程序。 本文中的TouchGFX软件安装,是基于已经安装有STM32CubeMX Keil MDK-ARM开发环境的情况下进行的&#x…...

使用 IDEA 远程 Debug 调试
背景 有时候我们需要进行远程的debug,本文研究如何进行远程debug,以及使用 IDEA 远程debug的过程中的细节。看完可以解决你的一些疑惑。 配置 远程debug的服务,以springboot微服务为例。首先,启动springboot需要加上特定的参数。…...

红黑树和平衡二叉树的优缺点及应用场景
红黑树和平衡二叉树都是为了解决二叉搜索树的缺陷而提出的自平衡二叉树结构。它们的优缺点和应用场景如下: 红黑树: 优点: 时间复杂度为O(logN),可以快速查找、插入和删除。 红黑树具有良好的平衡性,树的高度保持较小,因此查找效率较高。 缺点: 实现比较复杂,需要遵守红黑树的…...

软文推广:真实有效提升软文排名与收录的三大方法!
软文是一种具有良好传播效果的文体,可以通过在搜索引擎中排名靠前的方式,为品牌或企业带来更多曝光。但是,如何让软文在搜索引擎中得到更好的收录和排名呢?在本文中,我们将讨论如何提升软文的收录和排名,以…...

SElinux的介绍及配置
SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux历史上最杰出的新安全子系统 SELinux安全增强型Linux系统,是Linux内核子系统,旨在最大限度的减少服务进程对文件、端口等资源…...

vscode-python环境配置
vscode-python环境配置 1、环境基础 下载vscode找到python插件并安装安装python环境并配置环境变量 2、选择python解释器 尝试执行了一下,直接运行py文件,会使用c的调试工具,需要告诉vscode哪些是python Ctrl Shift P打开命令面板 执行…...

问卷调查样本量的确定方法
我们在进行问卷调查的时候,问卷的收集数量是重要的流程之一。问卷数量取决于几个因素,包括研究的目的和研究的类型。接下来,我们就聊一聊怎么确定所需的调查问卷数量。 1、确定研究目标。 确定所需问卷数量的第一步是明确研究目标。这一步是…...

ios客户端学习笔记(三):学习Swift的设计模式
设计模式是指在软件开发中常用的一些解决问题的方法和思想,它可以帮助你更好地组织代码和提高代码的可维护性。你需要学习常见的设计模式,如MVC、MVVM、单例模式、工厂模式等,在开发应用程序时应用它们。 当你学习常见的设计模式时ÿ…...

406. 根据身高重建队列
假设有打乱顺序的一群人站成一个队列,数组 people 表示队列中一些人的属性(不一定按顺序)。每个 people[i] [hi, ki] 表示第 i 个人的身高为 hi ,前面 正好 有 ki 个身高大于或等于 hi 的人。 请你重新构造并返回输入数组 peopl…...

ESP32使用ESP-NOW协议实现一对多通信和MAC地址存储
目录 介绍ESP-NOW 协议概述在 ESP32 上配置 ESP-NOW使用 ESP-NOW 进行一对多通信在 ESP32 上存储发件人的 MAC 地址代码结论 介绍 ESP32 是一款功能强大的 Wi-Fi 和蓝牙双模模块,可用于使用 ESP-NOW 协议实现低功耗、高效率的一对多通信。本文将介绍如何使用ESP-NO…...

Qt 学生信息数据库管理
1 添加样式表 我们采用了样式表 通过添加Qt resources文件 添加前缀 添加文件,将我们的图标进行添加 2 拖动部件 用到的部件 Label 标签Pushbutton 按钮table view 视图LineEdit 输入框 3 程序编写 1 配置sql环境 在 pro文件中 添加 连接数据库跟访问数据…...

相量的加减乘除计算
相量的加减乘除计算 矢量是物理学中的术语,是指具有大小(magnitude)和方向的量。如速度、加速度、力等等就是这样的量。向量是数学中的术语,也称为欧几里得向量、几何向量、矢量。与向量对应的量叫做数量,在物理学中称…...

JavaScript 代码整洁之道
文章目录 概述篇变量篇函数篇注释篇异常处理篇复杂判断函数篇重构篇代码风格常量大写先声明后调用注释 参考资料 概述篇 书写能让人读懂的代码使用英语编写代码团队协作 制定通用的规则,依靠工具让团队的代码风格保持统一,要让代码看起来是由一个人编写…...

socket 及 字节序转换(嵌入式学习)
socket 及 字节序转换 socket简介Socket为什么需要Socket?socket类型Socket通信模型 字节序主机字节序到网络字节序网络字节序到主机字节序IP地址转换 socket简介 1、1982 - Berkeley Software Distributions 操作系统引入了socket作为本地进程之间通信的接口 2、1…...