Paddlets时间序列集成模型回测实战:MLPRegressor、NHiTSModel与RNNBlockRegressor

好的,我们继续深入理解代码的每个部分。以下是每个主要模块的详细解释:

1. 导入模块和库

import json
import os
import glob
import pandas as pd
from tqdm import tqdm
from paddlets.datasets import TSDataset
from paddlets.transform import StandardScaler
from paddlets.models.forecasting import MLPRegressor, NHiTSModel, RNNBlockRegressor
from paddlets.ensemble import WeightingEnsembleForecaster
import ray
  • json: 用于处理JSON文件。
  • os: 用于处理文件和目录操作。
  • glob: 用于获取匹配特定模式的文件路径。
  • pandas: 用于数据处理和分析,尤其是表格数据。
  • tqdm: 用于显示进度条,帮助跟踪循环的进度。
  • paddlets: 时间序列预测相关的库。
  • ray: 用于并行计算的库。

2. 定义和创建目录

dirs = ["forecasting_all_result_center","pic_forecasting_center","model_forecasting_center_2048_a_b_5_100","best_forecasting_param_center"
]for dir_name in dirs:os.makedirs(dir_name, exist_ok=True)
  • dirs: 定义了多个用于存储不同类型结果的目录。
  • os.makedirs: 创建目录,如果目录已存在,则不报错。

3. 加载股票映射

with open("./stock_mapping.json", "r") as f:stock_mapping = json.load(f)
  • stock_mapping.json文件中加载股票的映射关系,以便后续使用。

4. 加载CSV数据

csv_paths = glob.glob(os.path.join("./tu_share_data_day", "*.csv"))
sum_dam_data = []for csv_path in tqdm(csv_paths):new_data = pd.read_csv(csv_path)if len(new_data) < 2048 or new_data.iloc[0, 2] < 5 or new_data.iloc[0, 2] > 100:continuenew_data = new_data[::-1].iloc[:2048]new_data['index_new'] = range(1, len(new_data) + 1)sum_dam_data.append(new_data)
  • 使用glob获取所有CSV文件路径,并遍历每个文件。
  • 读取数据并进行过滤,确保符合条件(如数据长度、价格区间)。
  • 将数据反转并取最后2048条,添加索引列。

5. 构建时间序列数据集

dam_data = pd.concat(sum_dam_data)dataset = TSDataset.load_from_dataframe(dam_data,group_id='ts_code',time_col="index_new",target_cols=['high', 'low']
)
  • 将所有符合条件的数据合并成一个DataFrame。
  • 使用TSDataset将数据转换为时间序列格式,指定分组、时间列和目标列。

6. 初始化标准化器

scaler = StandardScaler().fit(dataset)
dataset = scaler.transform(dataset)
  • 使用StandardScaler对数据进行标准化处理,使模型训练更加稳定。

7. 初始化Ray进行并行计算

ray.init()
  • 初始化Ray,使得后续的计算能够并行执行。

8. 定义并行处理函数

@ray.remote
def process_csv_file(csv_path, scaler):...
  • 使用@ray.remote装饰器定义一个可以被Ray并行化的函数,处理每个CSV文件的逻辑。

9. 设置模型参数和加载模型

nhits_params = {'sampling_stride': 24, 'eval_metrics': ["mse", "mae"], 'batch_size': 32, 'max_epochs': 100, 'patience': 10}
rnn_params = nhits_params.copy()
mlp_params = nhits_params.copy()
mlp_params['use_bn'] =

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

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

相关文章

WaterCloud:一套基于.NET 8.0 + LayUI的快速开发框架,完全开源免费!

前言 今天大姚给大家分享一套基于.NET 8.0 LayUI的快速开发框架&#xff0c;项目完全开源、免费&#xff08;MIT License&#xff09;且开箱即用&#xff1a;WaterCloud。 可完全实现二次开发让开发更多关注业务逻辑。既能快速提高开发效率&#xff0c;帮助公司节省人力成本&…

HTML+CSS 基础第三季课堂笔记

