pmdarima
Pmdarima(最初为 pyramid-arima,用“py” + “arima” 的回文构词)是一个统计库,旨在填补 Python 时间序列分析功能中的空白。这包括:
- 等效于 R 的
auto.arima
功能 - 平稳性和季节性统计检验的集合
- 时间序列实用程序,例如微分和逆微分
- 大量内生和外生的变形器和特征器,包括 Box-Cox 和 Fourier 转换
- 季节性时间序列分解
- 交叉验证实用程序
- 丰富的内置时间序列数据集,用于原型制作和示例
- Scikit-learn-esque 管道可以合并您的评估并促进生产
Pmdarima 将 statsmodels 隐藏在内部,但是它的设计界面对于有 scikit-learn 背景的用户来说很熟悉。
安装
Pmdarima 在 pypi 上具有 Windows、Mac 和 Linux(manylinux)的二进制和源发行版,软件包名称为 pmdarima,可通过 pip 下载:
$ pip install pmdarima
快速入门示例
在 wineind
数据集上拟合一个简单的自动 ARIMA:
import pmdarima as pm from pmdarima.model_selection import train_test_split import numpy as np import matplotlib.pyplot as plt # Load/split your data y = pm.datasets.load_wineind() train, test = train_test_split(y, train_size=150) # Fit your model model = pm.auto_arima(train, seasonal=True, m=12) # make your forecasts forecasts = model.predict(test.shape[0]) # predict N steps into the future # Visualize the forecasts (blue=train, green=forecasts) x = np.arange(y.shape[0]) plt.plot(x[:150], train, c='blue') plt.plot(x[150:], forecasts, c='green') plt.show()
在 sunspots
数据集上装配一个更复杂的管道,序列化它,然后从磁盘加载它来进行预测。
import pmdarima as pm from pmdarima.model_selection import train_test_split from pmdarima.pipeline import Pipeline from pmdarima.preprocessing import BoxCoxEndogTransformer import pickle # Load/split your data y = pm.datasets.load_sunspots() train, test = train_test_split(y, train_size=2700) # Define and fit your pipeline pipeline = Pipeline([ ('boxcox', BoxCoxEndogTransformer(lmbda2=1e-6)), # lmbda2 avoids negative values ('arima', pm.AutoARIMA(seasonal=True, m=12, suppress_warnings=True, trace=True)) ]) pipeline.fit(train) # 像在 scikit 中一样序列化模型: with open('model.pkl', 'wb') as pkl: pickle.dump(pipeline, pkl) # 加载并无缝进行预测: with open('model.pkl', 'rb') as pkl: mod = pickle.load(pkl) print(mod.predict(15)) # [25.20580375 25.05573898 24.4263037 23.56766793 22.67463049 21.82231043 # 21.04061069 20.33693017 19.70906027 19.1509862 18.6555793 18.21577243 # 17.8250318 17.47750614 17.16803394]
可用性
pmdarima 在 PyPi 上可用于以下平台的 Python 3.5+ 的预构建 Wheel 文件中:
- Mac (64-bit)
- Linux (64-bit manylinux)
- Windows (32 & 64-bit)
如果您的平台不存在轮子,您仍然可以点安装,它将通过源代码分发包构建,但是您需要cython> = 0.29和gcc(Mac / Linux)或MinGW(Windows)才能 从源代码构建软件包。
请注意,旧版本(<1.0.0)的名称为“ pyramid-arima”,可以通过以下方式进行pip安装:
# Legacy warning: $ pip install pyramid-arima # python -c 'import pyramid;'
但是,不建议这样做。
文档
pmdarima
文档可以回答您的所有问题以及更多问题(包括示例和指南)。 如果没有,请随时提出问题。
(The first version translated by vz on 2020.07.19)