技术标签: 人生随笔
利用LSTM对内河船舶多源监测数据进行多任务分析和建模
[1]. Yuan, Z., et al., A multi-task analysis and modelling paradigm using LSTM for multi-source monitoring data of inland vessels. Ocean Engineering, 2020. 213: p. 107604.
摘要
船舶监测数据为人们实时了解船舶动态状态、进行船舶管理和运营决策提供了重要信息。但是,一些基本数据可能不完整或不可用。为了恢复或预测缺失信息,更好地利用船舶监测数据,本文结合统计分析、数据挖掘和神经网络方法,提出了一种内河船舶多源监测数据的多任务分析和建模框架。具体来说,建立长短期神经网络(LSTM)模型,并用于解决三个重要的任务,包括船舶轨迹修复,发动机转速建模和燃料消耗预测。所开发的模型已经使用真实船舶监测数据进行了验证,并显示出优于其他一些广泛使用的建模方法。此外,采用了统计和数据技术进行数据提取、分类和清理,并设计了一种识别船只航行状态的算法。
要点
1、根据需要来进行预处理。比如这篇文章是:按以下5个步骤来的:(1)按MMSI码;(2)根据每艘船的数据按航次进一步划分。即航次划分;(3)根据经纬度,按航段划分;(4)数据分类,按日期时间分类;(5)异常数据清洗。
注意:这里的数据是根据一整条船在长江干线的活动,所以可以根据航次来划分,分析相关航次内航段的船舶行为或其他研究。而我们的数据仅有长江武汉段,那么我们如果说做研究,要怎么来分?目前是全部有mmsi来分类的数据。所以还得根据具体情况来选择处理办法。
2、利用LSTM双向神经网络来对缺失的轨迹进行重建修复。
3、利用LSTM对SOG、COG(输入)跟主机转速(输出)建模。
4、利用LSTM对SOG、COG、主机转速(输入)跟油耗(输出)建模。
NOTICE:LSTM建了3个模,还跟其他BP神经网络(单层、双层)对比分析。LSTM第一次被应用于与内河船舶监控相关的应用中,并且第一次以数据驱动的方式开发了发动机速度模型。(这个建模想到了之前实验室一个同学拿船舶吨位跟船舶尺寸建模的一个作业。有点意思)
5、建立一个判断船舶航行行为的算法,即船是航行状态,还是停泊、临时停靠。具体方法是计算时间间隔δt内的平均SOG和平均发动机转速。然后将平均值与SOG和发动机转速的阈值SOG0和ES0进行比较,以决定导航状态。根据对SOG和发动机转速的初步分析,设定δt = 10分钟,SOG 0 = 1公里/小时,ES0= 300。伪码如下:
轨迹修复还可以研究吗?
也就是说,当一个路由器从IBGP对等体收到一条路由更新信息,在把它通告给它的EBGP对等体之前,要试图验证该目的地能否通过自治系统内部到达(即验证该目的地是否存在于IGP发现的路由表内,非BGP路由器是否可以传递报文到该目的地)。如图所示,RTB会把去往10.1.1.0/24的路由信息封装在BGP报文中,通过由RTB、RTE建立的TCP连接通告给RTE,如果RTE不考虑同步问题,直接接受了这条路由信息并通告给RTF。而EGP工作在AS与AS之间,在AS间提供无环路的路由信息交换,BGP则是EGP的一种。..
声明:文章zhuanzgolang的nil在概念上和其它语言的null、None、nil、NULL一样,都指代零值或空值。nil是预先说明的标识符,也即通常意义上的关键字。在golang中,nil只能赋值给指针、channel、func、interface、map或slice类型的变量。如果未遵循这个规则,则会引发panic。对此官方有明确的说明:http://pkg.golang.org
树莓派4B 使用 Intel Realsense D435i 深度相机指南_发哥爱开源的博客-程序员宅基地树莓派4b连接RealSense T265_千人斩的博客-程序员宅基地_树莓派上安装435
实验环境:kali-2018Bettercap-2.6(网上对这个最新版的教程少之又少)外置网卡 TP-LINK的WN722N (测试的是wifi,网卡给kali虚拟机用的)bettercap安装:apt-get install bettercapARP欺骗及流量嗅探ARP欺骗原理网上很多,这里就不赘述了,贴上几个链接:https://segmentf...
解决报错:[webpack-cli] Invalid configuration object. Webpack has been initialized using a configuration object that does not match the API schema.
包含end=''作为print()BIF的一个参数,会使该函数关闭“在输出中自动包含换行”的默认行为。其原理是:为end传递一个空字符串,这样print函数不会在字符串末尾添加一个换行符,而是添加一个空字符串。这个只有Python3有用,Python2不支持。如下图所示:_pythonprint("%d" % i, end='')
1、降低耦合,简化开发 通过Spring提供的IoC容器,我们可以将对象之间的依赖关系交由Spring进行控制,避免硬编码所造成的过度程序耦合。2、提高代码的重用性 Spring可以尽量避免在程序中硬编码。(硬编码:是指将可变变量用一个固定值来代替的方法。)3、方便程序的测试 可以用非容器依赖的编程方式进行几乎所有的测试工作。4、Spring可以使系统架构更容易选择。..._spring技术特点
开篇继上篇,本篇教你如何用 Kotlin+Anko 更简洁地自定义控件。假如我们需要定义效果如下的控件:一个横向的LinearLayout包含三个子控件:ImageView、TextView、ImageView。1、自定义控件,代码很简单,MyItemLayout.kt:open class MyItemLayout : LinearLayout {private lateinit var ico..._org.jetbrains.anko customview
**作者:张华 发表于:2016-08-05 版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明 http://blog.csdn.net/quqi99 )**For example, we want to use qemu 1:2.2+dfsg-5expubuntu9.6~cloud0, but those packages don’t exist an
在SQL语句优化过程中,我们经常会用到hint,现总结一下在SQL优化过程中常见Oracle HINT的用法:1. /+ALL_ROWS/表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化.例如:SELECT /+ALL+_ROWS/ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO=‘SCOTT’;2. /+FIRST_ROWS/表明对语句块选择基于开销的优化方法,并获得最佳响应时间,使资源消耗最小化.例如:SELECT _oracle hint语法
什么是GradleJava作为一门世界级主流的编程语言 , 有一款高效易用的项目管理工具 , 是java开发者共同追求的心愿和目标 , 先是2000年的Ant , 后2004年的Maven两个工具的诞生 , 都在java市场上取得了巨大的成功 , 但是二者都有一定的不足和局限性 。2021年基于Ant和Maven产生的Gradle , 弥补了Ant和Maven的不足 , 带来了一些更高效的特点 , 它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置 , 抛弃了基于XML的各种繁琐的配置 ,
实验五 数据库完整性【实验目的】 1、掌握实体完整性约束、参照完整性约束 2、灵活应用自定义完整性约束 3、了解触发器在自定义完整性中的应用【实验内容】一、定义一个教师表Teacher(Tno,TName,TSex,TAge,TSal,TJob,TDept)要求:...