我正在尝试使用自动 arima 功能对不同的产品进行逐步分析。我所有的产品都有从 2019 年 1 月到 2021 年 12 月的月度数据(36 个数据点)。尽管如此,我使用的训练集一直持续到 2021 年 6 月,因此训练 30 分,测试 6 分。 对于我几乎所有的产品,我都可以毫无问题地执行自动 arima 分析,但对于其中一些产品,如果我设置 m=12(因为是月度数据),我会遇到问题。 这是我正在使用的代码:
step_wise=auto_arima(y=train[train['CTN']=='HX9004/10']['Quantity Adjusted'],
X=train[train['CTN']=='HX9004/10']['Price'].values.reshape(1, -1).transpose(),
start_p=0,
start_q=0,
start_P=0,
start_Q=0,
seasonal=True,
m=12,
test='kpss',
trace=True,
error_action='ignore',
suppress_warnings=True,
stepwise=False)
公式 train[train['CTN']=='HX9004/10']['Quantity Adjusted'] 简单地给出了该特定产品 (CTN) 的每月销售额。 以下是我的一些产品出现的错误:
ValueError: All lag values up to 'maxlag' produced singular matrices. Consider using a longer series, a different lag term or a different test.
以下是我在该函数中使用的数据的一些屏幕截图:
任何帮助将不胜感激。我不想运行某些产品设置 m=12 和其他不设置它的产品。
谢谢!
问题似乎包含在用于确定季节性的测试类型中。默认情况下,seasonal_test 参数设置为“ocsb”并且可以抛出 maxlag 错误。尝试将其更改为“ch”,即
seasonal_test = 'ch'