DLMs sind cool, aber nicht so einfach wie beispielsweise ARIMA oder andere Methoden. Bei anderen Methoden fügen Sie Ihre Daten ein und optimieren dann einige Parameter des Algorithmus, wobei Sie sich möglicherweise auf verschiedene Diagnosen beziehen, um Ihre Einstellungen zu steuern.
Mit einem DLM erstellen Sie eine State-Space-Maschine, die aus mehreren Matrizen besteht, die im Grunde so etwas wie ein Hidden-Markov-Modell implementieren. Einige Pakete ( sspir
ich denke unter anderem) setzen voraus, dass Sie das Konzept verstehen und wissen, was die Matrizen tun. Ich würde Ihnen dlm
wärmstens empfehlen, mit dem Paket zu beginnen und, wie von @RockScience empfohlen, durch die Vignette zu gehen.
Mit werden dlm
Sie im Grunde genommen mehrere Schritte unternehmen:
Welche Komponenten beschreiben meine Serie? Ein Trend? Saisonalität? Exogene Variablen? Sie werden dlm
Tools verwenden dlmModPoly
, um diese Komponenten zu implementieren, und den +
Operator verwenden, um sie zu einem Modell zusammenzufügen.
Erstellen Sie eine R-Unterroutine, die so viele Parameter verwendet, wie für dieses Modell erforderlich sind, erstellen Sie die Komponenten mit diesen Parametern, addieren Sie sie und geben Sie das resultierende Modell zurück.
Verwenden Sie dlmMLE
diese Option , um eine Suche / Optimierung durchzuführen, um die entsprechenden Parameter zu finden (mithilfe von MLE, im Grunde genommen Optimierung, mit den Fallstricken, die bei der Optimierung auftreten können). dlmMLE
Ruft Ihr R-Unterprogramm wiederholt mit Kandidatenparametern auf, um Modelle zu erstellen, und testet sie dann.
Erstellen Sie Ihr endgültiges Modell mit der von Ihnen erstellten R-Unterroutine und den Parametern, die Sie in Schritt 3 gefunden haben.
Filtern Sie Ihre Daten mit dlmFilter
, dann vielleicht glatt mit dlmSmooth
.
Wenn Sie etwas verwenden dlmModReg
oder ausführen, das dazu führt, dass das Modell zeitvariable Parameter aufweist, können Sie dlmForecast
Ihre Reihen nicht damit prognostizieren. Wenn Sie am Ende ein zeitvariantes Modell haben, möchten Sie Ihre Eingabedaten mit NAs dlmFilter
ausfüllen und die NAs für Sie ausfüllen lassen (Prognose eines armen Mannes), da dlmForecast
dies nicht mit zeitvariablen Parametern funktioniert.
Wenn Sie die Komponenten einzeln untersuchen möchten (sagen Sie den Trend, getrennt von der Saison), müssen Sie die Matrizen und die einzelnen Spalten sowie deren Zusammenstellung verstehen dlm
(Reihenfolge ist wichtig!).
Es gibt ein anderes Paket, dessen Name mir entgeht, das versucht, ein Front-End zu erstellen, das mehrere dieser Pakete verwenden kann (auch dlm
als Back-End). Leider habe ich es nie geschafft, gut zu funktionieren, aber das könnte nur ich sein.
Ich würde wirklich empfehlen, ein Buch über DLMs zu bekommen. Ich habe ein paar von ihnen und habe viel damit gespielt, dlm
um dorthin zu gelangen, wo ich bin, und ich bin keineswegs der Experte.