Dynamic Factor Model: Fehlende Werte einsetzen

Methoden der Zeitreihenanalyse

Moderator: schubbiaschwilli

Antworten
Felizitas179
Beiträge: 3
Registriert: Di Mär 05, 2024 9:19 am

Dynamic Factor Model: Fehlende Werte einsetzen

Beitrag von Felizitas179 »

Hi zusammen,

derzeit versuche ich mein Bestes, mit einem Dynamic Factor Modell (DFM) bei makroökonomischen Daten umzugehen, bin aber auf ein paar Probleme gestoßen und hoffe, jemand kann mir weiterhelfen.

Folgende Ausgangssituation:
Ich habe ausführliche Zeitreihendaten von 1990 - 2022 zu diversen geldpolitischen Variablen und würde gerne ein Dynamic Factor Model anwenden. Die Zeitreihendaten habe ich bereits als Zeitreihen markiert, d.h. das sind keine Data Frames mit einer "Datumsspalte", sondern liegen bereits als ts Objekt vor. Ebenso habe ich bereits die Zeitreihen stationär gemacht. Bei ein paar Variablen liegen ab 2012 fehlende Werte vor.

Mein Ziel:
Mein Ziel wäre es, mithilfe des DFM die Zusammenhänge zwischen allen Variablen zu modellieren und dann eben für die fehlenden Werte neue Werte einzusetzen, welche gegeben der Beobachtungen der anderen Variablen am wahrscheinlichsten sind (gegeben des ursprünglichen Zusammenhangs zwischen den Variablen). Das heißt: Von 1990 - 2012 liegen mir sämtliche Beobachtungen vor und ab 2012 fehlen bei manchen Variablen Werte. Gegeben der vorherigen Beziehungen zwischen den Variablen, sollen nun diese fehlenden Werte für wahrscheinliche Werte eingesetzt werden, gegeben der Entwicklung der restlichen Variablen (von welchen ich Beobachtungen vorliegen habe).

Mein bisheriges Vorgehen:
Mein erster Versuch wäre es gewesen, die stationären Zeitreihen mithilfe des DFM Befehls zu einem Dynamic Factor Model zu schätzen:

DFM1 = DFM(ts_missing_used, r=4, p=1, em.method = "BM") ,

wo ts_missing_used die stationären Zeitreihen sind, vier Faktoren genommen werden (bereits durch Ellbogenkriterium ermittelt) und nach dem Schwarz Kriterium 1 Lag genommen wird. Die Methode zur expectation maximization ist die von Banbura und Modugno (2014), da diese bei systematisch fehlenden Werten empfehlenswert ist. Nach dem Befehl entsteht eine DFM1 Liste, wo die Eigenwerte und Eigenvektoren abgespeichert sind sowie Factor Estimates nach unterschiedlichen Verfahren, die Factor transition matrix usw.
Leider liegen nun für die fehlende Werte auch bei den fitted values fehlende Werte vor. Ich würde aber gerne für diese die wahrscheinlichsten Werte einsetzen. In der Literatur heißt es, man kann dafür den Kalman Filter benutzen, aber ich bin mir nicht sicher, wie ich dies programmieren soll.
Ebenso bin ich mir noch unschlüssig, ob ich nicht den Datensatz aufspalten soll, also in 1990-2012 und 2012-2022, und das DFM von 1990-2012 schätzen soll und dann die Korrelationen und Faktoren verwenden soll, um die vergangenen Zusammenhänge zu nutzen, um die fehlenden Daten von 2012-2022 zu erklären/ersetzen, gegeben der Entwicklung der Variablen, von welchen Beobachtungen vorliegen. Hier weiß ich dann aber nicht, wie ich im zweiten Teil, also von 2012-2022 vorgehen soll. Müsste ich dafür von meinem dfm Objekt vom ersten Zeitbereich (1990-2012) die Faktoren extrahieren und für eine zweite Gleichung verwenden?

Es würde mich außerordentlich freuen, wenn sich jemand mit dem Thema auskennt und mir weiterhelfen kann!

Liebe Grüße
Felizitas
Athomas
Beiträge: 769
Registriert: Mo Feb 26, 2018 8:19 pm

Re: Dynamic Factor Model: Fehlende Werte einsetzen

Beitrag von Athomas »

Es würde mich außerordentlich freuen, wenn sich jemand mit dem Thema auskennt
Damit kann ich leider nicht dienen, ich habe davon absolut keine Ahnung - aber ich würde gerne erstmal die Situation verstehen, vor der Du stehst!
ab 2012 fehlen bei manchen Variablen Werte
Was bedeutet das: hast Du ab 2012 einen Totalausfall bei diesen Variablen oder treten die fehlenden Werte sporadisch auf? Gibt es da "Blöcke" inhaltlicher (etwa "wenn Variable 3 fehlt, sind 7 und 9 auch nicht da") oder zeitlicher Art (die Ausfälle liegen immer in kompletten Zeitintervallen vor) - oder beides?
Sind die Daten öffentlich verfügbar?
Felizitas179
Beiträge: 3
Registriert: Di Mär 05, 2024 9:19 am

Re: Dynamic Factor Model: Fehlende Werte einsetzen

Beitrag von Felizitas179 »

Hi Athomas,

also, es ist so: Bis 2012 hatte eine der Variablen einen ganz natürlichen Verlauf in Abhängigkeit des äußeren Wirtschaftsgeschehens. Ab 2012 hat die Zentralbank jedoch die Werte der Variable einfach "künstlich" festgesetzt, d.h. die Variable entspricht nicht mehr dem normalen Gleichgewicht, sondern wird nun direkt von der Zentralbank gesteuert. Aus diesem Grund würde es mich interessieren, wie sich die Variable weiterentwickelt hätte, gegeben der äußeren Umstände, hätte die Zentralbank nicht eingegriffen. Im Anschluss würde ich dann die "natürlichen" Werte der Variable mit dem von der ZB festgelegten Werten vergleichen.

Meine Idee ist es also, bis 2012 die Beziehung der Variable mit dem Umfeld herauszuarbeiten und dies dann zu verwenden, um ab 2012 zu ermitteln, wie sich die Variable ungefähr weiterentwickelt hätte, hätte die Zentralbank nicht eingegriffen. Demnach würden ab 2012 alle Werte für diese Variable fehlen.

In der Literatur wird für solche Fälle oftmals das DFM verwendet, welches besonders gut bei makroökonomischen und Finance Daten zum Einsatz kommt. Auf dieser Grundlage würde ich auch gerne die fehlenden, also die "was-wäre-gewesen-hätte-die-Zentralbank-nicht-eingegriffen"-Werte ermitteln.
Felizitas179
Beiträge: 3
Registriert: Di Mär 05, 2024 9:19 am

Re: Dynamic Factor Model: Fehlende Werte einsetzen

Beitrag von Felizitas179 »

Um es vielleicht an einem Beispiel zu erklären, welches nicht direkt meine Forschung preisgibt ;)

Stell dir vor, seit Jahren ergeben sich die Mietpreise aus Angebot, Nachfrage, Lage, Baujahr, Größe, Heizungsart, etc. Nun jedoch greift plötzlich der Staat ein und sagt, dass die Mietpreise ab sofort bei 500€ liegen (nur als Beispiel).

Meine Frage wäre nun, wie sich die Mietpreise weiterentwickelt hätten (gegeben des neuen Angebots, neuer Nachfrage, etc.), hätte der Staat nicht eingegriffen.
Antworten