如果從頭開始,為大量與時間相關(guān)的數(shù)據(jù)開發(fā)復(fù)雜的模型對于程序員來說可能是一項(xiàng)艱巨的任務(wù)。 這就是 Python 的一個好處,它有許多時間序列相關(guān)的庫可以直接使用。
本文將討論五個這樣的庫,如果您對解決時間序列相關(guān)問題感興趣,它們可能會對您有所幫助。 其中一些庫正在使用深度學(xué)習(xí)方法來查找數(shù)據(jù)中的最佳模式。
盡管如此,我還是建議用你的數(shù)據(jù)一個一個地嘗試這些庫,然后觀察哪個模型可以幫助你以更好的方式捕捉模式。 您還可以組合每個模型的結(jié)果以獲得合并的結(jié)果——這有時會為我們提供更好的結(jié)果。
AutoTS
顧名思義,它是一個用于自動時間序列分析的 Python 庫。 AutoTS 允許我們用一行代碼訓(xùn)練多個時間序列模型,以便我們可以選擇最適合的模型。
該庫是 autoML 的一部分,其目標(biāo)是為初學(xué)者提供自動化庫。
依賴
- Python 3.6+
- Numpy
- Pandas
- Sklearn
- Statsmodels
Prophet
Prophet 是由 Facebook 的數(shù)據(jù)科學(xué)團(tuán)隊(duì)開發(fā)的用于解決時間序列相關(guān)問題的優(yōu)秀庫,可以使用在 R 和 Python 中。
這對于處理具有強(qiáng)烈季節(jié)性影響的時間序列(如購買行為或銷售預(yù)測)特別有用。 此外,它可以很好地處理雜亂的數(shù)據(jù),無需任何手動操作。
Darts
Darts 是由 Unit8.co 開發(fā)的用于預(yù)測時間序列,并且對scikit-learn 友好 的Python 包。 它包含大量模型,從 ARIMA 到深度神經(jīng)網(wǎng)絡(luò),用于處理與日期和時間相關(guān)的數(shù)據(jù)。
該庫的好處在于它還支持用于處理神經(jīng)網(wǎng)絡(luò)的多維類。
它還允許用戶結(jié)合來自多個模型和外部回歸模型的預(yù)測,從而更容易地對模型進(jìn)行回測。
Pyflux
Pyflux 是一個為 Python 構(gòu)建的開源時間序列庫。 Pyflux選擇了更多的概率方法來解決時間序列問題。這種方法對于需要更完整的不確定性的預(yù)測這樣的任務(wù)特別有利。
用戶可以建立一個概率模型,其中通過聯(lián)合概率將數(shù)據(jù)和潛在變量視為隨機(jī)變量。
Sktime
Sktime是一個Python庫,它帶有時間序列算法和工具,與scikit-learn兼容。它還具有分類模型、回歸模型和時間序列預(yù)測模型。這個庫的主要目標(biāo)是制作可以與scikit-learn互操作。
總結(jié)
這些是一些可以在處理時間序列問題時使用的Python庫/框架。在互聯(lián)網(wǎng)上還有一些更酷的時間系列庫,比如tsfresh、atspy、kats——你也可以去看看。
主要的目標(biāo)是根據(jù)你的需要選擇一個庫,也就是說,這個庫可以匹配你的問題陳述的需求。要了解更多關(guān)于這些庫的信息,你可以查看它們各自提供的文檔,因?yàn)樗鼈冎械拇蠖鄶?shù)都是完全開源的。
原文鏈接:https://www.toutiao.com/a6992746033121968673/