Kann ich dynlm ohne verzögerte Variablen verwenden?

8

Ich versuche eine dynamische lineare Regression mit dem Befehl dynlm in der R-Programmierung zu verwenden, da ich meine Panel-Daten analysieren muss, aber keine Panel-Regression verwenden möchte.

Meine Modellspezifikation enthält jedoch keine verzögerten Variablen. Kann ich in diesem Fall das dynamische lineare Modell (dynlm) noch verwenden? Die Ausgaben, die es gibt, sind immer noch ziemlich gut und hilfreich.

Zum Beispiel bekomme ich Folgendes.

%Vor%

Der erste Teil des Datensatzes, den ich verwende, ist folgender:

%Vor%

.............

Die Datenmenge ist selbst für Einrückungen zu groß, also höre ich hier auf.

    
Eric 31.10.2017, 21:52
quelle

1 Antwort

2

Mit Ihrem Datensample:

%Vor%

Ich habe das dynlm-Modell ausgeführt:

%Vor%

Scheint so, als hätten Sie Daten in Date order und höchstwahrscheinlich auch in zeitlicher Reihenfolge, weil ID zunimmt.

Allerdings variiert Ihr Zeitschritt , da die Anzahl der Beobachtungen pro Datum nicht konstant ist. Die Verzögerung in der Datenstichprobe variiert ungefähr zwischen ein paar Tagen und mehreren Stunden.

Wenn Sie das Modell verwenden, erhalten Sie indikative Ergebnisse für einen durchschnittlichen Zeitschritt, da die Methode nicht weiß, dass Ihr Zeitschritt variiert. Wenn Sie versuchen, nächste Punkte in der Zeitreihe vorherzusagen, dann ist die Vorhersage am genauesten, wenn Sie dem durchschnittlichen Zeitschritt am nächsten sind (zB 6h vs. 6h) und am wenigsten genau, wenn Sie am weitesten entfernt sind aus dem durchschnittlichen Zeitschritt (zB 6 Tage vs. 6h).

Wenn Sie dies im Hinterkopf behalten, können Sie versuchen, die Ergebnisse eines angepassten dynamischen linearen Modells zu interpretieren. Sogar mit einem moderat variierenden Zeitschritt können dlm-Modelle beim Glätten der Daten verwendet werden, so dass Trends in verstreuten Daten aufgedeckt werden.

Bearbeiten:

Mit der normalen Funktion lm bekomme ich genau die gleichen Ergebnisse:

%Vor%

Die Ergebnisse der Anpassung von formula = y ~ a + b + c + d * g + e * g + f * g + h + i + j mit dynlm sind also genau dieselben, wie wenn die Formel mit der Regressionsanpassungsfunktion lm übereinstimmt.

Laut dem Handbuch dynlm package müssen Sie die Dynamik angeben (via d() und L() ) oder lineare / zyklische Muster (über trend() , season() und harmon() ) in der Formel, um dynlm vollständig auszunutzen.

    
Heikki 02.11.2017, 23:37
quelle

Tags und Links