news 2026/11/3 23:51:28

数据回归预测: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 层,输入形状由timesteps和input_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/11/3 6:43:09

飞轮储能系统的建模与 MATLAB 仿真:永磁同步电机作为飞轮驱动电机

飞轮储能系统的建模与MATLAB仿真(永磁同步电机作为飞轮驱动电机)不是模型嘿,各位技术爱好者!今天咱们来聊聊飞轮储能系统的建模以及用 MATLAB 进行仿真的事儿,这里的飞轮驱动电机用的是永磁同步电机。飞轮储能系统可是…

作者头像 李华
网站建设 2026/11/3 21:17:46

车间进度总卡壳?生产小工单的3个必备功能,90%企业都用错了

你有没有过这种时刻?老板微信一问:进度到哪了?你只能回:正在做。干过车间的都懂,这哪是正在做,分明是不知道 。大部分的车间主管都这样:进度全靠猜,Excel堆满桌面,工人填…

作者头像 李华
网站建设 2026/11/3 6:33:11

如何用 ShedLock 让 Spring Boot 的定时任务在多实例环境下只执行一次

执行。原因很简单:默认情况下,Spring 不会在多个实例之间做调度同步。这篇文章就聊聊怎么用 ShedLock,让定时任务在多实例环境下“同一时刻只跑一次”。顺便一提,它也能作为 Quartz 的替代。Maven 依赖先引入 shedlock-spring 这个…

作者头像 李华
网站建设 2026/11/3 10:23:21

基于MPC的永磁同步电机非线性终端滑模控制仿真研究

基于MPC的永磁同步电机非线性终端滑模控制仿真研究 matlab simulink 无参考文件在电机控制领域,永磁同步电机(PMSM)以其高效、高功率密度等优点,广泛应用于工业、交通等诸多领域。为了实现PMSM更加精准、高效的控制,各…

作者头像 李华
网站建设 2026/11/2 23:57:28

ISSA - CNN - BiLSTM多输入单输出回归的Python实现与改进

ISSA多策略改进麻雀优化ISSA-CNN-BiLSTM 多输入单输出回归 python代码 优化参数:filter,unints1,units2,学习率(可添加) 以下是三个主要的改进点: sin混沌映射: sin混沌映射初始化种群,这是一种…

作者头像 李华