Heim  >  Artikel  >  Backend-Entwicklung  >  Zehn Python-Bibliotheken, die 2022 für die Zeitreihenanalyse empfohlen werden

Zehn Python-Bibliotheken, die 2022 für die Zeitreihenanalyse empfohlen werden

WBOY
WBOYnach vorne
2023-04-13 08:22:111965Durchsuche

Eine Zeitreihe ist eine Folge von Datenpunkten, die normalerweise aus aufeinanderfolgenden Messungen besteht, die über einen bestimmten Zeitraum hinweg durchgeführt wurden. Bei der Zeitreihenanalyse werden Zeitreihendaten mithilfe statistischer Techniken modelliert und analysiert, um daraus aussagekräftige Informationen zu extrahieren und Vorhersagen zu treffen.

Zehn Python-Bibliotheken, die 2022 für die Zeitreihenanalyse empfohlen werden

Die Zeitreihenanalyse ist ein leistungsstarkes Tool, mit dem sich wertvolle Informationen aus Daten extrahieren und Vorhersagen über zukünftige Ereignisse treffen lassen. Es kann verwendet werden, um Trends, saisonale Muster und andere Beziehungen zwischen Variablen zu identifizieren. Mithilfe der Zeitreihenanalyse können auch zukünftige Ereignisse wie Verkäufe, Nachfrage oder Preisänderungen vorhergesagt werden.

Wenn Sie in Python mit Zeitreihendaten arbeiten, stehen viele verschiedene Bibliotheken zur Auswahl. In diesem Artikel stellen wir die beliebtesten Bibliotheken für die Arbeit mit Zeitreihen in Python vor.

Sktime

Sktime ist eine Python-Bibliothek zur Verarbeitung von Zeitreihendaten. Es bietet eine Reihe von Tools für die Arbeit mit Zeitreihendaten, einschließlich Tools zum Verarbeiten, Visualisieren und Analysieren von Daten. Sktime ist so konzipiert, dass es einfach zu bedienen und erweiterbar ist, sodass neue Zeitreihenalgorithmen einfach implementiert und integriert werden können.

Sktime unterstützt, wie der Name schon sagt, die Scikit-Learn-API und enthält alle notwendigen Methoden und Werkzeuge, um Probleme im Zusammenhang mit der Regression, Vorhersage und Klassifizierung von Zeitreihen effektiv zu lösen. Diese Bibliothek enthält spezielle Algorithmen für maschinelles Lernen und einzigartige Konvertierungsmethoden für Zeitreihen, die in anderen Bibliotheken nicht bereitgestellt werden, sodass Sktime als sehr gute Basisbibliothek verwendet werden kann.

Laut der Dokumentation von sktime besteht unser Ziel darin, das Zeitreihenanalyse-Ökosystem als Ganzes interoperabler und benutzerfreundlicher zu machen. Sktime bietet eine einheitliche Schnittstelle für verschiedene, aber verwandte Zeitreihen-Lernaufgaben Aufbau kombinierter Modelle, einschließlich Pipelines, Integration, Optimierung und Vereinfachung, die es Benutzern ermöglichen, Algorithmen von einer Aufgabe auf eine andere anzuwenden.

sktime bietet auch Schnittstellen zu verwandten Bibliotheken, zum Beispiel scikit-learn, statsmodels, tsfresh, PyOD und [fbprophet ] usw. „

Hier ist ein Codebeispiel

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 ist eine Python-Bibliothek zur statistischen Analyse von Zeitreihendaten. Es basiert auf dem ARIMA-Modell und bietet verschiedene Werkzeuge zur Analyse, Prognose und Visualisierung von Zeitreihendaten. Pmdarima bietet außerdem verschiedene Tools für die Arbeit mit saisonalen Daten, darunter Saisonalitätstests und saisonale Zerlegungstools.

Eines der in der Zeitreihenanalyse häufig verwendeten Prognosemodelle ist ARIMA (Autoregressive Integrated Moving Average). ARIMA ist ein Prognosealgorithmus, der zukünftige Werte basierend auf Informationen aus vergangenen Werten einer Zeitreihe vorhersagt.

pmdarima ist ein Wrapper für das ARIMA-Modell. Es verfügt über eine automatische Hyperparameter-Suchfunktion, die automatisch die besten Hyperparameter (p, d, q) für das ARIMA-Modell finden kann. Die Bibliothek umfasst die folgenden Hauptfunktionen:

  • Eine Reihe statistischer Tests zu Stationarität und Saisonalität
  • Zeitreihendienstprogramme wie Differenzierung und inverse Differenzierung
  • Zahlreiche endogene und exogene Transformatoren und Charakterisierungen, einschließlich Box-Cox- und Fourier-Transformationen
  • Saisonale Zeitreihenzerlegung
  • Kreuzvalidierungstool
  • Eingebaute umfangreiche Sammlung von Zeitreihendatensätzen, die für Prototypen und Beispiele verwendet werden können

AutoTS

Wie der Name schon sagt, handelt es sich um ein Tool für die automatische Python-Bibliothek Zeitreihenanalyse. Mit AutoTS können wir mehrere Zeitreihenmodelle mit einer einzigen Codezeile trainieren, sodass wir das am besten geeignete Modell auswählen können.

Diese Bibliothek ist Teil von autoML und ihr Ziel ist es, eine Automatisierungsbibliothek für Anfänger bereitzustellen.

TSFresh

