当前位置: 首页 > news >正文

【MATLAB第81期】基于MATLAB的LSTM长短期记忆网络预测模型时间滞后解决思路(更新中)

【MATLAB第81期】基于MATLAB的LSTM长短期记忆网络预测模型时间滞后解决思路(更新中)

在LSTM预测过程中,极易出现时间滞后,类似于下图,与一个以上的样本点结果错位,产生滞后的效果。
在这里插入图片描述
在建模过程中,输入与输出之间关系的建立,周期性样本选择以及数据处理方式等都会产生影响。

影响因素讨论:
①数据预处理方式
②数据输入输出关系构造

二、案例分析——训练集测试集拟合:

1、数据情况

一列数据:
2007-2023年月度数据,168*1
在这里插入图片描述

2、多输入多输出(M-1输入,M-1输出)

(1)训练集和测试集单独标准化处理(SJCL1)

XTrain= dataTrainStandardized (1:M-1,:);% 训练输入
YTrain = dataTrainStandardized(2:M,:);% 训练输出
XTest = dataTestStandardized(1:N-1,:)%测试输入 0代表训练输入末位数据
YTest = dataTestStandardized(2:N,:);%测试输出

训练集拟合情况:
在这里插入图片描述
测试集拟合情况:
在这里插入图片描述
训练集数据的MAE为:6.753
验证集数据的MAE为:15.8771
训练集数据的RMSE为:12.0964
验证集数据的RMSE为:19.5052
训练集数据的MSE为:146.3234
验证集数据的MSE为:380.4535
训练集数据的R2为:0.97525
测试集数据的R2为:0.92702

(2)训练集和测试集整体标准化处理(SJCL3)

XTrain= dataStandardized (1:M-1,:);% 训练输入
YTrain = dataStandardized(2:M,:);% 训练输出
XTest = dataStandardized(1:N-1,:)%测试输入 0代表训练输入末位数据
YTest = dataStandardized(2:N,:);%测试输出

训练集拟合情况:
在这里插入图片描述

测试集拟合情况:
在这里插入图片描述

训练集数据的MAE为:5.0941
验证集数据的MAE为:12.6767
训练集数据的RMSE为:7.9809
验证集数据的RMSE为:16.9913
训练集数据的MSE为:63.6942
验证集数据的MSE为:288.7044
训练集数据的R2为:0.98875
测试集数据的R2为:0.947

(3)训练集和测试集单独归一化处理(SJCL5)

XTrain= dataTrainNormalization(1:M-1,:);% 训练输入
YTrain = dataTrainNormalization(2:M,:);% 训练输出
XTest = dataTestNormalization(1:N-1,:)%测试输入 0代表训练输入末位数据
YTest = dataTestNormalization(2:N,:);%测试输出

3、多输入多输出(M输入,M输出)

(1)训练集和测试集单独标准化处理(SJCL2)

XTrain= dataTrainStandardized (1:M,:);% 训练输入
YTrain = dataTrainStandardized(2:M+1,:);% 训练输出
XTest = dataTestStandardized(0:N-1,:)%测试输入 0代表训练输入末位数据
YTest = dataTestStandardized(1:N,:);%测试输出

训练集拟合情况:
在这里插入图片描述
测试集拟合情况:
在这里插入图片描述

训练集数据的MAE为:29.8318
验证集数据的MAE为:26.5024
训练集数据的RMSE为:57.9399
验证集数据的RMSE为:41.4219
训练集数据的MSE为:3357.0305
验证集数据的MSE为:1715.7726
训练集数据的R2为:0.48215
测试集数据的R2为:0.7138

(2)训练集和测试集单独标准化处理(SJCL4)

XTrain= dataStandardized (1:M,:);% 训练输入
YTrain = dataStandardized(2:M+1,:);% 训练输出
XTest = dataStandardized(0:N-1,:)%测试输入 0代表训练输入末位数据
YTest = dataStandardized(1:N,:);%测试输出

训练集拟合情况:
在这里插入图片描述
测试集拟合情况:
在这里插入图片描述
训练集数据的MAE为:29.8668
验证集数据的MAE为:23.625
训练集数据的RMSE为:59.1022
验证集数据的RMSE为:50.4366
训练集数据的MSE为:3493.0708
验证集数据的MSE为:2543.8486
训练集数据的R2为:0.48001
测试集数据的R2为:0.6037

6、多输入多输出(训练集和测试集单独归一化处理)

XTrain= dataStandardized (1:M,:);% 训练输入
YTrain = dataStandardized(2:M+1,:);% 训练输出
XTest = dataStandardized(0:N-1,:)%测试输入 0代表训练输入末位数据
YTest = dataStandardized(1:N,:);%测试输出

训练集拟合情况:

在这里插入图片描述

测试集拟合情况:
在这里插入图片描述
预测未来12个月:
在这里插入图片描述

2、数据集构造(训练集和测试集单独标准化处理)

XTrain= dataTrainStandardized (1:M-1,:);% 训练输入
YTrain = dataTrainStandardized(2:M,:);% 训练输出
XTest = dataTestStandardized(0:N,:)%测试输入 0代表训练输入末位数据
YTest = dataTestStandardized(1:N,:);%测试输出

LSTM优化后:
LSTM训练集拟合效果:

在这里插入图片描述
测试集拟合效果:

在这里插入图片描述
LSTM预测未来12个月:
在这里插入图片描述

http://www.lryc.cn/news/217924.html

相关文章:

  • 订单业务和系统设计(一)
  • 安全模型的分类与模型介绍
  • I/O多路转接之select
  • “如何对TXT文件的内容进行连续行删除?实现一键文件整理!
  • stable diffusion公司发布4款LLM大语言模型,为何大家都喜爱LLM?
  • 堆排序--C++实现
  • 【数据结构】数组和字符串(十四):字符串匹配1:朴素的模式匹配算法(StringMatching)
  • VMWare虚拟机问题
  • 代码随想录算法训练营第23期day39 |62.不同路径、63. 不同路径 II
  • 白帽黑客入门,“每天一个黑客技巧”实现黑客的自我突破 !(附工具包!)
  • Jmeter参数化 —— 循环断言多方法
  • Autosar诊断实战系列26-Dem(DTCEvent)要点及配置开发详解
  • STL(第五课):queue
  • 点大商城V2版 2.5.2.1 全开源独立版 多小程序端+unipp安装教程
  • Redo Log(重做日志)的刷盘策略
  • QT窗体之间值的传递,多种方法实现
  • 政务服务技能竞赛中用到的软件和硬件
  • tcp/ip该来的还是得来
  • OpenCV官方教程中文版 —— 图像修复
  • 前端难学还是后端难学?系统安全,web安全,网络安全是什么区别?
  • diffusers-Load pipelines,models,and schedulers
  • 私域营销必备:轻松掌握微信CRM管理方法
  • 最长回文子串-LeetCode5 动态规划
  • mysql简单备份和恢复
  • JMeter介绍
  • flink job同时使用BroadcastProcessFunction和KeyedBroadcastProcessFunction例子
  • 数据中心系统解决方案
  • 服务器开设新账户,创建账号并设置密码
  • 【C++】关于构造函数后面冒号“:“的故事------初始化列表(超详细解析,小白一看就懂)
  • 【Shell 系列教程】shell基本运算符(四)