時序預測 | MATLAB實現EEMD-LSTM、LSTM集合經驗模態分解結合長短期記憶神經網絡時間序列預測對比

時序預測 | MATLAB實現EEMD-LSTM、LSTM集合經驗模態分解結合長短期記憶神經網絡時間序列預測對比

目錄

    • 時序預測 | MATLAB實現EEMD-LSTM、LSTM集合經驗模態分解結合長短期記憶神經網絡時間序列預測對比
      • 效果一覽
      • 基本介紹
      • 模型搭建
      • 程序設計
      • 參考資料

效果一覽

1

2
3
4
5
6

基本介紹

時序預測 | MATLAB實現EEMD-LSTM、LSTM集合經驗模態分解結合長短期記憶神經網絡時間序列預測對比。
1.MATLAB實現EEMD-LSTM、LSTM時間序列預測對比;
2.時間序列預測 就是先eemd把原輸入全分解變成很多維作為輸入 再輸入LSTM預測 ;
3.運行環境Matlab2018b及以上,輸出RMSE、MAPE、MAE等多指標對比,
先運行main1_eemd_test,進行eemd分解;再運行main2_lstm、main3_eemd_lstm;再運行main4_compare,兩個模型對比。

模型搭建

EEMD-LSTM和LSTM集合是兩種用于時間序列預測的方法,它們結合了經驗模態分解 (Empirical Mode Decomposition, EMD) 和長短期記憶神經網絡 (Long Short-Term Memory, LSTM)。這兩種方法都具有一定的優勢和適用場景,下面對它們進行對比。
EEMD-LSTM:
EEMD是一種數據分解方法,通過將時間序列分解成多個固有模態函數 (Intrinsic Mode Functions, IMF) 和一個剩余項,將非線性和非平穩的時間序列轉化為多個平穩的子序列。
EEMD能夠將時間序列的相關信息提取到不同的IMF中,每個IMF代表了時間序列中的不同頻率成分。
LSTM是一種適用于序列數據的循環神經網絡,能夠捕捉長期依賴關系,適用于處理時間序列數據。
EEMD-LSTM的基本思路是將原始時間序列通過EEMD進行分解,然后將每個IMF作為LSTM的輸入,利用LSTM模型對每個IMF進行預測,最后將預測結果合并得到最終的預測結果。通過構建多個獨立的LSTM模型,每個模型都有不同的初始化條件和參數設置。每個LSTM模型都會對時間序列進行訓練和預測,最后將它們的預測結果進行綜合,例如通過平均或加權平均的方式得到最終的預測結果。優勢在于通過建立多個模型,可以利用不同的初始化條件和參數組合,增加了模型的多樣性,提高了整體的預測準確性。
對比:EEMD-LSTM利用EEMD將時間序列分解成不同頻率的子序列,然后利用LSTM對每個子序列進行預測,最后將預測結果合并。這種方法能夠更好地處理非線性和非平穩的時間序列,能夠提取出不同頻率成分的信息。然而,EEMD的分解過程可能會引入一些噪聲,并且需要額外的計算步驟。
LSTM集合通過構建多個LSTM模型,利用不同的初始化條件和參數組合,增加了模型的多樣性,提高了預測準確性。這種方法相對簡單,不需要進行數據分解,適用于一般的時間序列預測任務。

程序設計

  • 完整程序和數據獲取方式1:私信博主回復MATLAB實現EEMD-LSTM、LSTM集合經驗模態分解結合長短期記憶神經網絡時間序列預測對比,同等價值程序兌換;
  • 完整程序和數據下載方式2(資源處直接下載):MATLAB實現EEMD-LSTM、LSTM集合經驗模態分解結合長短期記憶神經網絡時間序列預測對比;
  • 完整程序和數據下載方式3(訂閱《LSTM長短期記憶神經網絡》專欄,同時可閱讀《LSTM長短期記憶神經網絡》專欄內容,數據訂閱后私信我獲取):MATLAB實現EEMD-LSTM、LSTM集合經驗模態分解結合長短期記憶神經網絡時間序列預測對比,專欄外只能獲取該程序
