news 2026/4/19 20:46:10

数据回归预测: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/4/18 10:00:51

Llama-Index RAG 进阶:小索引大窗口 + 混合检索 + 智能路由实战指南

Llama-Index RAG进阶检索策略实战指南 你的 RAG 为何总是“答非所问”?打破从 Demo 到生产的最后一道墙 “明明 Demo 跑得好好的,怎么一上线就‘翻车’?” 这是无数开发者在构建 RAG(检索增强生成)应用时面临的真实崩…

作者头像 李华
网站建设 2026/4/17 17:12:36

亚马逊卖家容易失误的3个坑,有人这样做亏了10w!

亚马逊卖家最怕的:不是赚得少,而是低级失误直接赔到倾家荡产! 分享刷到一个去年的真实案例,简直让人看完背后发凉😱:有个运营想给产品冲销量,先在站外社交平台扔了个折扣码。结果没过一两个小时…

作者头像 李华
网站建设 2026/4/18 19:39:53

直接上手玩转遗传算法,先搞个简单的函数最值问题热热身。比如找f(x)=x²的最小值,这玩意儿小学生都能秒答,但咱们用遗传算法折腾一下。先看看种群初始化代码

#MATLAB编写遗传算法,基于遗传算法求解TSP问题及函数最值最值问题。 #程序包含详细注释,本人在2020a版本均可运行。% 种群初始化 population_size 50; gene_length 20; % 二进制编码长度 population randi([0 1], population_size, gene_length); 这里…

作者头像 李华
网站建设 2026/4/18 14:38:28

【光照】[PBR][镜面反射]实现方法解析

微表面理论的核心概念微表面理论是一种物理渲染模型,它将宏观表面视为由无数微观几何细节(微表面)组成的复杂结构。这一理论是Unity URP中PBR(基于物理的渲染)实现的基础。基本假设‌微观结构‌:宏观表面由…

作者头像 李华
网站建设 2026/4/17 19:52:23

JavaScript学习笔记:15.迭代器与生成器

JavaScript学习笔记:15.迭代器与生成器 上一篇用类型数组搞定了二进制数据的“高效存储”,这一篇咱们解锁JS遍历的“终极形态”——迭代器(Iterators)与生成器(Generators)。你肯定用过for循环遍历数组&…

作者头像 李华
网站建设 2026/4/17 2:00:50

探索Comsol/CST狄拉克半金属BDS超材料:Matlab脚本与CST模型分享

Comsol/CST狄拉克半金属BDS超材料。 matlab脚本,送几个CST模型嘿,各位技术同好们!今天来聊聊超有趣的Comsol/CST狄拉克半金属BDS超材料。狄拉克半金属近年来在材料物理和电磁学领域那可是相当热门,而基于它的BDS超材料更是展现出独…

作者头像 李华