Ich muss die folgenden 4 Variablen für die 29. Zeiteinheit prognostizieren. Ich habe historische Daten im Wert von ungefähr 2 Jahren, wobei 1 und 14 und 27 alle den gleichen Zeitraum (oder die gleiche Jahreszeit) darstellen. Am Ende mache ich eine Oaxaca-Blinder-Zerlegung von , w d , w c und p .
time W wd wc p
1 4.920725 4.684342 4.065288 .5962985
2 4.956172 4.73998 4.092179 .6151785
3 4.85532 4.725982 4.002519 .6028712
4 4.754887 4.674568 3.988028 .5943888
5 4.862039 4.758899 4.045568 .5925704
6 5.039032 4.791101 4.071131 .590314
7 4.612594 4.656253 4.136271 .529247
8 4.722339 4.631588 3.994956 .5801989
9 4.679251 4.647347 3.954906 .5832723
10 4.736177 4.679152 3.974465 .5843731
11 4.738954 4.759482 4.037036 .5868722
12 4.571325 4.707446 4.110281 .556147
13 4.883891 4.750031 4.168203 .602057
14 4.652408 4.703114 4.042872 .6059471
15 4.677363 4.744875 4.232081 .5672519
16 4.695732 4.614248 3.998735 .5838578
17 4.633575 4.6025 3.943488 .5914644
18 4.61025 4.67733 4.066427 .548952
19 4.678374 4.741046 4.060458 .5416393
20 4.48309 4.609238 4.000201 .5372143
21 4.477549 4.583907 3.94821 .5515663
22 4.555191 4.627404 3.93675 .5542806
23 4.508585 4.595927 3.881685 .5572687
24 4.467037 4.619762 3.909551 .5645944
25 4.326283 4.544351 3.877583 .5738906
26 4.672741 4.599463 3.953772 .5769604
27 4.53551 4.506167 3.808779 .5831352
28 4.528004 4.622972 3.90481 .5968299
Ich glaube, dass durch p ⋅ w d + ( 1 - p ) ⋅ w c plus Messfehler approximiert werden kann, aber Sie können sehen, dass W diese Menge aufgrund von Verschwendung, Approximationsfehler oder Diebstahl immer erheblich überschreitet.
Hier sind meine 2 Fragen.
Mein erster Gedanke war, eine Vektorautoregression für diese Variablen mit einer Verzögerung von 1 und einer exogenen Zeit- und Periodenvariablen zu versuchen, aber das scheint angesichts der geringen Datenmenge eine schlechte Idee zu sein. Gibt es Zeitreihenmethoden, die (1) angesichts der "Mikro-Numerosität" eine bessere Leistung erbringen und (2) die Verbindung zwischen den Variablen ausnutzen können?
Andererseits sind die Moduli der Eigenwerte für die VAR alle kleiner als 1, so dass ich mir keine Sorgen über die Nichtstationarität machen muss (obwohl der Dickey-Fuller-Test etwas anderes vorschlägt). Die Vorhersagen scheinen größtenteils mit Projektionen eines flexiblen univariaten Modells mit einem Zeittrend übereinzustimmen, mit Ausnahme von und p , die niedriger sind. Die Koeffizienten auf den Verzögerungen scheinen größtenteils vernünftig zu sein, obwohl sie größtenteils unbedeutend sind. Der lineare Trendkoeffizient ist ebenso signifikant wie einige der Periodendummys. Gibt es dennoch theoretische Gründe, diesen einfacheren Ansatz dem VAR-Modell vorzuziehen?
Vollständige Offenlegung: Ich habe eine ähnliche Frage zu Statalist ohne Antwort gestellt.
quelle
Antworten:
Ich verstehe, dass diese Frage schon seit Jahren hier steht, aber dennoch können die folgenden Ideen nützlich sein:
Wenn es Verknüpfungen zwischen Variablen gibt (und die theoretische Formel nicht so gut funktioniert), kann PCA verwendet werden, um systematisch nach (linearen) Abhängigkeiten zu suchen. Ich werde zeigen, dass dies für die angegebenen Daten in dieser Frage gut funktioniert.
Da nicht viele Daten vorliegen (insgesamt 112 Zahlen), können nur einige Modellparameter geschätzt werden ( z. B. ist das Anpassen vollständiger saisonaler Effekte keine Option), und es kann sinnvoll sein, ein benutzerdefiniertes Modell zu verwenden.
Nach diesen Grundsätzen würde ich eine Prognose erstellen:
Schritt 1. Wir können PCA verwenden, um Abhängigkeiten in den Daten aufzudecken. Mit R, mit den Daten gespeichert in
x
:Schritt 2. In PC1 ist ein klarer Trend zu erkennen:
Ich erstelle eine Kopie der PC-Partituren, wobei dieser Trend entfernt wurde:
Die Darstellung der Scores der anderen PCs zeigt keine eindeutigen Trends, daher lasse ich diese unverändert.
Da die PC-Scores zentriert sind, verläuft der Trend durch den Massenschwerpunkt der PC1-Stichprobe und die Anpassung des Trends entspricht nur der Schätzung eines Parameters.
Schritt 3. Ein Paar-Streudiagramm zeigt keine klare Struktur, daher modelliere ich die PCs als unabhängig:
Schritt 4. PC1 weist eine eindeutige Periodizität mit einer Verzögerung von 13 auf (wie in der Frage vorgeschlagen). Dies kann auf verschiedene Arten gesehen werden. Beispielsweise zeigt sich, dass die Autokorrelation von Lag 13 in einem Korrelogramm signifikant von 0 abweicht:
(Die Periodizität ist optisch auffälliger, wenn die Daten zusammen mit einer verschobenen Kopie geplottet werden.)
Da wir die Anzahl der geschätzten Parameter niedrig halten wollen und das Korrelogramm die Verzögerung 13 als einzige Verzögerung mit einem signifikanten Beitrag anzeigt, werde ich PC1 als modelliereny( 1 )t + 13= α13y( 1 )t+ σεt + 13 εt α13 σ
lm()
Als Plausibilitätsprüfung zeichne ich die angegebenen Daten (schwarz) zusammen mit einer zufälligen Flugbahn meines Modells für PC1 (blau) auf, die ein Jahr in die Zukunft reicht:
Der blaue, simulierte Pfad sieht aus wie eine sinnvolle Fortsetzung der Daten. Die Korrelogramme für PC2 und PC3 zeigen keine signifikanten Korrelationen, daher modelliere ich diese Komponenten als weißes Rauschen. PC4 zeigt zwar Korrelationen, trägt aber so wenig zur Gesamtvarianz bei, dass es sich nicht zu modellieren lohnt, und ich modelliere diese Komponente auch als weißes Rauschen.
Hier haben wir zwei weitere Parameter angepasst. Dies bringt uns zu insgesamt neun Parametern im Modell (einschließlich der PCA), was nicht absurd erscheint, als wir mit Daten aus 112 Zahlen angefangen haben.
Prognose. Wir können eine numerische Vorhersage erhalten, indem wir das Rauschen weglassen (um den Mittelwert zu erhalten) und die PCA umkehren:
Unsicherheitsbänder können entweder analytisch oder einfach unter Verwendung von Monte Carlo erhalten werden:
Das Diagramm zeigt die tatsächlichen Daten fürW
quelle