2017-03-10 2 views
0

Ich bin wahrscheinlich nur Missverständnis der Dokumente, aber wie verwende ich die Funktion ARIMAResults.predict auf neue Daten? Ich habe ein Modell auf einer Reihe von Trainingsdaten, und jetzt würde Ich mag, um zu sehen, wie es auf meinem Testgerät durchführt, so brauche ich so etwas wie result.predict(test_data, steps=3)python statsmodels arima Vorhersage echte Daten Option

EDIT auszuführen: Vielleicht ist die Frage zu vage war. Dies ist eine bestimmte Sache, die ich von verallgemeinern könnte: ...

Angenommen ich ein ARIMA-Modell:

model = sm.tsa.ARIMA(train_data, (1, 0, 0)).fit(disp=0) 

ich jetzt sehen möchten, wie gut die Parameter dieses Modells auf einige ausführen test_data das habe ich beiseite gelegt. Nämlich. gegeben test_data[0:50], vorhersagen test_data[52]; test_data[1:51] vorhergesagt test_data[53] etc etc. Beachten Sie, dass ich nicht will ein ARIMA-Modell auf test_data trainieren möchte, möchte ich nur die Parameter von model, um die Leistung zu bewerten.

Antwort

0

Dieser grundlegende Code sollte funktionieren. Zum Beispiel wird dies 50 Perioden nach dem Ende Ihrer Probeperiode vorhersagen. Ich verwende ganzzahlige Indexwerte, wenn Sie Daten haben, die nicht die gleichen Intervalle haben (z. B. Minuten über mehrere Tage), aber wenn das nicht der Fall ist, können Sie auch Zeiträume verwenden.

start_idx = len(df.loc[start:end].index) - 1 
pred_length = 50 

model = sm.tsa.ARIMA(df.loc[start:end], (1, 0, 0)).fit(disp=0) 
predict = model.predict(start_idx, start_idx + pred_length) 
print(predict) 
Verwandte Themen