一、CSS基础概念 CSS有两个重要的概念&#xff0c;分别是样式和布局 CSS的样式分为两种&#xff0c;一种是文字的样式&#xff0c;一种是盒模型的样式 CSS的另一个重要的特性就是辅助页面布局&#xff0c;完成HTML不能完成的功能&#xff0c;比如并排显示&#xff0c;比如精…

国内访问OpenAI API

最近在学习LLM。绕不过去的肯定要学习OpenAI。 国内想直接使用官方API十分麻烦。就到处查资料及网友的分享。发现了这个代理可以在国内很方便的使用OpenAI API。 代理的地址如下&#xff1a; https://referer.shadowai.xyz/r/1014150 经过一段实际体验下来&#xff0c;这个…

JAVA全球互联同城速达国际版同城跑腿快递代取帮买帮送一体化服务系统源码

全球互联&#xff0c;便捷生活新篇章&#xff01; &#x1f31f; 开篇&#xff1a;跨越国界的即时服务革命 在这个快节奏的时代&#xff0c;你是否也曾为忙碌的生活而烦恼&#xff1f;购物、取件、送物……这些日常琐事似乎总在不经意间占据了我们宝贵的时间。但现在&#xf…

expressjs 中的mysql.createConnection,execute 怎么使用

在 Express.js 应用中使用 MySQL 数据库&#xff0c;你通常会使用 mysql 或 mysql2 这样的库来创建和管理数据库连接&#xff0c;并执行查询。然而&#xff0c;mysql.createConnection 并不直接提供 execute 方法。相反&#xff0c;你可以使用 query 方法来执行 SQL 语句。 以…

论文的研究工具有什么?推荐5款AI论文写作网站

在当今的学术研究和写作领域&#xff0c;AI工具已经成为不可或缺的助手。这些工具不仅能够提高写作效率&#xff0c;还能帮助研究者生成高质量的论文。以下是一些值得推荐的AI论文写作工具&#xff1a; 千笔-AIPassPaper 千笔-AIPassPaper是一款基于深度学习和自然语言处理技…

51单片机学习第六课---B站UP主江协科技

DS18B20 1、基本知识讲解 2、DS18B20读取温度值 main.c #include<regx52.h> #include"delay.h" #include"LCD1602.h" #include"key.h" #include"DS18B20.h"float T; void main () {LCD_Init();LCD_ShowString(1,1,"temp…

64 注意力机制_by《李沐:动手学深度学习v2》pytorch版

系列文章目录 文章目录 系列文章目录注意力机制&#xff08;或叫注意力池化&#xff09;[**生成数据集**]平均汇聚非参数注意力汇聚[**带参数注意力汇聚**]批量矩阵乘法定义模型训练 小结练习 注意力机制&#xff08;或叫注意力池化&#xff09; 卷积、全连接、池化层都只考虑…

Mac制作Linux操作系统启动盘

前期准备 一个 Mac 电脑 一个 U 盘&#xff08;8GB 以上&#xff09; 下载好 Linux 系统镜像&#xff08;iso 文件&#xff09; 具体步骤 挂载 U 盘 解挂 U 盘 写系统镜像到 U 盘 完成 一、挂载 U 盘 首先插入 U 盘&#xff0c;打开终端输入下面的命令查看 U 盘是否已经 m…

HarmonyOS NEXT:实现电影列表功能展示界面

时至今日HarmonyOS NEXT早已发布运行了&#xff0c;等其正式推出并大规模商用后&#xff0c;HarmonyOS的历史使命就完成并将退出历史舞台&#xff0c;为用户提供丰富的应用选择。但是Harmony NEXT是在HarmonyOS基础上剔除安卓&#xff08;AOSP&#xff09;后的产品&#xff0c;…

自动驾驶系列—自动驾驶MCU架构全方位解析:从单核到多核的选型指南与应用实例

