news 2026/6/25 9:41:27

数据回归预测:LSTM、CNN - LSTM 与 SSA - CNN - LSTM 大比拼

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
数据回归预测:LSTM、CNN - LSTM 与 SSA - CNN - LSTM 大比拼

LSTM,CNN-LSTM,SSA-CNN-LSTM三种算法做对比,进行多输入单输出的数据回归预测。 LSTM评价指标: RMSE = 0.08024 MSE = 0.0064385 MAE = 0.071505 MAPE = 0.05383 CNN-LSTM评价指标: RMSE = 0.06198 MSE = 0.005396 MAE = 0.05169 MAPE = 0.04695 SSA-CNN-LSTM评价指标: RMSE = 0.05269 MSE = 0.0039699 MAE = 0.042106 MAPE = 0.036987

在数据回归预测领域,有许多算法可供选择,今天咱们就来看看 LSTM、CNN - LSTM 和 SSA - CNN - LSTM 这三种算法在多输入单输出的数据回归预测中的表现。

算法简介

LSTM

长短期记忆网络(LSTM)是一种特殊的循环神经网络(RNN),它能有效解决传统 RNN 在处理长序列时的梯度消失或梯度爆炸问题。简单来说,LSTM 就像是一个聪明的记忆器,能记住长序列中的重要信息。下面是一个简单的 LSTM 模型构建代码示例:

from tensorflow.keras.models import Sequential from tensorflow.keras.layers import LSTM, Dense model_lstm = Sequential() model_lstm.add(LSTM(50, input_shape=(timesteps, input_dim))) model_lstm.add(Dense(1)) model_lstm.compile(optimizer='adam', loss='mse')

代码分析:这里我们使用了 Keras 库来构建 LSTM 模型。首先创建一个顺序模型,然后添加一个包含 50 个神经元的 LSTM 层,输入形状由timestepsinput_dim决定。最后添加一个全连接层,输出维度为 1,因为我们是单输出预测。使用adam优化器和均方误差(MSE)作为损失函数进行编译。

CNN - LSTM

卷积神经网络 - 长短期记忆网络(CNN - LSTM)结合了 CNN 的特征提取能力和 LSTM 的序列处理能力。CNN 可以从输入数据中提取空间特征,然后将这些特征输入到 LSTM 中进行序列建模。下面是一个简单的 CNN - LSTM 模型构建代码示例:

from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense model_cnn_lstm = Sequential() model_cnn_lstm.add(Conv1D(filters=64, kernel_size=3, activation='relu', input_shape=(timesteps, input_dim))) model_cnn_lstm.add(MaxPooling1D(pool_size=2)) model_cnn_lstm.add(LSTM(50)) model_cnn_lstm.add(Dense(1)) model_cnn_lstm.compile(optimizer='adam', loss='mse')

代码分析:在这个模型中,我们先添加了一个一维卷积层(Conv1D),它可以对输入序列进行卷积操作,提取局部特征。接着使用最大池化层(MaxPooling1D)对特征图进行下采样,减少数据维度。然后添加一个 LSTM 层和一个全连接层,最后同样使用adam优化器和 MSE 损失函数进行编译。

SSA - CNN - LSTM

奇异谱分析 - 卷积神经网络 - 长短期记忆网络(SSA - CNN - LSTM)在 CNN - LSTM 的基础上,引入了奇异谱分析(SSA)。SSA 可以对时间序列进行分解和重构,去除噪声,提取有用的成分。这样可以进一步提高模型的预测性能。

评价指标对比

我们使用了均方根误差(RMSE)、均方误差(MSE)、平均绝对误差(MAE)和平均绝对百分比误差(MAPE)这四个评价指标来衡量三种算法的性能。具体指标如下:

算法RMSEMSEMAEMAPE
LSTM0.080240.00643850.0715050.05383
CNN - LSTM0.061980.0053960.051690.04695
SSA - CNN - LSTM0.052690.00396990.0421060.036987

从这些指标可以看出,SSA - CNN - LSTM 的各项指标都优于 LSTM 和 CNN - LSTM。RMSE 和 MSE 衡量的是预测值与真实值之间的平均误差,值越小说明模型的预测越准确。MAE 是绝对误差的平均值,能直观地反映预测值与真实值的偏差程度。MAPE 则是用百分比表示的误差,更适合用于比较不同规模数据集的预测误差。

综合来看,在多输入单输出的数据回归预测任务中,SSA - CNN - LSTM 表现最佳,CNN - LSTM 次之,LSTM 相对较差。不过,具体使用哪种算法还需要根据实际情况进行选择,比如数据的特点、计算资源等。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/25 3:26:33

数据结构总结笔记

1 数据结构三要素是什么?逻辑结构包括什么?存储结构包括什么? 数据结构三要素:逻辑结构、存储结构、数据运算。 逻辑结构包括线性结构和非线性结构: 线性结构:线性表、栈、队列;非线性结构&a…

作者头像 李华
网站建设 2026/6/25 1:02:37

PHP 开发者必须掌握的基本 Linux 命令

开始 PHP 开发时,我并没有特别的理由选择 Linux。既不是出于对开源软件的热情,也不是认为 Linux 比 macOS 或 Windows 更优秀。当时只是希望找到一个更轻量、更可定制的开发环境。对我而言,Linux 就是一个可能提升编码效率的工具。随着项目规…

作者头像 李华
网站建设 2026/6/25 16:52:45

用格子玻尔兹曼方法(LBM)模拟不可压缩密度守恒压力驱动流

格子玻尔兹曼方法(LBM)模拟不可压缩密度守恒压力驱动流,MATLAB代码嘿,大家好!今天来聊聊如何使用格子玻尔兹曼方法(LBM)模拟不可压缩密度守恒压力驱动流,并且会用MATLAB代码来实现。…

作者头像 李华
网站建设 2026/6/25 0:57:49

基于LQR控制算法的四轮独立电驱动汽车横向稳定性控制研究

适用方向:基于LQR控制算法的直接横摆力矩控制(DYC)的四轮独立电驱动汽车的横向稳定性控制研究 主要内容:利用carsim建模,在simulink中搭建控制器,然后进行联合。 实现汽车在高速低附着路面下完成双移线工况…

作者头像 李华
网站建设 2026/6/25 21:01:58

IPv6违规外联防御指南:从风险盲区到可管可控

在数字化转型加速推进的今天,IPv6作为下一代互联网协议,正以其庞大的地址空间和高效的通信机制,推动着网络基础设施的全面升级。根据APNIC监测数据,2022年全球IPv6支持能力持续增强,支持率从2021年3月的28.31%显著提升…

作者头像 李华
网站建设 2026/6/25 6:46:33

网型逆变器小干扰稳定性分析与控制策略优化:Simulink仿真探索

跟网型逆变器小干扰稳定性分析与控制策略优化simulink仿真模型和代码 现代逆变技术 阻抗重塑 双锁相环 可附赠参考文献(英文) 和一份与模型完全对应的中文版报告在现代逆变技术的领域中,网型逆变器的小干扰稳定性分析以及控制策略的优化是至关…

作者头像 李华