tsfresh ist ein Python-Paket, das automatisch Features aus Zeitreihen extrahieren kann. Es basiert auf der Tatsache, dass die Informationen in der Zeitreihe in eine Reihe sinnvoller Merkmale zerlegt werden können. tsfresh übernimmt die mühsame Aufgabe des manuellen Extrahierens dieser Features und stellt Tools für die automatische Feature-Auswahl und -Klassifizierung bereit. Es kann mit Pandas DataFrames verwendet werden und bietet eine Vielzahl von Funktionen zur Verarbeitung von Zeitreihendaten, darunter:

  • Automatische Merkmalsextraktion aus Zeitreihen
  • Automatische Merkmalsauswahl
  • Zeitreihenzerlegung
  • Dimensionalitätsreduzierung
  • Ausnahmewerterkennung
  • Unterstützt mehrere Zeitreihenformate
  • Unterstützt fehlende Werte
  • Unterstützt mehrere Sprachen

Zehn Python-Bibliotheken, die 2022 für die Zeitreihenanalyse empfohlen werden

Prophet

Prophet ist eine Open-Source-Software, die vom zentralen Data-Science-Team von Facebook veröffentlicht wurde. Es basiert auf einem additiven Modell, bei dem nichtlineare Trends an jährliche, wöchentliche und tägliche Saisonalität sowie Feiertagseffekte angepasst werden. Es eignet sich am besten für Zeitreihen mit starken saisonalen Effekten und historischen Daten über mehrere Jahreszeiten. Prophet ist sehr robust gegenüber fehlenden Daten und Trendänderungen und geht im Allgemeinen gut mit Ausreißern um.

根据官方文档,fbprophet在处理具有显著季节性影响的时间序列数据和几个季节价值的之前数据时工作得非常好。此外fbprophet能够抵抗缺失数据,并能够有效地管理异常值。

Zehn Python-Bibliotheken, die 2022 für die Zeitreihenanalyse empfohlen werden

Statsforecast

Statsforecast提供了一组广泛使用的单变量时间序列预测模型,包括自动ARIMA和ETS建模并使用numba优化。它还包括大量的基准测试模型。根据官网的介绍:

  • Python和R中最快最准确的AutoARIMA。
  • Python和R中最快最准确的ETS。
  • 兼容sklearn接口。
  • ARIMA的外生变量和预测区间的包含。
  • 比pmdarima快20倍,比Prophet快500倍,比NeuralProphet快100倍,比statmodels快4倍。
  • 通过numba编译为高性能机器代码。
  • 开箱即用的实现ADIDA, HistoricAverage, CrostonClassic, CrostonSBA, CrostonOptimized, seasonalwindowaaverage, SeasonalNaive, IMAPA Naive, RandomWalkWithDrift, windowaaverage, SeasonalExponentialSmoothing, TSB, AutoARIMA和ETS。

kats

Kats 是 Facebook 研究团队最近开发的另一个专门处理时间序列数据的库。该框架的目标是为解决时间序列问题提供一个完整的解决方案。使用此库,我们可以执行以下操作:

  • 时间序列分析
  • 模式检测,包括季节性、异常值、趋势变化
  • 产生65个特征的特征工程模块
  • 对时间序列数据建立预测模型,包括Prophet、ARIMA、Holt Winters等。

Darts

Darts 是由 Unit8.co 开发的用于预测时间序列,并且对scikit-learn 友好 的Python 包。它包含大量模型,从 ARIMA 到深度神经网络,用于处理与日期和时间相关的数据。

该库的好处在于它还支持用于处理神经网络的多维类。

它还允许用户结合来自多个模型和外部回归模型的预测,从而更容易地对模型进行回测。

Pyflux

Pyflux 是一个为 Python 构建的开源时间序列库。Pyflux选择了更多的概率方法来解决时间序列问题。这种方法对于需要更完整的不确定性的预测这样的任务特别有利。

用户可以建立一个概率模型,其中通过联合概率将数据和潜在变量视为随机变量。

PyCaret

PyCaret是一个基于Python的开源、低代码的机器学习库,它是一个端到端机器学习和模型管理工具,可以成倍地加快实验周期,让工作效率更高。

与其他开源机器学习库相比,PyCaret是一个可替代的低代码库,可以只用几行代码替换数百行代码。这使得实验的速度和效率呈指数级增长。PyCaret本质上是scikit-learn、XGBoost、LightGBM、CatBoost、spacacy、Optuna、Hyperopt、Ray等几个机器学习库和框架的Python包装。

虽然PyCaret不是一个专门的时间序列预测库,但它有一个专门用于时间序列预测的新模块。它仍然处于预发布状态,但是安装时需要使用以下代码进行安装才能使用新的模块

pip install --pre pycaret

PyCaret时间序列模块与现有的API一致,并且可以使用完整的功能,例如:统计测试、模型训练和选择(30+算法模型)、模型分析、自动超参数调优、实验日志、云部署等。所有这些都只用了几行代码就完成了。

Zehn Python-Bibliotheken, die 2022 für die Zeitreihenanalyse empfohlen werden

总结

Python中有许多可用的时间序列预测库(比我们在这里介绍的更多)。每个库都有自己的优缺点,因此根据自己的需要选择合适的是很重要的。如果你有什么更好的推荐,请留言告诉我们。


Das obige ist der detaillierte Inhalt vonZehn Python-Bibliotheken, die 2022 für die Zeitreihenanalyse empfohlen werden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:51cto.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen