2023.4.16 第四十九次周报-2

news2024/11/16 15:58:21

目录

前言

文献阅读 :基于动态分类的长短期记忆网络模型,用于不同气候区日流量预报

背景

主要贡献

思路

动态分类 (DC) 方法

DC-LSTM 和 DC-B-LSTM 模型

Box -Cox数据转换

模型性能评估指标

克里金插值源码总结

第一部分

第二部分

第三部分

总结


前言

This week I read an article that introduced a new integrated modeling method called DC-LSTM model, which combines dynamic classification and LSTM deep learning models. The goal is to improve traffic prediction by more accurately classifying data into low, medium, and high flow states. In addition, before applying the LSTM model (DC-B-LSTM model), Box-Cox transformation is used to convert non-normal distribution of flow data to further improve the model performance. This week, I continued to analyze the source code of Kriging interpolation and hope to make modular improvements based on a clear understanding of the source code.

本周我读了一篇文章,这篇文章说的是开发了一种将动态分类方法与LSTM深度学习模型相结合的新型集成建模方法(DC-LSTM模型),通过更准确地将数据分类为低、中、高流状态来改进流量预测。此外,在应用 LSTM 模型(DC-B-LSTM 模型)之前,使用 Box-Cox 变换转换非正态分布的流数据,以进一步提高模型性能。本周继续对克里金插值的源码展开分析,希望在能够分析清楚源码的基础上进行模块化的改进。

文献阅读 :基于动态分类的长短期记忆网络模型,用于不同气候区日流量预报

--Haibo Chu, Jin Wu, Wenyan Wu, Jiahua Wei,
A dynamic classification-based long short-term memory network model for daily streamflow forecasting in different climate regions,
Ecological Indicators,
Volume 148,
2023,
110092,
ISSN 1470-160X,
https://doi.org/10.1016/j.ecolind.2023.110092.

背景

日流量预报是决定流水生态过程、健康溪流生态和周边环境的重要因素,准确的河流量预报为生态评估、管理和决策提供了有力的基础。最近,针对不同流态的数据驱动模型在流量预测方面显示出巨大的潜力。然而,不同流态之间的边界是任意选择的,没有考虑现实世界中经常随时间变化的边界变化。

主要贡献

  • 适用于日常的新型混合动力型 DC-LSTM集成建模开发预测。
  • 检查该模型以预测不同气候区域的流量。
  • 集成 LSTM 和动态分类可以提高流量预测的性能。
  • Box -Cox数据转换可以进一步提高干旱地区的模型性能。

思路

该文提出一种将动态分类方法与无需数据转换的长短期记忆网络(LSTM)模型(DC-LSTM模型)和具有Box-Cox数据变换的LSTM(DC-B-LSTM模型)耦合的集成建模方法,以提高考虑不同流态的流量预测性能。动态分类的边界是相关水文变量的动态变化区间值,传统分类方法仅使用静态单变量阈值,因此动态分类可以更充分地探索水文数据的关系和信息。

动态分类 (DC) 方法

采用动态分类方法表示三种不同流态,没有明确的边界(如降雨量、径流或降雨径流比等水文变量的常数值),并根据获得的模型性能评价指标自动调整边界。边界是相关水文变量的动态变化间隔值。它是在传统的静态单变量阈值分类方法的基础上开发的。基于阈值的分类方法的详细信息由 Chu 等人 (2021) 提供。但是,与传统的静态分类不同,动态分类不使用静态阈值来定义不同流态之间的边界。传统静态分类方法和动态分类方法之间的区别可以用一个例子来最好地解释。

假设有200个降水流样本,范围为0-100 mm,基于静态分类方法,根据预定义的阈值将样本分为20个子集,如80 mm和0 mm。换句话说,如果降水值在 20 和 1 mm 的范围内,则样本将被分类为子集 21;如果降水值在 80 和 2 mm 范围内,则样本将被分类为子集 81,如果降水值在 100 和 3 mm 范围内,则样本将被分类为子集 1。但是,基于动态分类方法,阈值的设置方式允许不同数据子集之间的重叠。例如,子集 0 的降水范围可以定义为 [30, 2 mm],子集 20 的降水范围可以定义为 [80 mm, 3 mm],子集 70 的降水范围可以定义为 [100 mm, <> mm]。不同数据子集之间的阈值和重叠可以根据不同预测模型的性能需求进行动态调整。根据上述分类方案,相关模型性能评价指标,如相关系数(R2),对于示例,可能达到 0.70,但所需的值可能是 0.80;因此,子集 1、2 和 3 的降水范围可分别调整为 [0, 35 mm]、[25 mm, 75 mm] 和 [65 mm, 100 mm]。然后,可以使用新的分类结果训练 LSTM 模型,直到满足性能要求。通过这种方式,动态分类导致数据子集在没有明确边界的情况下最佳地表示三种不同的流态,从而充分反映了现实世界中不同流态之间边界的模糊性。

