gpt4 book ai didi

python - (python)pmdarima.auto_arima(pyramid.auto_arima) 不会自动使用 d 和 D 参数

转载 作者:行者123 更新时间:2023-12-01 07:51:17 29 4
gpt4 key购买 nike

我手动制作了 20 个模型,发现应该为每个模型使用 d=1D=1,但是 auto_arima 从不使用差异参数(即使一个模型根本没有 dD,并且所有试验都类似于(1 ,0,1) x (0, 0, 1, 52)。我通过设置 trace=True 进行了检查。

我希望 auto_arima 进行参数网格搜索pdq=(0~3, 0~1, 0~3)PDQs=( 0~3, 0~1, 0~3, 52)

我设置参数如下:

    start_p=0,
start_q=0,
max_p=3,
max_d=1,
max_q=3,
start_P=0,
D=None,
start_Q=0,
max_P=2,
max_D=1,
max_Q=2,
max_order=10,
m=52,
seasonal=True,
stationary=False,
information_criterion='aic',
alpha=0.05,
test='kpss',
seasonal_test='ocsb',
stepwise=True,
n_jobs=-1,
start_params=None,
trend=None,
method=None,
transparams=True,
maxiter=None,
n_fits=100,
with_intercept=True,

如何让 auto_arima 进行我想做的网格搜索?

最佳答案

关于pmdarima,您应该了解几件事及其实现 auto_arima 。我现在正在研究这个问题,所以我会尽力回答你的问题。

  1. 网格搜索: auto_arima 的实现使用逐步算法来确定最佳参数。这是stepwise在上面的参数中设置为 True默认情况下。在 API上面写着:

    The stepwise algorithm can be significantly faster than fitting all hyper-parameter combinations and is less likely to over-fit the model.

    如果要进行网格搜索,则必须将此参数设置为 False .

  2. 区分参数:当您尝试此选项 ( stepwise=False ) 时,它应该尝试除两个参数 - d 之外的所有组合。和D 。这是因为它们是估计的并且不包含在参数搜索中。在问题中列出的参数中,您有两个测试 - testseasonal_test 。这些方法用于选择 d 的值和D分别。

    我建议您阅读有关 Understanding p, d and q 的文档。您可以更好地了解它们如何处理差异参数估计。

    您也可以尝试直接测试这些方法(只需更改 test 的值):

from pmdarima.arima.utils import ndiffs
ndiffs(y, test='kpss')

我不知道如何测试d网格搜索中的参数,我认为Python和R实现都做了相同或相似的估计。因此,您可以自己执行此操作并运行 auto_arima手动设置差异参数并剩下网格搜索。否则,它将选择 d 的值。和D自动地。问题是 - 你怎么知道每个模型应该使用 d=1D=1当这些自动测试给出不同的结果时?

关于python - (python)pmdarima.auto_arima(pyramid.auto_arima) 不会自动使用 d 和 D 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56205579/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com