为什么如果数据集具有nan而Python中的auto_arima函数不起作用,而R中的相同函数起作用呢? 我正在进行数据估算,因此想用预测值替换NaN值。删除NaN(如果删除,则可以在Python中工作)。
这是代码。
import numpy as np
a = np.random.randn(20)
mask = np.random.choice([1, 0], a.shape, p=[.1, .9]).astype(bool)
a[mask] = np.nan
from pyramid.arima import auto_arima
stepwise_model = auto_arima(a, start_p=1, start_q=0,
max_p=3, max_q=0, m=12,
start_P=0, seasonal=True,
d=1, D=1, trace=True,
error_action='ignore',
suppress_warnings=True,
stepwise=True)
上面的代码产生以下错误。
ValueError: Input contains NaN, infinity or a value too large for dtype('float64').
R预测包中的auto_arima会将缺失值替换为预测值。
require(forecast)
fit <- auto.arima(a)
我的项目完全用Python完成,所以我热衷于学习任何考虑了缺失值的时间序列模型Python软件包。 预先感谢您的宝贵时间。