Я закончил моделировать прогнозирование на моих тренировочных данных. Теперь я хочу построить прогноз с помощью функции «прогноз», чтобы оценить его по моим тестовым данным. Но мой код не работает. Я получил ошибку следующим образом:
Файл "", строка 1, в Fcast = Foretions_ARIMA.values.predict (start = '11 / 08/2019 ', end = '22 / 09/ 2019 ')
AttributeError: у объекта' numpy.ndarray 'нет атрибута' предикат '
Не могли бы вы мне помочь? Спасибо !!!
#modelling
model = ARIMA(ts_log, order=(1, 1, 1))
results_ARIMA= model.fit(disp=-1)
plt.plot(ts_log_diff)
plt.plot(results_ARIMA.fittedvalues, color='red')
plt.title('RSS: %.4f'% sum((results_MA.fittedvalues-ts_log_diff)**2))
plt.title('Fitting data _ MSE: %.2f'% ((
(results_MA.fittedvalues-ts_log_diff)**2).mean()))
plt.xlabel('Date')
plt.legend(('Real Log Values', 'Predicted Log Values'), loc='lower right')
predictions_ARIMA_diff = pd.Series(results_ARIMA.fittedvalues, copy=True)
print (predictions_ARIMA_diff.head())
predictions_ARIMA_diff_cumsum = predictions_ARIMA_diff.cumsum()
print (predictions_ARIMA_diff_cumsum.head())
predictions_ARIMA_log = pd.Series(ts_log.ix[0], index=ts_log.index)
predictions_ARIMA_log = predictions_ARIMA_log.add(predictions_ARIMA_diff_cumsum,
fill_value=0)
predictions_ARIMA_log.head(20)
def mean_sqared_err(y,yhat):
return (sum((yhat-y)**2)/len(y))
def mean_absolute_err(y,yhat):
return np.mean((np.abs(y.sub(yhat).mean())/yhat))
def rmse(y,yhat):
return np.sqrt(sum((yhat-y)**2)/len(y))
predictions_ARIMA = np.exp(predictions_ARIMA_log)
plt.plot(train_weekly_resampled_data)
plt.plot(predictions_ARIMA)
plt.title('RMSE: %.4f |MSE: %.4f| MAE: %.4f'% (
rmse(train_weekly_resampled_data, predictions_ARIMA),
mean_sqared_err(train_weekly_resampled_data, predictions_ARIMA),
mean_absolute_err(train_weekly_resampled_data,predictions_ARIMA)))
plt.xlabel('Date')
plt.legend(('Real Values', 'Predicted Values'), loc='lower right')
# forecast
Fcast = predictions_ARIMA.values.predict(start = '11/08/2019', end = '22/09/2019')