自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

2022年十個(gè)用于時(shí)間序列分析的Python庫推薦

開發(fā) 前端
去年我們整理了一些用于處理時(shí)間序列數(shù)據(jù)的Python庫,現(xiàn)在已經(jīng)是2022年了,我們看看又有什么新的推薦。

時(shí)間序列是數(shù)據(jù)點(diǎn)的序列,通常由在一段時(shí)間間隔內(nèi)進(jìn)行的連續(xù)測量組成。時(shí)間序列分析是使用統(tǒng)計(jì)技術(shù)對時(shí)間序列數(shù)據(jù)進(jìn)行建模和分析,以便從中提取有意義的信息并做出預(yù)測的過程。

時(shí)間序列分析是一個(gè)強(qiáng)大的工具,可以用來從數(shù)據(jù)中提取有價(jià)值的信息,并對未來的事件做出預(yù)測。它可以用來識別趨勢、季節(jié)模式和變量之間的其他關(guān)系。時(shí)間序列分析還可以用來預(yù)測未來的事件,如銷售、需求或價(jià)格變動。

如果你正在使用Python處理時(shí)間序列數(shù)據(jù),那么有許多不同的庫可以選擇。所以在本文中,我們將整理Python中最流行處理時(shí)間序列的庫。

Sktime

Sktime是一個(gè)用于處理時(shí)間序列數(shù)據(jù)的Python庫。它提供了一組處理時(shí)間序列數(shù)據(jù)的工具,包括用于處理、可視化和分析數(shù)據(jù)的工具。Sktime的設(shè)計(jì)是易于使用和可擴(kuò)展的,這樣新的時(shí)間序列算法就可以很容易地實(shí)現(xiàn)并且進(jìn)行集成。

Sktime正如其名,它支持scikit-learn API,包含了有效解決涉及時(shí)間序列回歸、預(yù)測和分類問題的所有必要方法和工具。該庫包含專門的機(jī)器學(xué)習(xí)算法以及時(shí)間序列的獨(dú)特的轉(zhuǎn)換方法,在其他庫中并沒有提供,所以Sktime可以作為一個(gè)非常好的基礎(chǔ)庫。

根據(jù)sktime的文檔,“我們的目標(biāo)是使時(shí)間序列分析生態(tài)系統(tǒng)作為一個(gè)整體更具互操作性和可用性。Sktime為不同但相關(guān)的時(shí)間序列學(xué)習(xí)任務(wù)提供了統(tǒng)一的接口。它的特點(diǎn)是專門的時(shí)間序列算法和工具,用于組合模型的構(gòu)建,包括流水線管道、集成、調(diào)優(yōu)和簡化,使用戶可以將一個(gè)任務(wù)的算法應(yīng)用到另一個(gè)任務(wù)。

sktime還提供與相關(guān)庫的接口,例如scikit-learn、statsmodels、tsfresh、PyOD和[fbprophet]等等。”

下面是一個(gè)代碼樣例

from sktime.datasets import load_airline
from sktime.forecasting.model_selection import temporal_train_test_split

# from sktime.utils.plotting.forecasting import plot_ys

y = load_airline()
y_train, y_test = temporal_train_test_split(y)
plt.title('Airline Data with Train and Test')
y_train.plot(label = 'train')
y_test.plot(label = 'test')
plt.legend()

pmdarima

pmdarima是一個(gè)用于時(shí)間序列數(shù)據(jù)統(tǒng)計(jì)分析的Python庫。它基于ARIMA模型并且提供了各種分析、預(yù)測和可視化時(shí)間序列數(shù)據(jù)的工具。Pmdarima還提供了處理季節(jié)性數(shù)據(jù)的各種工具,包括季節(jié)性測試和季節(jié)性分解工具。

在時(shí)間序列分析中經(jīng)常使用的預(yù)測模型之一是ARIMA(自回歸綜合移動平均)。ARIMA是一種預(yù)測算法,可以根據(jù)時(shí)間序列的過去值中的信息來預(yù)測未來的值。

