Friday 17 November 2017

R Moving Average Missing Values


Eine einfache und allgemeine Methode zum Ausfüllen fehlender Daten ist, wenn Sie vollständige Daten haben, die lineare Regression zu verwenden. Sagen Sie haben 1000 Läufe von 5 in einer Reihe mit keine fehlen. Richten Sie die 1000 x 1 Vektor y und 1000 x 4 Matrix X: Regression geben Ihnen 4 Zahlen ein b c d, die eine beste Übereinstimmung für Ihre 1000 Zeilen von Daten mdash unterschiedliche Daten geben, unterschiedlich ein b c d. Dann verwenden Sie diese ein b c d zu schätzen (voraussagen, interpolieren) fehlende wt0. (Für menschliche Gewichte, Id erwarten abcd, um rund 1/4 sein.) (Es gibt Zillionen von Büchern und Papieren auf Regression, auf allen Ebenen. Für die Verbindung mit Interpolation, aber ich weiß nicht, eine gute Einführung jedermann) Berechnen Verschieben von Mittelwerten mit fehlenden Werten set obs 10 obs war 0, jetzt 10 tsset t Zeitvariable: t, 1 bis 10 delta: 1 Einheit tssmooth ma y3 y, w (1 1 1) Die glattere Anwendung war (1/3) x ( T-1) 1x (t) x (t1) x (t) y tssmooth ma y5 y, w (2 1 2) Es wurde (1/5) x (t-2) x (t-1) (T) x (t1) x (t2) x (t) y - schmeichelt so gut wie möglich an den Enden der Reihe (was nicht das gleiche ist wie die Behandlung von Fehlern als 0s Erhalten). Jeff kann die Ergebnisse von - tssmooth überschreiben, wenn er das nicht will. Ersetzen Sie y3. Wenn fehlen (L1.y, F1.y) y5 ersetzen. Wenn fehlen (L1.y, L2.y, F1.y, F2.y) Zum Beispiel fehlt L1.y am Anfang einer Reihe y und F1.y am Ende. Dies funktioniert auch mit Panel-Daten. Eine benutzerdefinierte Alternative zu - tssmooth - ist das - egen-function - filter () - von - egenmore-. Alternativ, bitte buchstabieren, was Art und Weise des Umgangs mit Enden, die Sie bevorzugen. Wenn ich die tssmooth-Funktion benutze, um 2- oder 5-jährige gleitende Durchschnitte zu erzeugen, berechnet Stata diese gleitenden Mittelwerte bis zum Ende der Zeitreihe, anstatt 1 Jahr (im Fall des 2-jährigen gleitenden Durchschnitts) oder 4 Jahre (in der Fall des 5-jährigen Gleitendurchschnitts) vor dem Ende der Zeitreihe Es zählt also fehlende Werte als Null vor. Wussten Sie, eine mögliche Strategie, um dieses Problem zu beheben Ich habe eine Gruppe von Daten im Format: Jede ID ist ein Patient und jeder Wert ist, sagen wir, Blutdruck für die Minute. Ich möchte einen rollierenden Durchschnitt für die 60 Minuten vor und 60 Minuten nach jedem Punkt zu erstellen. Allerdings - wie Sie sehen können, gibt es fehlende Minuten (so kann ich nicht nur Zeilennummern verwenden) und ich möchte für jede eindeutige ID durchschnittlich zu schaffen (so kann der Durchschnitt für ID xxxx können keine Werte zugeordnet ID IDYYY). Es klingt wie rollapply oder rollingstat könnte Optionen sein, aber haben wenig Erfolg versucht, dieses Stück zusammen. Bitte lassen Sie mich wissen, wenn weitere Klarheit erforderlich ist. Gespeichert Jan 27 14 bei 3:49

No comments:

Post a Comment