Rumah > Artikel > pembangunan bahagian belakang > Sepuluh perpustakaan Python disyorkan untuk analisis siri masa pada tahun 2022
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.
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 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
pmdarimafrom 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()
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 bermusimPustaka ini adalah sebahagian daripada autoML dan matlamatnya adalah untuk menyediakan perpustakaan automasi untuk pemula.
TSFresh
Nabi
根据官方文档,fbprophet在处理具有显著季节性影响的时间序列数据和几个季节价值的之前数据时工作得非常好。此外fbprophet能够抵抗缺失数据,并能够有效地管理异常值。
Statsforecast提供了一组广泛使用的单变量时间序列预测模型,包括自动ARIMA和ETS建模并使用numba优化。它还包括大量的基准测试模型。根据官网的介绍:
Kats 是 Facebook 研究团队最近开发的另一个专门处理时间序列数据的库。该框架的目标是为解决时间序列问题提供一个完整的解决方案。使用此库,我们可以执行以下操作:
Darts 是由 Unit8.co 开发的用于预测时间序列,并且对scikit-learn 友好 的Python 包。它包含大量模型,从 ARIMA 到深度神经网络,用于处理与日期和时间相关的数据。
该库的好处在于它还支持用于处理神经网络的多维类。
它还允许用户结合来自多个模型和外部回归模型的预测,从而更容易地对模型进行回测。
Pyflux 是一个为 Python 构建的开源时间序列库。Pyflux选择了更多的概率方法来解决时间序列问题。这种方法对于需要更完整的不确定性的预测这样的任务特别有利。
用户可以建立一个概率模型,其中通过联合概率将数据和潜在变量视为随机变量。
PyCaret是一个基于Python的开源、低代码的机器学习库,它是一个端到端机器学习和模型管理工具,可以成倍地加快实验周期,让工作效率更高。
与其他开源机器学习库相比,PyCaret是一个可替代的低代码库,可以只用几行代码替换数百行代码。这使得实验的速度和效率呈指数级增长。PyCaret本质上是scikit-learn、XGBoost、LightGBM、CatBoost、spacacy、Optuna、Hyperopt、Ray等几个机器学习库和框架的Python包装。
虽然PyCaret不是一个专门的时间序列预测库,但它有一个专门用于时间序列预测的新模块。它仍然处于预发布状态,但是安装时需要使用以下代码进行安装才能使用新的模块
pip install --pre pycaret
PyCaret时间序列模块与现有的API一致,并且可以使用完整的功能,例如:统计测试、模型训练和选择(30+算法模型)、模型分析、自动超参数调优、实验日志、云部署等。所有这些都只用了几行代码就完成了。
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!