pmdarima是ARIMA模型的包裝器,它自帶一個(gè)自動超參數(shù)搜索函數(shù),可以自動為ARIMA模型找到最佳超參數(shù)(p,d,q)。該庫包括下面一些主要的功能點(diǎn):

  • 一組關(guān)于平穩(wěn)性和季節(jié)性的統(tǒng)計(jì)測試
  • 時(shí)間序列效用,如差分和逆差分
  • 眾多的內(nèi)生和外生轉(zhuǎn)換器和特征化器,包括Box-Cox和傅立葉變換
  • 季節(jié)時(shí)間序列分解
  • 交叉驗(yàn)證工具
  • 內(nèi)置一個(gè)豐富的可用于原型和示例的時(shí)間序列數(shù)據(jù)集集合

AutoTS

顧名思義,它是一個(gè)用于自動時(shí)間序列分析的 Python 庫。AutoTS 允許我們用一行代碼訓(xùn)練多個(gè)時(shí)間序列模型,以便我們可以選擇最適合的模型。

該庫是 autoML 的一部分,其目標(biāo)是為初學(xué)者提供自動化庫。

TSFresh

tsfresh是一個(gè)可以自動從時(shí)間序列中提取特征的Python包。它基于時(shí)間序列中的信息可以分解為一組有意義的特征來實(shí)現(xiàn)的。tsfresh 負(fù)責(zé)手動提取這些特征的繁瑣任務(wù),并提供自動特征選擇和分類的工具。它可以與 pandas DataFrames 一起使用,并提供廣泛的用于處理時(shí)間序列數(shù)據(jù)的函數(shù),包括:

  • 從時(shí)間序列中自動提取特征
  • 自動特征選擇
  • 時(shí)間序列分解
  • 降維
  • 異常值檢測
  • 支持多種時(shí)間序列格式
  • 支持缺失值
  • 支持多種語言

圖片

Prophet

Prophet是由Facebook核心數(shù)據(jù)科學(xué)團(tuán)隊(duì)發(fā)布的開源軟件。它基于一個(gè)相加模型,其中非線性趨勢適合每年、每周和每日的季節(jié)性,加上假日效應(yīng)。它最適合具有強(qiáng)烈季節(jié)性效應(yīng)的時(shí)間序列和幾個(gè)季節(jié)的歷史數(shù)據(jù)。Prophet對于缺失的數(shù)據(jù)和趨勢的變化具有很強(qiáng)的魯棒性,通常能夠很好地處理異常值。

根據(jù)官方文檔,fbprophet在處理具有顯著季節(jié)性影響的時(shí)間序列數(shù)據(jù)和幾個(gè)季節(jié)價(jià)值的之前數(shù)據(jù)時(shí)工作得非常好。此外fbprophet能夠抵抗缺失數(shù)據(jù),并能夠有效地管理異常值。

圖片

Statsforecast

Statsforecast提供了一組廣泛使用的單變量時(shí)間序列預(yù)測模型,包括自動ARIMA和ETS建模并使用numba優(yōu)化。它還包括大量的基準(zhǔn)測試模型。根據(jù)官網(wǎng)的介紹:

  • Python和R中最快最準(zhǔn)確的AutoARIMA。
  • Python和R中最快最準(zhǔn)確的ETS。
  • 兼容sklearn接口。
  • ARIMA的外生變量和預(yù)測區(qū)間的包含。
  • 比pmdarima快20倍,比Prophet快500倍,比NeuralProphet快100倍,比statmodels快4倍。
  • 通過numba編譯為高性能機(jī)器代碼。
  • 開箱即用的實(shí)現(xiàn)ADIDA, HistoricAverage, CrostonClassic, CrostonSBA, CrostonOptimized, seasonalwindowaaverage, SeasonalNaive, IMAPA Naive, RandomWalkWithDrift, windowaaverage, SeasonalExponentialSmoothing, TSB, AutoARIMA和ETS。

kats

Kats 是 Facebook 研究團(tuán)隊(duì)最近開發(fā)的另一個(gè)專門處理時(shí)間序列數(shù)據(jù)的庫。該框架的目標(biāo)是為解決時(shí)間序列問題提供一個(gè)完整的解決方案。使用此庫,我們可以執(zhí)行以下操作:

  • 時(shí)間序列分析
  • 模式檢測,包括季節(jié)性、異常值、趨勢變化
  • 產(chǎn)生65個(gè)特征的特征工程模塊
  • 對時(shí)間序列數(shù)據(jù)建立預(yù)測模型,包括Prophet、ARIMA、Holt Winters等。

Darts

Darts 是由 Unit8.co 開發(fā)的用于預(yù)測時(shí)間序列,并且對scikit-learn 友好 的Python 包。它包含大量模型,從 ARIMA 到深度神經(jīng)網(wǎng)絡(luò),用于處理與日期和時(shí)間相關(guān)的數(shù)據(jù)。

該庫的好處在于它還支持用于處理神經(jīng)網(wǎng)絡(luò)的多維類。

它還允許用戶結(jié)合來自多個(gè)模型和外部回歸模型的預(yù)測,從而更容易地對模型進(jìn)行回測。

Pyflux

Pyflux 是一個(gè)為 Python 構(gòu)建的開源時(shí)間序列庫。Pyflux選擇了更多的概率方法來解決時(shí)間序列問題。這種方法對于需要更完整的不確定性的預(yù)測這樣的任務(wù)特別有利。

用戶可以建立一個(gè)概率模型,其中通過聯(lián)合概率將數(shù)據(jù)和潛在變量視為隨機(jī)變量。

PyCaret

PyCaret是一個(gè)基于Python的開源、低代碼的機(jī)器學(xué)習(xí)庫,它是一個(gè)端到端機(jī)器學(xué)習(xí)和模型管理工具,可以成倍地加快實(shí)驗(yàn)周期,讓工作效率更高。

與其他開源機(jī)器學(xué)習(xí)庫相比,PyCaret是一個(gè)可替代的低代碼庫,可以只用幾行代碼替換數(shù)百行代碼。這使得實(shí)驗(yàn)的速度和效率呈指數(shù)級增長。PyCaret本質(zhì)上是scikit-learn、XGBoost、LightGBM、CatBoost、spacacy、Optuna、Hyperopt、Ray等幾個(gè)機(jī)器學(xué)習(xí)庫和框架的Python包裝。

雖然PyCaret不是一個(gè)專門的時(shí)間序列預(yù)測庫,但它有一個(gè)專門用于時(shí)間序列預(yù)測的新模塊。它仍然處于預(yù)發(fā)布狀態(tài),但是安裝時(shí)需要使用以下代碼進(jìn)行安裝才能使用新的模塊

pip install --pre pycaret

PyCaret時(shí)間序列模塊與現(xiàn)有的API一致,并且可以使用完整的功能,例如:統(tǒng)計(jì)測試、模型訓(xùn)練和選擇(30+算法模型)、模型分析、自動超參數(shù)調(diào)優(yōu)、實(shí)驗(yàn)日志、云部署等。所有這些都只用了幾行代碼就完成了。

圖片

總結(jié)

Python中有許多可用的時(shí)間序列預(yù)測庫(比我們在這里介紹的更多)。每個(gè)庫都有自己的優(yōu)缺點(diǎn),因此根據(jù)自己的需要選擇合適的是很重要的。如果你有什么更好的推薦,請留言告訴我們。


責(zé)任編輯:華軒 來源: DeepHub IMBA
相關(guān)推薦

2021-08-05 13:49:39

Python工具開發(fā)

2023-10-07 11:36:15

2022-02-22 23:25:19

Python編程語言開發(fā)

2023-02-14 08:10:14

Python人工智能XAI

2022-12-04 23:39:33

機(jī)器學(xué)習(xí)AutoML

2022-03-13 23:31:13

JavaScript工具動畫庫

2022-04-24 10:12:25

Python軟件包代碼

2024-01-30 00:36:41

Python機(jī)器學(xué)習(xí)

2024-02-20 14:25:39

Python數(shù)據(jù)分析

2024-10-15 10:40:09

2022-08-12 15:47:17

工具基礎(chǔ)架構(gòu)IT

2023-06-27 15:50:23

Python圖像處理

2024-04-28 10:00:24

Python數(shù)據(jù)可視化庫圖像處理庫

2024-02-01 12:53:00

PandasPython數(shù)據(jù)

2022-09-09 12:27:57

工具基礎(chǔ)設(shè)施IaC

2022-07-14 11:06:07

React開發(fā)Web

2022-12-26 07:40:00

Heroku替代品dynos

2023-01-17 15:39:17

CSS功能函數(shù)

2022-02-24 14:53:39

大數(shù)據(jù)安全數(shù)據(jù)集

2024-05-15 08:59:52

Python編程
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號