habe ich versucht, ursprüngliche Trend und Saisonalität wieder hinzufügen, aber auch nicht funktioniert. Wenn ich also das vorhergesagte Ergebnis mit dem ursprünglichen Ergebnis vergleiche, habe ich nur das vorhergesagte Ergebnis mit Residuum verwendet.
efrom statsmodels.tsa.seasonal import seasonal_decompose
# trend, seasonality are separated out from data, and we can model the residuals
decomposition = seasonal_decompose(ts_log)
trend = decomposition.trend
seasonal = decomposition.seasonal
residual = decomposition.resid
# AR model
model = ARIMA(ts_log, order=(2, 1, 0))
results_AR = model.fit(disp=-1)
plt.figure(figsize=(20,10))
plt.plot(ts_log_decompose)
plt.plot(results_AR.fittedvalues, color='red')
result = (results_AR.fittedvalues-ts_log_decompose)**2
result.dropna(inplace=True)
plt.title('Decompose RSS: %.4f'% sum(result))
plt.show()
Ich versuchte AR, MA, ARIMA Modelle und fand AR Modell hatte niedrigsten RSS. So, jetzt mache ich Prognosen mit AR-Modell.
predictions_AR = pd.Series(results_AR.fittedvalues, copy=True)
print predictions_AR.head()
plt.figure(figsize=(20,10))
plt.plot(series, color='red')
plt.plot(predictions_ARIMA, color='green')
result = (predictions_AR-residual)**2
result.dropna(inplace=True)
plt.title('RMSE: %.4f'% np.sqrt(sum(result)/len(series)))
plt.show()
Es funktioniert gut:
Wenn Sie meinen Code alle überprüfen: https://github.com/hanhanwu/Hanhan_Data_Science_Practice/blob/master/sequencial_analysis/try_LSTM.ipynb
nur Scroll Down zu zersetzen Methode