Python 报错 ValueError: 'order' argument must be an iterable with three elements. - ARIMA 模型

在使用 Python 的 statsmodels 库进行 ARIMA 模型拟合时,你可能会遇到以下错误:

Traceback (most recent call last):
  File 'I:\math\2.py', line 84, in <module>
    model = ARIMA(pricing, order=(1, 1))
  File 'C:\Users\TX\AppData\Local\Programs\Python\Python39\lib\site-packages\statsmodels\tsa\arima\model.py', line 158, in __init__
    self._spec_arima = SARIMAXSpecification(
  File 'C:\Users\TX\AppData\Local\Programs\Python\Python39\lib\site-packages\statsmodels\tsa\arima\specification.py', line 267, in __init__
    raise ValueError('`order` argument must be an iterable with three'
ValueError: 'order' argument must be an iterable with three elements.

报错原因

这个错误是因为 order 参数必须是一个包含三个元素的可迭代对象。根据报错信息,你提供的 order 参数是 (1, 1),只有两个元素,所以导致了报错。

order 参数表示 ARIMA 模型的阶数,它包含三个整数组成的元组:(p, d, q)。

  • p:自回归 (AR) 阶数
  • d:差分 (I) 阶数
  • q:移动平均 (MA) 阶数

修改内容

要修复这个错误,你需要提供一个包含三个元素的可迭代对象作为 order 参数。例如,你可以将 order 参数修改为 (1, 1, 0)。这表示 ARIMA 模型的阶数为 1 阶自回归、1 阶差分和 0 阶移动平均。

修改后的代码如下所示:

model = ARIMA(pricing, order=(1, 1, 0))

确保根据你的数据和模型需求选择合适的 pdq 值。

Python 报错 ValueError: 'order' argument must be an iterable with three elements. - ARIMA 模型

原文地址: https://www.cveoy.top/t/topic/en5H 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录