我正在使用Python中的statsmodels进行时间序列分析。使用ARIMA方法时出现错误。我可以为订单和季节性订单选择参数。但是我在第四行说了一个错误
AttributeError:“ DataFrame”对象没有属性“ date”。
我在数据框中具有“日期”和“值”属性。但是,当我打印数据列时,它仅显示“值”列。这是我的代码:
SELECT Employee.name, Transaction.amount
FROM Employee
LEFT OUTER JOIN Transaction
ON (Employee.emp_id = Transaction.emp_id); <-- should this be here???
ORDER BY Employee.name ASC;
此行中发生错误:
y_hat_avg = test_data.copy()
mod = sm.tsa.statespace.SARIMAX(train_data.value, order=(1, 1, 0), seasonal_order=(1, 0, 0, 12)
, enforce_stationarity=False, enforce_invertibility=False)
fit4 = mod.fit()
y_hat_avg['SARIMA'] = fit1.predict(start=test_data.date.iloc[0], end=test_data.date.iloc[-1], dynamic=True)
plt.figure(figsize=(16, 8))
plt.plot(train_data['value'], label='Train Data')
plt.plot(test_data['value'], label='Test Data')
plt.plot(y_hat_avg['SARIMA'], label='SARIMA')
plt.legend(loc='best')
plt.show()
虽然我只打印列,但它只显示值列
y_hat_avg['SARIMA'] = fit1.predict(start=test_data.date.iloc[0], end=test_data.date.iloc[-1], dynamic=True)
但是如果我打印数据帧头,它会显示出不必要的多余空间,如下所示:
print(test_data.columns)
>Index(['value'], dtype='object')
错误可能是由于多余的空间,但是我不确定。