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