DC-LSTM 和 DC-B-LSTM 模型

开发了一种将动态分类方法和LSTM深度学习方法(无需数据转换的DC-LSTM模型)相结合的集成建模方法,以改进流流预测。第一步,动态分类方法用于将所有样品分类为三个子集,这些子集根据低、中和高流制度的预定义阈值定义重叠范围。在第二步中,训练 LSTM 模型以映射每个流态中每个影响变量和流之间的关系。第三步,如果不满足所选预测模型的性能要求,则动态调整不同数据子集的阈值。然后,使用新的分类子集训练 LSTM 模型,直到满足性能要求。

Box -Cox数据转换

然而,在许多情况下,溪流序列不服从正态分布并且高度偏斜,这将影响使用数据驱动方法进行溪流预测的准确性。因此,采用 Box–Cox 数据转换将偏态流数据转换为正态分布。Box-Cox 变换表示如下:

yt是原始变量,zt是转换后的变量,并且\lambda是博克斯-考克斯系数 

因此,本研究基于DC-LSTM模型开发了DC-B-LSTM模型。在 DC-LSTM 模型中的第一步之后,将添加一个额外的步骤。Box–Cox 函数用于将非正态分布的数据流数据转换为近似正态分布的数据。然后,开发LSTM模型,并动态调整阈值,直到满足性能要求。DC-LSTM和DC-B-LSTM模型的示意图如图3所示。

模型性能评估指标

 

 

克里金插值源码总结

第一部分

1.首先是导入模块和函数,是实现克里金插值的工具

2.定义了许多函数,并且给了默认值

3.配置伪逆变量

在克里金插值中,伪逆矩阵是一个关键的工具,用来求解预测点处的属性值。

