Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Sepuluh perpustakaan Python disyorkan untuk analisis siri masa pada tahun 2022

Sepuluh perpustakaan Python disyorkan untuk analisis siri masa pada tahun 2022

WBOY
WBOYke hadapan
2023-04-13 08:22:111965semak imbas

Siri masa ialah jujukan titik data, biasanya terdiri daripada pengukuran berturut-turut yang diambil dalam selang masa. Analisis siri masa ialah proses pemodelan dan analisis data siri masa menggunakan teknik statistik untuk mengekstrak maklumat yang bermakna daripadanya dan membuat ramalan.

Sepuluh perpustakaan Python disyorkan untuk analisis siri masa pada tahun 2022

Analisis siri masa ialah alat berkuasa yang boleh digunakan untuk mengekstrak maklumat berharga daripada data dan membuat ramalan tentang peristiwa masa hadapan. Ia boleh digunakan untuk mengenal pasti arah aliran, corak bermusim dan perhubungan lain antara pembolehubah. Analisis siri masa juga boleh digunakan untuk meramalkan peristiwa masa hadapan seperti jualan, permintaan atau perubahan harga.

Jika anda menggunakan Python untuk memproses data siri masa, terdapat banyak perpustakaan yang berbeza untuk dipilih. Jadi dalam artikel ini, kami akan menyusun perpustakaan paling popular untuk bekerja dengan siri masa dalam Python.

Sktime

Sktime ialah perpustakaan Python untuk memproses data siri masa. Ia menyediakan satu set alat untuk bekerja dengan data siri masa, termasuk alat untuk memproses, menggambarkan dan menganalisis data. Sktime direka bentuk supaya mudah digunakan dan boleh diperluaskan supaya algoritma siri masa baharu boleh dilaksanakan dan disepadukan dengan mudah.

Sktime, seperti namanya, menyokong API pembelajaran scikit dan mengandungi semua kaedah dan alatan yang diperlukan untuk menyelesaikan masalah secara berkesan yang melibatkan regresi, ramalan dan pengelasan siri masa. Pustaka ini mengandungi algoritma pembelajaran mesin khusus dan kaedah penukaran unik untuk siri masa yang tidak disediakan dalam perpustakaan lain, jadi Sktime boleh digunakan sebagai perpustakaan asas yang sangat baik.

Menurut dokumentasi sktime, "Matlamat kami adalah untuk menjadikan ekosistem analisis siri masa secara keseluruhannya lebih boleh dikendalikan dan boleh digunakan Sktime menyediakan antara muka bersatu untuk tugas pembelajaran siri masa yang berbeza tetapi berkaitan algoritma dan alatan untuk pembinaan model gabungan, termasuk saluran paip, penyepaduan, penalaan dan pemudahan, yang membolehkan pengguna menggunakan algoritma daripada satu tugasan kepada yang lain Antara muka dengan perpustakaan berkaitan turut disediakan, seperti scikit-learn, statsmodels, tsfresh, PyOD dan [. fbprophet], dsb. ”

Berikut ialah contoh kod

pmdarima
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 ialah perpustakaan Python untuk analisis statistik data siri masa. Ia berdasarkan model ARIMA dan menyediakan pelbagai alat untuk menganalisis, meramal dan menggambarkan data siri masa. Pmdarima juga menyediakan pelbagai alat untuk bekerja dengan data bermusim, termasuk ujian bermusim dan alat penguraian bermusim.

Salah satu model ramalan yang sering digunakan dalam analisis siri masa ialah ARIMA (Autoregressive Integrated Moving Average). ARIMA ialah algoritma ramalan yang meramalkan nilai masa hadapan berdasarkan maklumat daripada nilai masa lalu bagi siri masa.

pmdarima ialah pembungkus untuk model ARIMA Ia didatangkan dengan fungsi carian hiperparameter automatik yang secara automatik boleh mencari hiperparameter terbaik (p, d, q) untuk model ARIMA. Perpustakaan termasuk perkara fungsi utama berikut:

Satu set ujian statistik tentang pegun dan bermusim
  • Utiliti siri masa, seperti perbezaan dan perbezaan songsang
  • Banyak pengubah dan pencirian endogen dan eksogen, termasuk transformasi Box-Cox dan Fourier
  • Penguraian siri masa bermusim
  • Alat pengesahan silang
  • Koleksi siri masa terbina dalam yang kaya set data tersedia untuk prototaip dan contoh
  • AutoTS

Seperti namanya, ia ialah perpustakaan Python untuk analisis siri masa automatik. AutoTS membolehkan kami melatih berbilang model siri masa dengan satu baris kod supaya kami boleh memilih model yang paling sesuai.

Pustaka ini adalah sebahagian daripada autoML dan matlamatnya adalah untuk menyediakan perpustakaan automasi untuk pemula.

TSFresh

tsfresh ialah pakej Python yang boleh mengekstrak ciri secara automatik daripada siri masa. Ia berdasarkan fakta bahawa maklumat dalam siri masa boleh diuraikan menjadi satu set ciri yang bermakna. tsfresh menguruskan tugas yang membosankan untuk mengekstrak ciri ini secara manual dan menyediakan alat untuk pemilihan dan pengelasan ciri automatik. Ia boleh digunakan dengan DataFrames panda dan menyediakan pelbagai fungsi untuk memproses data siri masa, termasuk:

Pengeluaran ciri automatik daripada siri masa
  • Pemilihan ciri automatik
  • Penguraian siri masa
  • Pengurangan dimensi
  • Pengesanan outlier
  • Sokong format siri masa berbilang
  • Sokongan nilai yang tiada
  • Sokongan berbilang bahasa

Sepuluh perpustakaan Python disyorkan untuk analisis siri masa pada tahun 2022Nabi

Nabi ialah perisian sumber terbuka yang dikeluarkan oleh pasukan sains data teras Facebook. Ia berdasarkan model tambahan di mana trend bukan linear sesuai untuk musim tahunan, mingguan dan harian, serta kesan percutian. Ia paling sesuai untuk siri masa dengan kesan bermusim yang kuat dan data sejarah sepanjang beberapa musim. Nabi sangat teguh terhadap kehilangan data dan perubahan dalam trend, dan secara amnya mengendalikan outliers dengan baik.

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

Sepuluh perpustakaan Python disyorkan untuk analisis siri masa pada tahun 2022

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+算法模型)、模型分析、自动超参数调优、实验日志、云部署等。所有这些都只用了几行代码就完成了。

Sepuluh perpustakaan Python disyorkan untuk analisis siri masa pada tahun 2022

总结

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


Atas ialah kandungan terperinci Sepuluh perpustakaan Python disyorkan untuk analisis siri masa pada tahun 2022. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:51cto.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam