我正在使用ARIMA来拟合值并将其保存为pickle文件。发布,pickle文件用于退出样本预测。但是,在获取样本预测时,我收到以下错误: 无法使用强制转换规则'same_kind'将ufunc从dtype('float64')减去输出到dtype('int64')。
def forecast_fit(df):
series=df
X = series.values
train=X
model = ARIMA(X, order=(1,0,1))
model_fit = model.fit(disp=0)
model_fit.save('model.pkl')
forecast_fit(df)
#Out of sample forecasts
loaded = ARIMAResults.load('model.pkl)
forecast = loaded.forecast(steps=17)[0] #error_occurs_here
df=pd.DataFrame(forecast, columns=[i+'_hat'])
df包含以下数据: https://docs.google.com/spreadsheets/d/14W77ra-nQYqvDN8wSPhhiN11lBnob6ZW0UVevQ5orKk/edit?usp=sharing
我正在附加数据,因为这个样本发生了错误,其余的变量(我正在重复许多其他变量的练习)不会产生错误。
答案 0 :(得分:3)
看起来statsmodels ARIMA抛出错误,因为它没有显式地将int转换为float。如果我尝试将数据转换为float,statsmodels将运行良好。
X = X.astype('float32')
这已经是Github报告的错误。