基于ARIMA-CNN-LSTM预测模型研究(Python代码实现)

简介: 基于ARIMA-CNN-LSTM预测模型研究(Python代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥


🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。


⛳️座右铭:行百里者,半于九十。


📋📋📋本文目录如下:🎁🎁🎁


目录


💥1 概述


1.1 ARIMA 模型


1.2 CNN - LSTM 模型


📚2 运行结果



🎉3 参考文献


🌈4 Python代码实现


💥1 概述

文献来源:


f86d02721b0b4e5989b98211159abdd8.png


1.1 ARIMA 模型

ARIMA 模型由 Box 和 Jenkins 于 20 世纪 70 年代提出,是一种著名的时间序列预测方法,该模型的基本思想是将数据看成一个时间序列对象,再使用数学模型对该时间序列进行描述,训练完成的模型可以通过时间序列的过去值、现在值来预测未来的数据及趋势,在一些工业设备强度预测等问题中得到了广泛的应用。由于实际的水文序列具有非线性非平稳的特点,而 ARIMA 模型引入了差分,对于非线性非平稳的时间序列也具有良好的处理效果,并对水文序列中的线性关系具有良好的学习效果,故本文采用 ARIMA 模型对未来水位变化情况进行预测。


ARIMA 模型由自回归( AR) 模型、移动平均模型( MA) 和差分法( I) 组成,其表达式如下。


自回归( AR) 模型用来描述现值与过去值之间的关系,使用指标自身的数据对自身进行预测。


a2decd886a874184871c75e136ae44a7.png


1.2 CNN - LSTM 模型

考虑到影响因素众多,故本文使用了一种基于 CNN - LSTM 的多变量预测模型,将数据的多个变量输入进神经网络模型中,通过 CNN 对数据进行特征提取,其中原理如下。


定义一段水位数据序列为


bc1b032672eb4b09819ae6b77468536c.png

661a1527319943d5923d057ea73b389f.png


8dc00667291749f89165e24437d756a6.png

be113f93d5ff4cbf8131401fca630171.png


细胞状态Ct由输入门和遗忘门的变化决定,其表达式如下:


e034ddb25c6249489c205634e4fb560f.png


📚2 运行结果

plt.figure(figsize=(10, 3),dpi=150)
plt.title('AQI')
plt.xlabel('time')
plt.ylabel('AQI')
plt.plot(data_raw, 'r', label='AQI')
plt.legend()
plt.show()


774a14ff90a645e2aa8ef2bce33dbd81.png


plt.figure(figsize=(9, 2),dpi=150)
plt.plot(history.history['loss'])
plt.title('model loss')
plt.ylabel('loss')
plt.xlabel('epoch')
plt.show()


f2f3faf24fd244a9ad1a41efdfbb0fe7.png


plt.figure(figsize=(10, 4),dpi=150)
plt.plot(test_data, label="Actual", color='red',linewidth=4)
plt.plot(range(len(x_train)+timestep+1,len(new_data)),draw_test, color='blue',label='Prediction',linewidth=2.5,linestyle="--")
plt.title('Prediction', size=15)
plt.ylabel('AQI',size=15)
plt.xlabel('time/day',size=15)
plt.legend()
plt.show()


422c43526a30411ba17f51eb86e18d48.png


🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。


[1]陈帅宇,赵龑骧,蒋磊.基于ARIMA-CNN-LSTM模型的黄河开封段水位预测研究[J].水利水电快报,2023,44(01):15-22.DOI:10.15974/j.cnki.slsdkb.2023.01.002.


🌈4 Python代码实现


相关文章
|
机器学习/深度学习 数据采集 并行计算
多步预测系列 | LSTM、CNN、Transformer、TCN、串行、并行模型集合研究(Python代码实现)
多步预测系列 | LSTM、CNN、Transformer、TCN、串行、并行模型集合研究(Python代码实现)
1181 2
|
机器学习/深度学习 数据采集 算法
独家原创 | CEEMDAN-CNN-GRU-GlobalAttention + XGBoost组合预测研究(Python代码实现)
独家原创 | CEEMDAN-CNN-GRU-GlobalAttention + XGBoost组合预测研究(Python代码实现)
424 2
|
机器学习/深度学习 数据采集 资源调度
基于长短期记忆网络定向改进预测的动态多目标进化算法(LSTM-DIP-DMOEA)求解CEC2018(DF1-DF14)研究(Matlab代码实现)
基于长短期记忆网络定向改进预测的动态多目标进化算法(LSTM-DIP-DMOEA)求解CEC2018(DF1-DF14)研究(Matlab代码实现)
536 0
|
机器学习/深度学习 传感器 算法
基于GA-HIDMSPSO优化CNN-SVM分类预测的研究(Matlb代码实现)
基于GA-HIDMSPSO优化CNN-SVM分类预测的研究(Matlb代码实现)
322 0
|
机器学习/深度学习 数据采集 传感器
【WOA-CNN-LSTM】基于鲸鱼算法优化深度学习预测模型的超参数研究(Matlab代码实现)
【WOA-CNN-LSTM】基于鲸鱼算法优化深度学习预测模型的超参数研究(Matlab代码实现)
740 0
|
机器学习/深度学习 数据采集 算法
基于VMD-LSTM的电力负荷预测研究(Matlab代码实现)
基于VMD-LSTM的电力负荷预测研究(Matlab代码实现)
757 0
|
机器学习/深度学习 安全 Serverless
【创新未发表】【故障诊断】基于连续小波变换-CNN, ResNet, CNN-SVM, CNN-BiGRU, CNN-LSTM的故障诊断研究【凯斯西储大学数据】(Matlab代码实现)
【创新未发表】【故障诊断】基于连续小波变换-CNN, ResNet, CNN-SVM, CNN-BiGRU, CNN-LSTM的故障诊断研究【凯斯西储大学数据】(Matlab代码实现)
793 0
|
机器学习/深度学习 算法 安全
【PSO-LSTM】基于PSO优化LSTM网络的电力负荷预测(Python代码实现)
【PSO-LSTM】基于PSO优化LSTM网络的电力负荷预测(Python代码实现)
555 0
|
机器学习/深度学习 算法 数据挖掘
基于WOA鲸鱼优化的BiLSTM双向长短期记忆网络序列预测算法matlab仿真,对比BiLSTM和LSTM
本项目基于MATLAB 2022a/2024b实现,采用WOA优化的BiLSTM算法进行序列预测。核心代码包含完整中文注释与操作视频,展示从参数优化到模型训练、预测的全流程。BiLSTM通过前向与后向LSTM结合,有效捕捉序列前后文信息,解决传统RNN梯度消失问题。WOA优化超参数(如学习率、隐藏层神经元数),提升模型性能,避免局部最优解。附有运行效果图预览,最终输出预测值与实际值对比,RMSE评估精度。适合研究时序数据分析与深度学习优化的开发者参考。
|
机器学习/深度学习 算法 数据安全/隐私保护
基于GA遗传优化的BiLSTM双向长短期记忆网络序列预测算法matlab仿真,对比BiLSTM和LSTM
本内容包含基于BiLSTM与遗传算法(GA)的算法介绍及实现。算法通过MATLAB2022a/2024b运行,核心为优化BiLSTM超参数(如学习率、神经元数量),提升预测性能。LSTM解决传统RNN梯度问题,捕捉长期依赖;BiLSTM双向处理序列,融合前文后文信息,适合全局信息任务。附完整代码(含注释)、操作视频及无水印运行效果预览,适用于股票预测等场景,精度优于单向LSTM。

热门文章

最新文章

推荐镜像

更多