&#x1f31f;&#x1f31f; 欢迎来到我的技术小筑&#xff0c;一个专为技术探索者打造的交流空间。在这里&#xff0c;我们不仅分享代码的智慧&#xff0c;还探讨技术的深度与广度。无论您是资深开发者还是技术新手&#xff0c;这里都有一片属于您的天空。让我们在知识的海洋中…

图说几何学2300年重大错误:附着在直线z上的直线段必是z的一部分

黄小宁 用泡沫塑料和油漆制成的铅球与真正的铅球&#xff0c;两者有不同的内部形状。同样&#xff0c;数学有长度相同但内部形状不同的伪≌直线段。 几何学有史2300年来一直认定附着在直线z上的直线段一定是z的一部分。其实这是2300年肉眼直观错觉——百年病态集论的症结。 …

工作笔记【四】

对于这种&#xff0c;样式一样&#xff0c;但是图片和字体颜色不一样&#xff0c;动态渲染。 代码&#xff1a; <template><view class"page"><view class"rows" v-for"item in data"><view class"v0"><v…

代码随想录算法训练营第四八天| 739. 每日温度 496.下一个更大元素 I 503.下一个更大元素II

今日任务 739. 每日温度 496.下一个更大元素 I 503.下一个更大元素II 739. 每日温度 题目链接&#xff1a; . - 力扣&#xff08;LeetCode&#xff09; class Solution {public int[] dailyTemperatures(int[] temperatures) {Stack<Integer> stack new Stack<Int…

基于解压缩模块的JPEG同步重压缩检测论文学习

一、论文基本信息&#xff1a; 论文题目&#xff1a;基于解压缩模块的JPEG同步重压缩检测 作者&#xff1a;王金伟1 &#xff0c;胡冰涛1 &#xff0c;张家伟1 &#xff0c;马 宾2 &#xff0c;罗向阳3 &#xff08;1.南京信息工程大学计算机学院、网络空间安全学院&#xf…

Footprint Growthly Quest 工具:赋能 Telegram 社区实现 Web3 飞速增长

作者&#xff1a;Stella L (stellafootprint.network) 在 Web3 的快节奏世界里&#xff0c;社区互动是关键。而众多 Web3 社区之所以能够蓬勃发展&#xff0c;很大程度上得益于 Telegram 平台。正因如此&#xff0c;Footprint Analytics 精心打造了 Growthly —— 一款专为 Tel…

阿里大模型算法岗面试,上来就手撕代码啊

最近已有不少大厂都在秋招宣讲了&#xff0c;也有一些在 Offer 发放阶段。 节前&#xff0c;我们邀请了一些互联网大厂朋友、今年参加社招和校招面试的同学。 针对新手如何入门算法岗、该如何准备面试攻略、面试常考点、大模型技术趋势、算法项目落地经验分享等热门话题进行了…

怎样才能写出好的知识竞赛活动策划方案

好的知识竞赛活动策划方案是抄不会的&#xff0c;尤其是抄一堆烂方案的话&#xff0c;只会让你走偏。首要的是建立策划底层思维&#xff0c;搞清楚如何从策划角度思考问题和解决问题。注意读、思、学&#xff0c;读&#xff1a;大量读策划案例和营销案例&#xff0c;分析总结和…

木舟0基础学习Java的第三十一天(SpringMVC,xml式和注解式开发,携带数据,取值,视图解析)

SpringMVC Mybatis: 优化了dao层 降低了java与dao层的耦合 Spring:是大管家 整合和管理mybatis与springmve(是spring中子模块) SpringMVC:优化了servlet层 降低了java与servlet的耦合 为什么要使用 springMVC? SpringMVC 是一种基于 Java&#xff0c;实现了 Web MVC 设计模…

当贝播放器 1.5.0 畅享原画,支持阿里网盘、杜比视界和8K播放

当贝播放器TV是一款专为智能电视设计的视频播放器&#xff0c;具有强大的解码能力&#xff0c;支持阿里网盘、百度网盘等网盘资源导入。此外&#xff0c;还支持外部设备导入&#xff0c;并能自动匹配电影海报封面、内容介绍和剧照。 大小&#xff1a;47.3M 百度网盘&#xff1…