4.建立初始的变差函数模型和参数(变差函数就是半方差函数

5.检查有没有给出GSTools协方差模型

GSTools是一个Python库,用于生成几何和空间统计模型。其中包括一些经典的协方差函数(也称为协方差模型),如指数、高斯和球形等。协方差函数描述了不同空间点之间的相关性,可以用来建立克里金插值模型,在地质学、气象学、水文学等领域广泛应用。

6.保存模型,并且保证模型是一维或者二维的。

7.检查坐标类型是否匹配

8.把x,y,z转化成一维数组

9.调整各向异性,并且调整了x,y

10.数据预处理,计算出已知点之间的半方差值

11.确定目前使用的变差函数模型和参数

12.给出了计算delta,sigma和espilon的方法,并且用这些值可以计算克里金插值预测误差的统计量:Q1,Q2,cR。

第二部分

1.更新变差函数模型

2.建立模型和参数

3.检验是否给出协方差模型

4.保存模型

5.检查坐标类型是否匹配

6.检查输入的各向异性缩放和角度参数与当前实例中的参数是否相同,并修改

7.数据预处理(跟第一部分的一样)

首先将参数格式修改到合适的,然后初始化变差模型,计算距离和方差

该函数采用 self.X_ADJUSTED、self.Y_ADJUSTED 和 self.Z 等参数来计算半方差函数(semivariance)和变差函数(variogram),并返回计算结果及变差模型的参数。

8.输出模型的具体参数信息

9.计算统计量

  • delta:点对之间的距离
  • sigma:所有以 delta 距离分隔的点对的平均半方差
  • epsilon:实验半方差和相同距离处的计算半方差之间的差值。

然后使用这些值计算 Q1Q2 和 cR

10.绘制变差函数模型和实际分组数据的图形

11.在滞后距离上计算变差函数的值

滞后距离是用来描述相邻样本点之间的距离关系的,它通常会在半方差函数的计算中被使用到。具体地说,对于每个h值,可以计算出所有距离为hi​=h的样本点对的半方差值,然后取平均值作为该\bar{h}值下的半方差函数值。这样就得到了一组关于\bar{h}的半方差函数值,从而可以进一步建立克里金插值模型。

12.在打印输出时切换对话模式,在绘图时切换绘图模式(不重要)

13.拟合残差值,并绘制变差函数拟合的残差值图

在克里金插值中,拟合残差值是指预测值与实际值之间的差异。在进行克里金插值时,通常会使用部分样本点来训练模型,然后用剩余的样本点测试模型的预测效果。如果预测值与实际值之间存在较大误差,说明训练出的模型不够准确,需要对其进行优化。

14.返回变差函数拟合的Q1、Q2和cR三个统计量,打印变差函数拟合的Q1、Q2和cR三个统计量

第三部分

1.组装克里金矩阵\star

先生成xy二维数组,然后计算出每两个点之间的距离

创建一个(n+1)×(n+1)的二维矩阵a,元素均初始化为0。其中,前n行、前n列分别为从点集中选出的n个点之间的半方差,而第n+1行、第n+1列则表示未知点与其他点之间的半方差。

遍历矩阵a的前n行和前n列,用半方差公式计算每对已知点之间的半方差,并将结果赋给相应的a元素;再将主对角线上的所有元素设为0;最后,将第n+1行和第n+1列的所有元素设为1,将a[n, n]设为0。

2.克里金的解法,一共三种,求预测值z和方差:

2-1方法_exec_vector将kriging系统作为矢量化操作进行求解

2-2方法_exec_loop通过循环遍历所有指定点来解决kriging系统

2-3方法_exec_loop_moving_window通过循环遍历所有指定点来解决kriging系统,但与_exec_loop方法不同,该方法使用了移动窗口技术来减少计算量。

3.Ordinary Kriging的插值方法

总结

想要做出LSTM-Kriging模型,有两个要求

第一,训练出一个LSTM模型用以模拟高斯扩散模型

第二,使用LSTM替换克里金插值过程中的半方差函数拟合方法

目前的难点是如何优化克里金插值的半方差拟合过程,希望在下周可以有新的进展。

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

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

相关文章

网络连通性测试-防甩锅套路

一、前言 为什么要写这个东西呢&#xff1f;怎么涉及到甩锅呢&#xff1f;说白了就是在各种对接过程中&#xff0c;总会遇到一些喜欢甩锅的人&#xff0c;说是你的问题&#xff0c;什么网络没毛病&#xff0c;是你的接口什么的不对&#xff0c;总之就是你的问题~ 这时候什么最…

游戏解密之常见网络游戏同步方式分析

一、为什么需要有同步呢&#xff1f; 同步机制是用来维护游戏的一致性&#xff0c;通俗的说就是虚拟世界中的事实&#xff1b;比如在CF中&#xff0c;大家的PING都很高&#xff0c;A和B两个玩家同时发现了对方&#xff0c;并向对方开火&#xff0c;如果没有很好的同步机制&…

50 Projects 50 Days - Rotating Navigation Animation 学习记录

项目地址 Rotating Navigation Animation 展示效果 Rotating Navigation Animation 实现思路 结构主要分为两部分&#xff0c;绕左上角旋转的部分&#xff1a;包括按钮圆盘和内容区&#xff0c;以及左下角移出的导航栏部分。 整个界面只在左上角圆盘的按钮点击时发生改变…

Sarsa VS Q-Learning

前言 1.如何计算价值函数&#xff1f; 为了使模型训练的最好&#xff0c;学习到更多有用的知识即完成任务的最好策略。对策略好坏的评价标准自然是得到最多最好的奖励&#xff0c;那么如何找到最好的最好的奖励&#xff0c;即如何得到最好的价值函数&#xff1f; 首先对于在状…

Leetcode.2280 表示一个折线图的最少线段数

题目链接 Leetcode.2280 表示一个折线图的最少线段数 Rating &#xff1a; 1681 题目描述 给你一个二维整数数组 stockPrices&#xff0c;其中 stockPrices[i] [dayi, pricei]表示股票在 dayi的价格为 pricei 。折线图 是一个二维平面上的若干个点组成的图&#xff0c;横坐标…

ROS学习——艰辛的环境安装之路一Ubuntu

文章目录Ubuntu安装和下载页面设置安装Vmware Tools安装VSCODE用几个常用命令简单熟悉下UbuntuUbuntu 安装和下载 Ubuntu的安装和下载 看这个链接 Ubuntu安装和下载1 或者这个链接 Ubuntu安装和下载2 页面设置 安装Vmware Tools 看这个链接 VMware Tools的介绍和安装 安装…

算法训练第五十五天 | 392.判断子序列、115.不同的子序列

动态规划part15392.判断子序列题目描述思路总结115.不同的子序列题目描述思路392.判断子序列 题目链接&#xff1a;392.判断子序列 参考&#xff1a;https://programmercarl.com/0392.%E5%88%A4%E6%96%AD%E5%AD%90%E5%BA%8F%E5%88%97.html 题目描述 给定字符串 s 和 t &…

RabbitMQ 基础篇 | 黑马

目录 一、RabbitMQ简介 1、AMQP 2、基本概念 3、工作模式 4、JMS 5、小结 二、快速入门 简单模式 生产者 消费者 三、工作模式 1、Work queues 工作队列模式 2、Pub/Sub 订阅模式 3、Routing 路由模式 4、Topics 通配符模式 四、SpringBoot整合RabbitMQ 1、生产…

ESP32设备驱动-BME680环境传感器驱动

BME680环境传感器驱动 文章目录 BME680环境传感器驱动1、BME680介绍2、硬件准备3、软件准备4、驱动实现1、BME680介绍 BME680 是一款集成环境传感器,专为尺寸和低功耗是关键要求的移动应用和可穿戴设备而开发。 BME680 扩展了 Bosch Sensortec 现有的环境传感器系列,首次集成…

电影《龙马精神》观后感

上周看了龙叔的电影《龙马精神》&#xff0c;整体故事围绕着一匹马而展开的&#xff0c;因为这匹马&#xff0c;饰演罗师傅的龙叔&#xff0c;被小混混催债&#xff0c;因为这匹马&#xff0c;罗师傅才有机会和女儿接触&#xff0c;因为这匹马&#xff0c;才有机会看见女婿。 看…

数据结构-排序

本节目标&#xff1a; 1.排序的概念及其运用 2.常见排序算法的实现 3.排序算法复杂度及稳定性分析 1.排序的概念及其应用 1.1排序的概念 排序就是按照某个我们设定的关键字&#xff0c;或者关键词&#xff0c;递增或者递减&#xff0c;完成这样的操作就是排序。 1.2排…

打开组策略提示:无法为文件xxx找到适当的资源文件,错误=2的解决方法

最近把自己的电脑升级成win11了&#xff0c;出现了一些bug&#xff0c;不见得是win11系统的问题&#xff0c;也可能是某个过程出现了问题&#xff0c;出现了问题咱就解决&#xff0c;参考了几个文档和视频&#xff0c;最终解决了&#xff0c;记录一下。 打开本地策略出现问题如…

7.Java中的String类、常用类及包装类

Java中的String类、常用类及包装类 一、String类 1、String类定义 String 类代表字符串。Java 程序中的所有字符串字面值&#xff08;如 “abc” &#xff09;都作为此类的实例实现。字符串是常量&#xff1b;它们的值在创建之后不能更改。字符串缓冲区支持可变的字符串。因为…

2023爱分析·中国城市轨交智能运维市场厂商评估报告:逸迅科技

报告编委 张扬 爱分析联合创始人&首席分析师 王鹏 爱分析分析师 目录 1. 研究背景 2. 市场综述 3. 市场分析 4. 厂商评估&#xff1a;逸迅科技 5. 最佳实践案例 1. 研究背景 轨道交通是我国国民经济的命脉和交通运输的骨干网络&#xff0c;不仅承担了绝大…

RocketMQ 消息发送源码解读

可靠同步发送、可靠异步发送、单向发送、批量消息发送。 RocketMQ 消息发送需要考虑以下3个问题。 1&#xff09;消息队列如何进行负载&#xff1f; 2&#xff09;消息发送如何实现高可用&#xff1f; 3&#xff09;批量消息发送如何实现一致性&#xff1f; org.apache.rocketm…

基于SpringBoot+微信小程序的失物招领小程序

基于SpringBoot微信小程序的失物招领小程序 ✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取项目下载方式&#x1f345; 一、项目…

通达信欧奈尔RPS指标公式编写和设置方法(完全版)

通达信欧奈尔RPS指标公式的编写和设置较为复杂&#xff0c;对于初学者来说可能具有一定挑战性。在编写口袋支点公式时&#xff0c;需要使用RPS指标公式作为基础条件&#xff0c;因此有必要先了解其编写和设置方法。 一、上市一年以上选股 首先选出上市一年以上的股票&#xff…

python实现折线图和条形图

画图的部分函数 pandas 读取数据 相关包&#xff1a;import pandas as pd 函数&#xff1a;dfpd.read_excel(“文件名”) #读取excel文件 df.head(n)#查看前n行 df.tail(n)#查看后n行 df.shape #查看行数和列数 df.columns # 查看列索引 df.index #查看行索引 df.info() #查看…

怎样恢复删除的视频?视频恢复,4个方法!

案例&#xff1a;怎样恢复删除的视频 【谁懂啊&#xff01;电脑里视频太多了太占内存&#xff0c;本想删除一些不太重要的&#xff0c;但却删错了&#xff01;有朋友知道怎样恢复删除的视频吗&#xff1f;】 在数字化时代&#xff0c;我们经常使用电脑来存储和管理各种视频文…

股票量比实时筛选报警

一.什么是股票的量比 量比是短线投资一个参考指标&#xff0c;是衡量相对成交量的一个数值和指标&#xff0c;用于反映股票交易相对于以往的活跃程度&#xff1b;是指在股市开盘以后&#xff0c;平均每一分钟的成交量与过去五个交易日平均每分钟交易量的比。反映股票相对最近5…