連續(xù)小波變換(CWT)+時間序列預測!融合時頻分析與深度學習的預測新思路
前言
本期更新推出一種基于連續(xù)小波變換(Continuous Wavelet Transform, CWT)與VGG模型的時間序列預測方法,將傳統(tǒng)時頻分析技術與深度學習相結合,有效解決了復雜時間序列的建模難題。通過將一維時序信號轉換為二維時頻圖像,充分利用卷積神經網絡(CNN)對圖像特征的強大提取能力,在保證時序局部特征的同時,顯著提升模型對非平穩(wěn)信號的適應性。
1.模型簡介
模型核心思想
(1)時頻轉換:利用CWT捕捉時序信號的時頻局部特性,生成高分辨率的時頻圖像;
(2)特征學習:借助VGG模型提取時頻圖像的深層語義特征;
(3)預測建模:通過全連接網絡將圖像特征映射為未來時間點的預測值。
2.數(shù)據(jù)處理流程
2.1 滑動窗口介紹
在時間序列預測問題中,滑動窗口是一種常用的數(shù)據(jù)處理方法,用于將時間序列數(shù)據(jù)轉換為模型的輸入特征和輸出標簽。滑動窗口的基本思想是以固定的時間窗口長度對時間序列進行切片,每次滑動一定的步長,從而生成一系列的子序列。這些子序列可以作為模型的輸入特征,同時可以對應相同長度的下一個時間步的數(shù)據(jù)作為輸出標簽。這樣就可以將時間序列數(shù)據(jù)轉換為監(jiān)督學習問題的數(shù)據(jù)集,用于訓練和測試預測模型。
具體來說,對于一個時間序列 [x1, x2, x3, ..., xn],滑動窗口的過程如下:
(1)擇固定長度的時間窗口,比如長度為w。
(2)從序列的起始位置開始,取前w個數(shù)據(jù)作為輸入特征,同時取第w+1個數(shù)據(jù)作為輸出標簽,形成第一個樣本。
(3)然后向后滑動一個固定的步長,取第2到w+1個數(shù)據(jù)作為輸入特征,同時取第w+2個數(shù)據(jù)作為輸出標簽,形成第二個樣本,依此類推,直到序列末尾。
比如序列長為20,滑動窗口設置為4
滑動窗口.png
訓練集,滑動:
滑動.png
構造訓練集數(shù)據(jù)和對應標簽:
訓練集.png
構造測試集數(shù)據(jù)和對應標簽:
測試集.png
通過滑動窗口的處理,原始的時間序列數(shù)據(jù)被轉換為一系列的樣本,每個樣本包括了固定長度的輸入特征和對應的輸出標簽,用于模型的訓練和測試?;瑒哟翱诩夹g可以幫助模型捕捉時間序列數(shù)據(jù)的局部模式和趨勢,提高模型對時間序列的預測能力。
2.2 數(shù)據(jù)預處理與特征工程流程
(1) 滑動窗口分割
①輸入:原始時間序列 X={x1,x2,...,xT}
②操作:
- 生成窗口序列:W={W1,W2,...,WN},Wi={xi,xi+1,...,xi+L?1}
- 窗口長度 L:截取局部時序片段(如 L=128)
數(shù)據(jù)集制作.png
(2) 連續(xù)小波變換(CWT)
①參數(shù)配置:
- 小波基函數(shù):Morlet小波('morl',兼顧時頻分辨率)
- 尺度范圍:scales=[1,2,...,64]scales=[1,2,...,64](控制頻率分辨率)
②操作:
對每個窗口Wi
時頻圖.png
3.基于CWT+VGG的預測模型
3.1 定義VGG模型,設置參數(shù),訓練模型
模型訓練.png
3.2預測結果可視化
預測擬合.png
3.3 模型評估
模型評估.png
本次主要推出一種時頻圖像結合深度學習模型的預測思路,時頻圖像的變換方式,不同參數(shù)的嘗試,不同模型的組合預測,還有很大的探索空間!
比如上述模型中小波基函數(shù)的選擇,其他參數(shù)的設置例如:窗口值的選擇,小波參數(shù),時頻圖參數(shù)等等,都還有很多不同嘗試的組合,來進一步提升模型預測效果!