%% 創建混合LSTM網絡架構
% 輸入特征維度
numFeatures  = f_;
% 輸出特征維度
numResponses = 1;
FiltZise = 10;
%  創建"LSTM"模型layers = [...% 輸入特征sequenceInputLayer([numFeatures 1 1],'Name','input')sequenceFoldingLayer('Name','fold')% LSTM特征學習lstmLayer(50,'Name','lstm1','RecurrentWeightsInitializer','He','InputWeightsInitializer','He')% LSTM輸出lstmLayer(optVars.NumOfUnits,'OutputMode',"last",'Name','bil4','RecurrentWeightsInitializer','He','InputWeightsInitializer','He')dropoutLayer(0.25,'Name','drop3')% 全連接層fullyConnectedLayer(numResponses,'Name','fc')regressionLayer('Name','output')    ];layers = layerGraph(layers);layers = connectLayers(layers,'fold/miniBatchSize','unfold/miniBatchSize');%% LSTM訓練選項
% 批處理樣本
MiniBatchSize =128;
% 最大迭代次數
MaxEpochs = 500;options = trainingOptions( 'adam', ...'MaxEpochs',500, ...'GradientThreshold',1, ...'InitialLearnRate',optVars.InitialLearnRate, ...'LearnRateSchedule','piecewise', ...'LearnRateDropPeriod',400, ...'LearnRateDropFactor',0.2, ...'L2Regularization',optVars.L2Regularization,...'Verbose',false, ...'Plots','none');%% 訓練混合網絡
net = trainNetwork(XrTrain,YrTrain,layers,options);

參考資料

[1] https://blog.csdn.net/kjm13182345320/article/details/129036772?spm=1001.2014.3001.5502
[2] https://blog.csdn.net/kjm13182345320/article/details/128690229

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/36097.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/36097.shtml
英文地址,請注明出處:http://en.pswp.cn/news/36097.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

小龜帶你妙寫排序之快速排序

快速排序 一. 快速排序原理二. 題目三. 快速排序的思路分析(圖文結合)四.代碼 一. 快速排序原理 先從數據序列中選一個元素,并將序列中所有比該元素小的元素都放到它的右邊或左邊,再對左右兩邊分別用同樣的方法處之直到每一個待處…

runtime error: member access within misaligned address(力扣最常見錯誤之一)

runtime error: member access within misaligned address(力扣最常見錯誤之一) 前言原因和解決辦法總結 前言 最近博主在刷力扣時,明明代碼邏輯都沒問題,但總是報下面這個錯誤: runtime error: member access within…

django實現登錄和登錄的鑒權

1、創建數據庫的管理員表 在models.py 中定義admin表,為了簡單,表里只有用戶名和密碼還有默認加的id 三個字段 from django.db import models# Create your models here.class Admin(models.Model):username models.CharField(verbose_name"用戶…

源碼框架-三勾軟件

javaspringboot微信小程序商城SAAS前后端源碼: 三勾商城是開發友好的微信小程序商城,框架支持SAAS,支持發布 iOS Android 公眾號 H5 各種小程序(微信/支付寶/百度/頭條/QQ/釘釘/淘寶)等多個平臺,不可多得的二開神器…

訓練用于序列分類任務的 RoBERTa 模型的適配器

介紹 NLP當前的趨勢包括下載和微調具有數百萬甚至數十億參數的預訓練模型。然而,存儲和共享如此大的訓練模型非常耗時、緩慢且昂貴。這些限制阻礙了 RoBERTa 模型開發更多用途和適應性更強的 NLP 技術,該模型可以從多個任務中學習并針對多個任務進行學習;在本文中,我們將重…

Kafka:安裝和配置

producer:發布消息的對象,稱為消息產生者 (Kafka topic producer) topic:Kafka將消息分門別類,每一個消息稱為一個主題(topic) consumer:訂閱消息并處理發布消息的對象…

模擬 枚舉

分享牛客算法基礎精選題單題目打卡!!! 目錄 字符串的展開 多項式輸出 機器翻譯 : 鋪地毯 : [NOIP2016]回文日期 字符串的展開 原題鏈接 : 字符串的展開 思路 : 模擬 代碼 : #include<iostream> #include<cstring> #include<algorithm> using na…

Java課題筆記~ ServletContext

單個Servlet的配置對象 web.xml <servlet><servlet-name>FirstServlet</servlet-name><servlet-class>com.ambow.test.FirstServlet</servlet-class><init-param><param-name>charset</param-name><param-value>utf-8&…

centos自動同步北京時間

1、安裝ntpdate服務 yum -y install ntpdate 2、加入自動任務計劃 查找ntpdate的路徑&#xff1a; which ntpdate 復制這個路徑。 編輯自動任務計劃并加入ntpdate&#xff1a; crontab -e # 每小時第30分鐘同步AD域控時間 30 * * * * /usr/sbin/ntpdate -u 192.168.2.8 > …

DP——動態規劃

