原理+论文+实战:60篇由浅入深的时间序列预测/分类教程汇总
時間序列預(yù)測模型頂會論文資源匯總(2022.04.04更新)
包含時間序列預(yù)測,時間序列分類,時間序列異常檢測,時空預(yù)測,時序推薦等領(lǐng)域的熱門模型,以及Transformer應(yīng)用于時間序列分析的變體和優(yōu)化。
博文地址:【時序】時間/時空序列分類/預(yù)測/異常檢測模型頂會論文資源匯總
Github倉庫地址:https://github.com/datamonday/TimeSeriesMoonlightBox
教程匯總與源碼獲取(2021)
發(fā)布該篇博客之后,從去年至今收到了很多私信詢問如何入門時間序列分析以及源碼,今天終于有時間把過去一年中所學(xué)習(xí)的知識點和踩過的坑做個梳理,僅供參考,并將總結(jié)后的教程和源碼,放到GitHub。主要包括以下部分:1)Python;2)TensorFlow/Keras;3)時間序列分析入門教程;4)CNN;5)LSTM;6)時序分類;7)時序預(yù)測;8)注意力機制。
Github:https://github.com/datamonday/Time-Series-Analysis-Tutorial,歡迎Star,Fork!持續(xù)更新中 ?
其它倉庫:
前言
?最一段時間都在學(xué)習(xí)時間序列預(yù)測和時間序列分類相關(guān)的知識,一開始拿到任務(wù)感覺無從下手,論文看不懂,代碼不會寫。經(jīng)過近三個月的摸索,也算是入門的小白了,這篇博文算是個人經(jīng)過踩坑,去粗取精之后的經(jīng)驗總結(jié)。通過4篇博客、9篇論文、32篇實戰(zhàn)教程,梳理出了一套系統(tǒng)化的時間序列預(yù)測和時間序列分類任務(wù)的入門指南。文中提及的博客論文和教程全部內(nèi)容字數(shù)大約在50萬字到100萬字之間。既是對這段時間所學(xué)知識的梳理總結(jié),也希望給有需要的同學(xué)提供幫助。水平有限,如有問題歡迎指出,謝謝。
🎯【適合人群】:
- 沒有時間序列預(yù)測/分類相關(guān)的經(jīng)驗的小白。
?【代碼環(huán)境】:
- python 3.7.6
- tensorflow 2.1.0
🔊【注意事項】:
-
因為tensorflow 2.0版本開始集成了keras,成為了 tensorflow.keras API,因此不用額外安裝,并且無需 import keras。
-
本文提及文章的神經(jīng)網(wǎng)絡(luò)編寫部分使用Keras深度學(xué)習(xí)框架。
-
本文提及文章的所有代碼均在Jupyter Notebook中編寫,并測試通過。
-
本文提及的所有文章中,參考資料均在每篇文章的文末給出。
📽【行文順序】:
-
原理篇:邏輯順序
-
論文篇:時間順序
-
實戰(zhàn)篇:邏輯順序+時間順序
-
注:本文提及的網(wǎng)絡(luò)架構(gòu)、論文、教程都是按照由淺入深介紹的,教程部分(三、實戰(zhàn)篇)有些教程是有相互關(guān)聯(lián)的。
📖【主要內(nèi)容】:時間序列任務(wù)分為時間序列預(yù)測和時間序列分類兩種類型,本文主要內(nèi)容如下:
- LSTM 及其不同的網(wǎng)絡(luò)架構(gòu)處理時間序列預(yù)測/分類任務(wù);
- CNN 及其不同的網(wǎng)絡(luò)架構(gòu)處理時間序列預(yù)測/分類任務(wù);
- CNN-LSTM 網(wǎng)絡(luò)處理時間序列預(yù)測/分類任務(wù);
- ConvLSTM 網(wǎng)絡(luò)處理時間序列預(yù)測/分類任務(wù);
- DeepConvLSTM 網(wǎng)絡(luò)處理時間序列分類任務(wù);
- LSTM-FCN 網(wǎng)絡(luò)處理時間序列分類任務(wù);
- Multivariate LSTM-FCNs 網(wǎng)絡(luò)處理時間序列分類任務(wù)
文章目錄
- 時間序列預(yù)測模型頂會論文資源匯總(2022.04.04更新)
- 教程匯總與源碼獲取(2021)
- 前言
- 一、原理篇
- 1.1 CNN
- 1.2 RNN
- 1.3 LSTM
- 二、論文篇
- 2.1 WISDM 實驗室論文
- 2.2 UCI-HAR 數(shù)據(jù)集論文
- 2.3 CNN-LSTM 論文
- 2.4 ConvLSTM 論文
- 2.5 DeepConvLSTM 論文
- 2.6 LSTM-FCN 論文
- 三、實戰(zhàn)篇
- 3.1 時間序列任務(wù) 入門篇
- 3.2 時間序列預(yù)測 基礎(chǔ)篇
- 3.3 時間序列預(yù)測 進階篇
- 3.3 時間序列分類 基礎(chǔ)篇
- 3.4 時間序列分類 進階篇 (? 更新中···)
- 四. 調(diào)參篇
- 五. 相關(guān)論文(? 更新中···)
- 六. 注意力機制(2020/10/29更新)
- 公眾號
一、原理篇
本部分所有標題都設(shè)置了對應(yīng)文章超鏈接,直接點擊傳送。
如果對下文提及的原理比較熟悉,可以直接跳過。
1.1 CNN
1. 零基礎(chǔ)入門深度學(xué)習(xí)(4) - 卷積神經(jīng)網(wǎng)絡(luò)
- 文章日期:2017/08/28
- 內(nèi)容梗概:CNN算法原理+數(shù)學(xué)推導(dǎo)+代碼實現(xiàn)
1.2 RNN
2. 零基礎(chǔ)入門深度學(xué)習(xí)(5) - 循環(huán)神經(jīng)網(wǎng)絡(luò)
- 文章日期:2017/08/28
- 內(nèi)容梗概:RNN算法原理+數(shù)學(xué)推導(dǎo)+代碼實現(xiàn)
1.3 LSTM
3. Understanding LSTM Networks
- 文章日期:2015/08/27
- 適合人群:了解LSTM的基本原理。
相信大家看過的很多介紹LSTM原理的文章都用到了這篇文章的配圖。比如:
4. 零基礎(chǔ)入門深度學(xué)習(xí)(6) - 長短時記憶網(wǎng)絡(luò)(LSTM)
- 文章日期:2017/08/28
- 內(nèi)容梗概:LSTM算法原理+數(shù)學(xué)推導(dǎo)+代碼實現(xiàn)
這三篇文章(本篇+之前同系列兩篇)應(yīng)該是我目前遇到的講解得最詳細最全面思路最清晰的文章,由淺入深,原理+推導(dǎo)+代碼,墻裂推薦。
二、論文篇
本部分主要內(nèi)容:
- 時間序列分類任務(wù)數(shù)據(jù)集構(gòu)建(人類活動識別)
- CNN-LSTM 網(wǎng)絡(luò)
- ConvLSTM 網(wǎng)絡(luò)
- DeepConvLSTM 網(wǎng)絡(luò)
- LSTM-FCN 網(wǎng)絡(luò)
本部分可以先跳過,直接看實戰(zhàn)篇,如果對其中的網(wǎng)絡(luò)架構(gòu)有疑問或者有些內(nèi)容看不懂,再閱讀這些論文也可以。
2.1 WISDM 實驗室論文
1. Activity Recognition using Cell Phone Accelerometers
- 論文被引:2034
- 論文年份:2010
WISDM實驗室應(yīng)該是最早開始做基于手機傳感器的人類活動識別的實驗室,手機的數(shù)據(jù)只有3個特征(3軸傳感器數(shù)據(jù))。這篇論文是該實驗室的第一篇論文,主要介紹了關(guān)于數(shù)據(jù)集的構(gòu)建與處理。
2. Cell Phone-Based Biometric Identification
- 論文被引:262
- 論文年份:2010
這篇論文是該實驗室的第二篇論文,主要介紹了 數(shù)據(jù)收集以及將時間序列數(shù)據(jù)轉(zhuǎn)換為樣本的過程,值得借鑒。
該實驗室還有3篇論文,個人感覺參考意義不大,可以先不看。
2.2 UCI-HAR 數(shù)據(jù)集論文
1. Human Activity Recognition on Smartphones using a Multiclass Hardware-Friendly SVM
- 論文被引:619
- 論文年份:2012
這篇論文是創(chuàng)建該數(shù)據(jù)集的實驗室發(fā)表的有關(guān)人類活動識別的第一篇論文,主要介紹了使用監(jiān)督機器學(xué)習(xí)方法通過手機傳感器信號來識別人類活動(6類,分別是站立,行走,放置,行走,上樓和在下樓)進行分類。使用9個特征(6軸傳感器+3個分離信號(身體重力加速度))。
2. A Public Domain Dataset for Human Activity Recognition Using Smartphones
- 論文被引:763
- 論文年份:2013
這篇論文介紹了 UCI-HAR Dataset數(shù)據(jù)集是如何創(chuàng)建的,很有借鑒意義,如果做時間序列分類任務(wù)的話,是必讀論文。
2.3 CNN-LSTM 論文
1. Long-term Recurrent Convolutional Networks for Visual Recognition and Description
- 論文被引:3634
- 論文年份:2015
該論文提出的網(wǎng)絡(luò)架構(gòu)最初被稱為長期循環(huán)卷積網(wǎng)絡(luò)(LRCN),現(xiàn)在使用“CNN LSTM”來指代使用CNN作為前端的LSTM。該網(wǎng)絡(luò)架構(gòu)最初用于生成圖像的文本描述的任務(wù)。關(guān)鍵是CNN,該CNN在圖像分類任務(wù)上進行了預(yù)訓(xùn)練,使得可以用作字幕生成的特征提取器。
2. Show and Tell: A Neural Image Caption Generator
- 論文被引:3378
- 論文年份:2015
該論文提出的網(wǎng)絡(luò)架構(gòu)用于語音識別和自然語言處理問題,其中CNN用作音頻和文本輸入數(shù)據(jù)上的特征提取器,之后輸入到LSTM進行進一步處理。
這兩篇論文是CNN-LSTM網(wǎng)絡(luò)家族的開篇之作,是必讀論文。
2.4 ConvLSTM 論文
1. Convolutional LSTM Network: A Machine Learning Approach for Precipitation Nowcasting
- 論文被引:1787
- 論文年份:2015
這篇論文是最先提出 ConvLSTM 網(wǎng)絡(luò)架構(gòu)的論文,該論文是用于預(yù)測相對短時間內(nèi)某個地區(qū)未來的降雨強度,屬于必讀論文。
2.5 DeepConvLSTM 論文
1. Deep Convolutional Neural Networks On Multichannel Time Series For Human Activity Recognition
- 論文被引:541
- 論文年份:2015
在基準數(shù)據(jù)集上對所提方法與現(xiàn)有方法的比較進行了廣泛的研究。結(jié)果表明,該方法是一種很有競爭力的HAR問題求解算法。該論文還研究了CNN的效率,并得出結(jié)論:CNN對于在線人類活動識別是足夠快的。
2. Deep Convolutional and LSTM RNN for Multimodal Wearable Activity Recognition
- 論文被引:836
- 論文年份:2016
該論文提出了DeepConvLSTM網(wǎng)絡(luò)架構(gòu):由卷積層和LSTM循環(huán)層組成的深度學(xué)習(xí)框架,它能夠自動學(xué)習(xí)特征表示并對它們的激活之間的時間依賴性進行建模。通過業(yè)內(nèi)的標準的人類活動識別數(shù)據(jù)集(OPPORTUNITY和Skoda)進行實驗,證明此框架適用于可??穿戴傳感器數(shù)據(jù)的活動識別。屬于必讀論文。
2.6 LSTM-FCN 論文
1. LSTM Fully Convolutional Networks for Time Series Classification
- 論文被引:211
- 論文年份:2017
該論文提出的模型在顯著地提高全卷積網(wǎng)絡(luò)性能的同時保證模型大小只有很少的增加,并且幾乎不需要對數(shù)據(jù)集進行預(yù)處理。提出的長短期記憶-全卷積網(wǎng)絡(luò) (LSTM-FCN) 與其他網(wǎng)絡(luò)相比,具有最新的性能。利用注意力-長短期記憶-全卷積網(wǎng)絡(luò) (ALSTM-FCN),探討了注意力機制在時間序列分類中的應(yīng)用。利用注意力機制可以可視化LSTM細胞的決策過程。此外,還提出了微調(diào)的方法來提高訓(xùn)練模型的性能。對模型的性能進行了全面的分析,并與其他技術(shù)進行了比較。
2. Multivariate LSTM-FCNs for Time Series Classification
- 論文被引:70
- 論文年份:2018
該論文提出將現(xiàn)有的單變量時間序列分類模型長短期記憶-全卷積網(wǎng)絡(luò)(LSTM-FCN)和注意力-長短期記憶-全卷積網(wǎng)絡(luò)(ALSTM-FCN)通過在全卷積塊上增加一個壓縮和激勵塊來進一步提高分類精度,從而轉(zhuǎn)化為多變量時間序列分類模型。提出的模型在少量預(yù)處理的情況下優(yōu)于大多數(shù)最新模型。所提出的模型能有效地處理各種復(fù)雜的多元時間序列分類任務(wù),如活動識別或動作識別。此外,所提出的模型在滿足實時要求(小,快),可以部署在內(nèi)存受限的系統(tǒng)上。
三、實戰(zhàn)篇
3.1 時間序列任務(wù) 入門篇
本部分不涉及具體的數(shù)據(jù)集,使用構(gòu)造的數(shù)字序列;目的是通過程序了解網(wǎng)絡(luò)架構(gòu)和定義方法。
- LSTM 01:理解LSTM網(wǎng)絡(luò)及訓(xùn)練方法
- LSTM 02:如何為LSTMs準備數(shù)據(jù)
- LSTM 03:如何用Keras編寫 LSTMs
- LSTM 04:4種序列預(yù)測模型及Keras實現(xiàn)
- LSTM 05:如何用Keras開發(fā) Vanilla LSTMs 和 Stacked LSTMs
- LSTM 06:如何用Keras開發(fā) CNN LSTM
- LSTM 07:如何用Keras開發(fā) Encoder-Decoder LSTM
- LSTM 08:超詳細LSTM調(diào)參指南
3.2 時間序列預(yù)測 基礎(chǔ)篇
- 時間序列預(yù)測01:如何將時間序列預(yù)測轉(zhuǎn)化為監(jiān)督學(xué)習(xí)問題
- 時間序列預(yù)測02:經(jīng)典方法綜述 自回歸ARIMA/SRIMA 指數(shù)平滑法等
- 時間序列預(yù)測03:如何為CNN/LSTM模型構(gòu)建數(shù)據(jù)集
- 時間序列預(yù)測04:TF2.1開發(fā)多層感知器(MLPs)時間序列預(yù)測模型詳解
- 時間序列預(yù)測05:CNN時間序列預(yù)測模型詳解 01 Univariate CNN、Multivariate CNN
- 時間序列預(yù)測06:CNN時間序列預(yù)測模型詳解 02 Multi-step CNN、Multivariate Multi-step CNN
- 時間序列預(yù)測07:如何開發(fā)LSTM實現(xiàn)時間序列預(yù)測詳解 01 Univariate LSTM
- 時間序列預(yù)測08:如何開發(fā)LSTM實現(xiàn)時間序列預(yù)測詳解 02 Multivariate LSTM
- 時間序列預(yù)測09:如何開發(fā)LSTM實現(xiàn)時間序列預(yù)測詳解 03 Multi-step LSTM
- 時間序列預(yù)測10:如何開發(fā)LSTM實現(xiàn)時間序列預(yù)測詳解 04 Multivariate Multi-step LSTM
3.3 時間序列預(yù)測 進階篇
- 時間序列預(yù)測11:用電量預(yù)測 01 數(shù)據(jù)分析與建模
- 時間序列預(yù)測12:用電量預(yù)測 02 樸素模型多步預(yù)測建模
- 時間序列預(yù)測13:用電量預(yù)測 03 ARIMA模型多步預(yù)測建模
- 時間序列預(yù)測14:CNN 實現(xiàn)用電量/發(fā)電量預(yù)測
- 時間序列預(yù)測15:Multi-input / Multi-head CNN 實現(xiàn)用電量/發(fā)電量預(yù)測
- 時間序列預(yù)測16:Encoder-Decoder LSTM 實現(xiàn)用電量/發(fā)電量預(yù)測
- 時間序列預(yù)測17:CNN-LSTM 實現(xiàn)用電量/發(fā)電量預(yù)測
- 時間序列預(yù)測18:ConvLSTM 實現(xiàn)用電量/發(fā)電量預(yù)測
- 使用Keras實現(xiàn)預(yù)測燃油效率
- 使用Keras實現(xiàn)LSTM天氣預(yù)測
3.3 時間序列分類 基礎(chǔ)篇
- 時間序列分類01:人類活動識別深度學(xué)習(xí)模型綜述
- 時間序列分類02:數(shù)據(jù)可視化與問題分析建模流程詳解(UCI-HAR)
- 時間序列分類03:如何開發(fā)CNNs模型實現(xiàn)人類活動識別(調(diào)參)
- 時間序列分類04:如何開發(fā)LSTMs模型實現(xiàn)人類活動識別(CNN-LSTM、ConvLSTM)
3.4 時間序列分類 進階篇 (? 更新中···)
- TensorFlow實現(xiàn)時間序列滑動窗口
- Python yield 實現(xiàn)滑動窗口截取時間序列數(shù)據(jù)(滑動步長可調(diào))
- numpy unique() 方法實現(xiàn)將分類標簽轉(zhuǎn)化為數(shù)字編碼(非one-hot)
四. 調(diào)參篇
- 深度學(xué)習(xí)模型24種優(yōu)化策略詳解
五. 相關(guān)論文(? 更新中···)
六. 注意力機制(2020/10/29更新)
公眾號
歡迎關(guān)注公眾號,獲取更多干貨內(nèi)容!
以上是三個多月以來對時間序列預(yù)測和分類任務(wù)的總結(jié),僅供參考。如果給你帶來了幫助,請動動手指點個贊;如果對文中內(nèi)容存疑,歡迎指出交流,謝謝各位人才。
剛開始的時候,無從下手,走了很多彎路。經(jīng)過這段時間的試錯和摸索,算是總結(jié)出了一些經(jīng)驗。上文提到的論文,是個人認為幫助比較大的論文,如果在做時間序列預(yù)測或分類任務(wù)的話最好看一下,理解其中的建模思路和網(wǎng)絡(luò)架構(gòu)的優(yōu)缺點,以便快速上手。
實戰(zhàn)篇的代碼主要參考澳大利亞博主Jason Brownlee的博客文章,在此表示感謝。博客地址:傳送門。
總結(jié)
以上是生活随笔為你收集整理的原理+论文+实战:60篇由浅入深的时间序列预测/分类教程汇总的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java打印漏斗图案_寒假作业1打印漏斗
- 下一篇: 苹果双卡双待买哪款合适_2020年买哪款