码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 时间序列预测系列文章总结(代码使用方法)


    前言

    本科阶段的研究方向是电力负荷预测,期间也发过一篇《中国电机工程学报》的论文,不过随着本科毕业,时序预测也该告一段落了,之后重心便放在研究生期间的社交网络挖掘方向了。

    前面已经写过不少时间序列预测的文章:

    1. 深入理解PyTorch中LSTM的输入和输出(从input输入到Linear输出)
    2. PyTorch搭建LSTM实现时间序列预测(负荷预测)
    3. PyTorch搭建LSTM实现多变量时间序列预测(负荷预测)
    4. PyTorch搭建双向LSTM实现时间序列预测(负荷预测)
    5. PyTorch搭建LSTM实现多变量多步长时间序列预测(一):直接多输出
    6. PyTorch搭建LSTM实现多变量多步长时间序列预测(二):单步滚动预测
    7. PyTorch搭建LSTM实现多变量多步长时间序列预测(三):多模型单步预测
    8. PyTorch搭建LSTM实现多变量多步长时间序列预测(四):多模型滚动预测
    9. PyTorch搭建LSTM实现多变量多步长时间序列预测(五):seq2seq
    10. PyTorch中实现LSTM多步长时间序列预测的几种方法总结(负荷预测)
    11. PyTorch-LSTM时间序列预测中如何预测真正的未来值
    12. PyTorch搭建LSTM实现多变量输入多变量输出时间序列预测(多任务学习)
    13. PyTorch搭建ANN实现时间序列预测(风速预测)
    14. PyTorch搭建CNN实现时间序列预测(风速预测)
    15. PyTorch搭建CNN-LSTM混合模型实现多变量多步长时间序列预测(负荷预测)
    16. PyTorch搭建Transformer实现多变量多步长时间序列预测(负荷预测)

    这篇文章是对这16篇文章的总结,顺便也谈一谈代码如何使用。

    1. 深入理解PyTorch中LSTM的输入和输出(从input输入到Linear输出)

    这篇文章主要讲PyTorch中LSTM的输入和输出,具体讲了数据流动过程中的维度变化,是所有文章的基础,必须要理解。这篇文章不涉及代码使用。

    2. PyTorch搭建LSTM实现时间序列预测(负荷预测)

    这篇文章是单变量单步预测的示例,即利用前24小时的负荷预测下一时刻的负荷值。

    具体使用方法:利用pycharm或者其他IDE打开压缩包中的LSTM-Load-Forecasting项目,如下所示:
    在这里插入图片描述
    然后打开并运行LSTMs文件夹下的univariate_single_step.py文件,如果需要更换预测长度,比如前12小时预测下一小时,只需将args.py中us_args_parser()函数中的参数seq_len改为12,即:
    在这里插入图片描述
    如果需要使用自己的数据,只需要将data文件夹下的data.csv替换为自己的csv文件,然后再对data_process.py中的nn_seq_us进行更改:
    在这里插入图片描述
    如果需要预测的变量为第s列,那么只需将图中的1改为s即可。

    3. PyTorch搭建LSTM实现多变量时间序列预测(负荷预测)

    这篇文章是多变量单步预测的示例,即利用前24小时的负荷+环境因素预测下一时刻的负荷值。

    具体使用方法:利用pycharm或者其他IDE打开压缩包中的LSTM-Load-Forecasting项目,然后打开并运行LSTMs文件夹下的multivariate_single_step.py文件。如果需要使用自己的数据,首先需要将data.csv进行替换,其次,对data_process.py中的nn_seq_ms进行更改:
    在这里插入图片描述
    具体来讲,首先需要将1替换为想要预测的变量的列索引,然后将2, 8替换为环境变量的列索引。

    4. PyTorch搭建双向LSTM实现时间序列预测(负荷预测)

    这篇文章是双向LSTM预测的示例,即将23节中的单向LSTM替换为双向LSTM。

    具体使用方法:利用pycharm或者其他IDE打开压缩包中的LSTM-Load-Forecasting项目,然后将args.py中三个args_parser()函数中的bidirectional参数改为True即可:
    在这里插入图片描述

    5. PyTorch搭建LSTM实现多变量多步长时间序列预测(一):直接多输出

    这篇文章是多变量多步长预测的第一篇:直接多输出。我们利用前24小时的负荷+环境因素预测接下来多个小时的负荷值。

    具体使用方法:利用pycharm或者其他IDE打开压缩包中的LSTM-MultiStep-Forecasting项目,如下所示:
    在这里插入图片描述
    然后打开并运行algorithms文件夹下的multiple_outputs.py文件即可。

    如果需要调整预测长度,比如利用前24小时预测接下来12个小时,只需将args.py中mo_args_parser()函数中的output_size参数改为12即可。

    如果需要使用自己的数据,首先需要将data文件夹下的data.csv替换为自己的csv文件,然后更改data_process.py中的nn_seq_mo()函数,更改方式和前面一样。

    6. PyTorch搭建LSTM实现多变量多步长时间序列预测(二):单步滚动预测

    这篇文章是多变量多步长预测的第二篇:单步滚动预测。

    具体使用方法:利用pycharm或者其他IDE打开压缩包中的LSTM-MultiStep-Forecasting项目,然后打开并运行algorithms文件夹下的single_step_scrolling.py文件即可。

    如果需要使用自己的数据,首先需要将data文件夹下的data.csv替换为自己的csv文件,然后更改data_process.py中的nn_seq_sss()函数,更改方式和前面一样。

    7. PyTorch搭建LSTM实现多变量多步长时间序列预测(三):多模型单步预测

    这篇文章是多变量多步长预测的第三篇:多模型单步预测。

    具体使用方法:利用pycharm或者其他IDE打开压缩包中的LSTM-MultiStep-Forecasting项目,然后打开并运行algorithms文件夹下的multi_model_single_step.py文件即可。

    如果需要使用自己的数据,首先需要将data文件夹下的data.csv替换为自己的csv文件,然后更改data_process.py中的nn_seq_mmss()函数,更改方式和前面一样。

    8. PyTorch搭建LSTM实现多变量多步长时间序列预测(四):多模型滚动预测

    这篇文章是多变量多步长预测的第四篇:多模型滚动预测。

    具体使用方法:利用pycharm或者其他IDE打开压缩包中的LSTM-MultiStep-Forecasting项目,然后打开并运行algorithms文件夹下的multi_model_scrolling.py文件即可。

    如果需要使用自己的数据,首先需要将data文件夹下的data.csv替换为自己的csv文件,然后更改data_process.py中的nn_seq_mmss()函数,更改方式和前面一样。

    9. PyTorch搭建LSTM实现多变量多步长时间序列预测(五):seq2seq

    这篇文章是多变量多步长预测的第五篇:seq2seq预测。

    具体使用方法:利用pycharm或者其他IDE打开压缩包中的LSTM-MultiStep-Forecasting项目,然后打开并运行algorithms文件夹下的seq2seq.py文件即可。

    如果需要使用自己的数据,首先需要将data文件夹下的data.csv替换为自己的csv文件,然后更改data_process.py中的nn_seq_mos()函数,更改方式和前面一样。

    10. PyTorch中实现LSTM多步长时间序列预测的几种方法总结(负荷预测)

    总结文章,不涉及代码使用,没啥可说的。

    11. PyTorch-LSTM时间序列预测中如何预测真正的未来值

    这部分讲怎么利用现有的模型预测未来不存在的值,这篇文章中给出了一个大致的模型框架,如果需要针对自己的情况进行预测,可以加我微信进行询问。

    12. PyTorch搭建LSTM实现多变量输入多变量输出时间序列预测(多任务学习)

    这篇文章是时间序列预测多任务学习的示例,即一次性输出多个变量,例如利用前24小时的负荷+温度预测接下来12个小时的负荷+温度。

    具体使用方法:利用pycharm或者其他IDE打开压缩包中的LSTM-MultiStep-Forecasting项目,然后打开并运行algorithms文件夹下的multi_task_learning.py文件即可。

    如果需要使用自己的数据,首先需要将data文件夹下的mtl_data_1.csv或者mtl_data_2.csv替换为自己的csv文件,然后更改data_process.py中的nn_seq_mtl()函数。同时,args.py中的multi_task_args_parser()函数也需要进行更改:
    在这里插入图片描述
    其中output_size表示预测长度,即预测接下来12个小时的多个变量值;n_outputs表示需要预测的变量个数,比如本篇文章中需要预测三个变量。

    13. PyTorch搭建ANN实现时间序列预测(风速预测)

    这篇文章是ANN时间序列预测示例。

    具体使用方法:利用pycharm或者其他IDE打开压缩包中的ANN-Speed-Forecasting项目,如下所示:
    在这里插入图片描述
    然后打开并运行ann.py文件即可。

    如果需要使用自己的数据集,只需将data文件夹下的data.csv替换为自己的csv文件,然后更改data_process.py的相关方法。

    14. PyTorch搭建CNN实现时间序列预测(风速预测)

    这篇文章是ANN时间序列预测的示例。

    具体使用方法:利用pycharm或者其他IDE打开压缩包中的CNN-Speed-Forecasting项目,如下所示:
    在这里插入图片描述
    然后打开并运行cnn.py文件即可。

    如果需要使用自己的数据集,只需将data文件夹下的data.csv替换为自己的csv文件,然后更改data_process.py的相关方法。

    15. PyTorch搭建CNN-LSTM混合模型实现多变量多步长时间序列预测(负荷预测)

    这篇文章是CNN-LSTM混合模型时间序列预测的示例。

    具体使用方法:利用pycharm或者其他IDE打开压缩包中的CNN-Speed-Forecasting项目,如下所示:
    在这里插入图片描述
    然后打开并运行main.py文件即可。

    如果需要使用自己的数据集,只需将data文件夹下的data.csv替换为自己的csv文件,然后更改get_data.py的相关方法,更改方法同前面多变量多步长预测。

    16. PyTorch搭建Transformer实现多变量多步长时间序列预测(负荷预测)

    这篇文章是Transformer时间序列预测的示例。

    具体使用方法:利用pycharm或者其他IDE打开压缩包中的Transformer-Timeseries-Forecasting项目,如下所示:
    在这里插入图片描述

    然后打开并运行main.py文件即可。

    如果需要使用自己的数据集,只需将data文件夹下的data.csv替换为自己的csv文件,然后更改get_data.py的相关方法,更改方法同前面多变量多步长预测。

    源码获取

    时间序列预测系列文章代码汇总

  • 相关阅读:
    努力前行,平凡的我们也能画出一条星光闪耀的轨迹——人大女王金融硕士项目
    移动端测试的学习
    字符串转换整数
    Java工具类--http请求-post
    现代cpp教程笔记
    拥抱 Spring 全新 OAuth 解决方案
    用Python自动生成 图文并茂的数据分析 报告
    小程序常用样式和组件
    CF1700D River Locks
    自动监控网站可用性并发送通知的 Bash 脚本
  • 原文地址:https://blog.csdn.net/Cyril_KI/article/details/125490387
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号