DP——動態規劃 動態規劃算法動態規劃的一般步驟特殊DP——背包0-1背包問題完全背包問題 總結 動態規劃算法 當涉及到解決具有重疊子問題的優化問題時&#xff0c;動態規劃是一種常用的算法技術。它通過將問題分解為一系列重疊子問題&#xff0c;并使用遞歸或迭代的方式來解決…

Spring Cloud Gateway系例—GatewayFilter 工廠

目錄 6.1.AddRequestHeader 6.2.AddRequestHeadersIfNotPresent 6.3.AddRequestParameter 6.4.AddResponseHeader 6.5.CircuitBreaker 6.5.1. 熔斷指定的狀態碼 6.6.CacheRequestBody 6.7.DedupeResponseHeader 6.8.FallbackHeaders 6.9.JsonToGrpc 6.10.LocalRespo…

TypeScript 非空斷言

TypeScript 非空斷言 發布于 2020-04-08 15:20:15 17.5K0 舉報 一、非空斷言有啥用 介紹非空斷言前&#xff0c;先來看個示例&#xff1a; function sayHello(name: string | undefined) {let sname: string name; // Error } 對于以上代碼&#xff0c;TypeScript 編譯器…

用戶端Web自動化測試-L1

目錄&#xff1a; Web自動化測試價值與體系環境安裝與使用自動化用例錄制自動化測試用例結構分析web瀏覽器控制常見控件定位方法強制等待與隱式等待常見控件交互方法自動化測試定位策略搜索功能自動化測試用戶端Web自動化測試 1.Web自動化測試價值與體系 功能測試場景: UI 自…

IntelliJ Idea 編譯時控制臺上中文輸出亂碼

猜測原因是IDEA啟動時未指定編碼信息&#xff0c;故與系統編碼保持一致&#xff08;windows中文系統默認為GBK編碼&#xff09;,當以UTF-8編碼進行編譯在控制臺會以GBK編碼輸出,從而導致亂碼 解決方案 指定Idea啟動時JVM的默認編碼為UTF-8 Help -> Edit Custom Options P…

本地圖片的image加密解密-Python 3.10-win10

本地圖片的image加密解密- Python 3.10 pyt3int22 -根據1zip下圖片批量生成加密的-物體識別.py import ioimport os import base64 import json # 指定圖片文件夾 image_dir = "./1zip/" base64code_dir = "./base64code/" base64_to_dir = "./bas…

AUTOSAR規范與ECU軟件開發(基礎篇)2.5 AUTOSAR方法論

前言 AUTOSAR方法論(AUTOSAR Methodology) 中車用控制器軟件的開發涉及系統級、 ECU級和軟件組件級。 系統級主要考慮系統功能需求、 硬件資源、 系統約束, 然后建立系統架構; ECU級根據抽象后的信息對ECU進行配置; 系統級和ECU級設計的同時, 伴隨著軟件組件級的開發。 上…

Sql server還原失敗(數據庫正在使用,無法獲得對數據庫的獨占訪問權)

一.Sql server還原失敗(數據庫正在使用,無法獲得對數據庫的獨占訪問權) 本次測試使用數據庫實例SqlServer2008r2版 錯誤詳細&#xff1a; 標題: Microsoft SQL Server Management Studio ------------------------------ 還原數據庫“Mvc_HNHZ”時失敗。 (Microsoft.SqlServer.…

《甲午》觀后感——GPT-3.5所寫

《甲午》是一部令人深思的紀錄片&#xff0c;通過生動的畫面和真實的故事&#xff0c;向觀眾展示了中國歷史上的一段重要時期。觀看這部紀錄片&#xff0c;我深受觸動&#xff0c;對歷史的認識也得到了深化。 首先&#xff0c;這部紀錄片通過精心搜集的歷史資料和珍貴的影像資料…

低成本搭建NAS,利用HFS進行內網穿透,實現公網訪問

通過HFS低成本搭建NAS&#xff0c;并內網穿透實現公網訪問 文章目錄 通過HFS低成本搭建NAS&#xff0c;并內網穿透實現公網訪問前言1.下載安裝cpolar1.1 設置HFS訪客1.2 虛擬文件系統 2. 使用cpolar建立一條內網穿透數據隧道2.1 保留隧道2.2 隧道名稱2.3 成功使用cpolar創建二級…

JMS 消息隊列接口基本使用指南

概述 介紹 JMS&#xff08;Java Message Service&#xff09;即 Java 消息服務應用程序接口&#xff0c;是一個 Java 平臺中關于面向消息中間件&#xff08;MOM&#xff09;的 API&#xff0c;用于在兩個應用程序之間&#xff0c;或分布式系統中發送消息&#xff0c;進行異步…