python - 在 SARIMAX 模型中使用自动生成的 pdqm 参数进行预测
问题描述
SARIMAX 模型需要 q、d、q、m 参数才能正常运行。
- P 代表 AutoRegressive 模型的阶数,可以使用 PACF 图进行光学估计
- D 代表使时间序列静止的差异数,可以使用 adfuller 测试来估计,同时进行差异循环直到它变得静止。
- Q 代表 MovingAverage 模型的阶数,可以使用 ACF 图进行光学估计。
- M 代表表示季节性的周期数,可以使用seasonal_decompose 函数进行光学估计。
通常,如下所示的自定义 SARIMAX Grid CV 能够找到最佳参数集。
p = range(min_series_p, max_series_p+1)
d = range(min_series_d, max_series_d+1)
q = range(min_series_q, max_series_q+1)
matrix = list(it.product(p, d, q))
pdq = [(x[0], x[1], x[2]) for x in matrix]
pdq_s = [(x[0], x[1], x[2], sts_series_s) for x in matrix]
for param in pdq:
for param_s in pdq_s:
if param[0] == param_s[0] and param[1] == param_s[1] and param[2] == param_s[2]:
mod = SARIMAX(ts.to_numpy(), order=param, seasonal_order=param_s)
model_fit = mod.fit(iprint=0, disp=0, method_kwargs={"warn_convergence": False})
我想知道是否有任何方法可以以编程方式提取 p、q、m 值甚至它们的范围以减少网格,从而减少寻找最佳模型顺序的处理时间。
min_series_p = method()?
max_series_p = method()?
min_series_q = method()?
max_series_q = method()?
sts_series_m = method()?
有任何想法吗?
解决方案
推荐阅读
- python - 更改 HTML 文本并保存回 HTML
- python-2.7 - 正斜杠在本地环境中被忽略,但在全局环境中不被忽略
- mysql - MySQL 服务器的高 CPU 使用率
- numpy - PyTorch - 到 NumPy 产生未调整大小的对象?
- python - 我可以在 WordNet 中保存引理的原始共轭吗?
- sql - Oracle SQL 过滤两个日期之间的结果,但只显示一个时间范围内的记录
- r - 是否可以使用 ggplot2 从数据框之外的这些数据制作箱线图?
- python - __new__ 方法给出错误 object.__new__() 只接受一个参数(要实例化的类型)
- javascript - 使用 ngModelChange 更新输入字段数组
- android - Android:不擦除先前绘制的顺序绘制