Ich verwende die auto.arima () -Funktion im Vorhersagepaket , um ARMAX-Modelle mit einer Vielzahl von Kovariaten zu kombinieren. Ich habe jedoch oft eine große Anzahl von Variablen zur Auswahl und erhalte normalerweise ein endgültiges Modell, das mit einer Teilmenge von ihnen funktioniert. Ich mag keine Ad-hoc-Techniken für die Variablenauswahl, weil ich menschlich bin und Vorurteile habe, aber die Kreuzvalidierung von Zeitreihen ist schwierig . Daher habe ich keine gute Möglichkeit gefunden, verschiedene Teilmengen meiner verfügbaren Variablen automatisch auszuprobieren Ich kann meine Modelle nicht nach meinem besten Ermessen einstellen.
Wenn ich glm-Modelle anpasse, kann ich das elastische Netz oder das Lasso zur Regularisierung und variablen Auswahl über das glmnet- Paket verwenden. Gibt es in R ein Toolkit für die Verwendung des elastischen Netzes bei ARMAX-Modellen, oder muss ich mein eigenes rollen? Ist das überhaupt eine gute Idee?
edit: Wäre es sinnvoll, die AR- und MA-Terme (etwa bis zu AR5 und MA5) manuell zu berechnen und die Verwendung von glmnet für das Modell zu verwenden?
edit 2: Es scheint, dass das FitAR- Paket mir einen Teil, aber nicht den ganzen Weg dorthin verschafft.
forecast
Pakets für R. Er sagte, dass es mit der vollständigen ARIMA schwierig sein würde, weil Sie das Lasso um den nichtlinearen ARIMA-Optimierer wickeln müssten. Eine Teillösung wäre die Anpassung eines AR-Modellsglmnet
mit verzögerten Variablen. Soweit ich weiß, hat dies noch niemand mit einem vollständigen ARIMA-Modell gemacht.Antworten:
Dies ist keine Lösung, sondern einige Überlegungen zu den mir bekannten Möglichkeiten und Schwierigkeiten.
Wann immer es möglich ist, ein Zeitreihenmodell als mit x t zu spezifizieren, das aus Kovariaten und zeitverzögerten Beobachtungen berechnet werden kann, ist es auch möglich, das elastische Netz der kleinsten Quadrate zu berechnen, das bestraft wird Schätzer von β
Ein weiteres Problem ist die Auswahl des Strafmaßes (der Abstimmungsparameter). Es wird im Allgemeinen eine Form der Kreuzvalidierung für Zeitreihen erfordern, aber ich hoffe, für bestimmte Modelle einige weniger rechenintensive Methoden ausarbeiten zu können.
quelle
Ich wurde von einem Kunden aufgefordert, dieses Problem automatisch, dh schlüsselfertig, zu lösen. Ich habe einen Ansatz implementiert, bei dem für jedes Paar (dh y und ein Kandidat x) Kreuzkorrelationen der vorgebleichten Reihe vorgebleicht, die PDL (oder ADL AUTOREGRESSIVE DISTRIBUTED LAG MODEL einschließlich einer TOTEN ZEIT) unter Einbeziehung der Interventionserkennung ermittelt werden robuste Schätzungen liefern, ein "Maß" für diese Struktur entwickeln. Nachdem Sie dies für ALLE Regressionskandidaten durchgeführt haben, ordnen Sie sie nach der "Kennzahl" und wählen Sie dann die Top-K-Regressoren basierend auf der "Kennzahl" aus. Dies wird manchmal als lineare Filterung bezeichnet. Wir haben diese Heuristik erfolgreich in unser im Handel erhältliches Zeitreihenpaket aufgenommen. Sie sollten in der Lage sein, "ROLL YOUR OWN"
quelle