用於時間序列分析的 5 個Python 庫

語言: CN / TW / HK

時間序列分析是資料科學家最常見的問題之一。大多數時間序列解決方案涉及經濟預測、資源需求預測、股票市場分析和銷售分析。

如果從頭開始,為大量與時間相關的資料開發複雜的模型對於程式設計師來說可能是一項艱鉅的任務。這就是 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——你也可以去看看。

主要的目標是根據你的需要選擇一個庫,也就是說,這個庫可以匹配你的問題陳述的需求。要了解更多關於這些庫的資訊,你可以檢視它們各自提供的文件,因為它們中的大多數都是完全開源的。

作者:Pranjal Saxena



本文分享自微信公眾號 - DeepHub IMBA(deephub-imba)。
如有侵權,請聯絡 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。