Sas Moving Average Ucla


Im ein SAS Anfänger und Im neugierig, wenn die folgende Aufgabe viel einfacher getan werden kann, wie es gegenwärtig in meinem Kopf ist. Ich habe die folgenden (vereinfachten) Metadaten in einer Tabelle namens userdatemoney: Benutzer - Datum - Geld mit verschiedenen Benutzern und Daten für jeden Kalendertag (für die letzten 4 Jahre). Die Daten werden von User ASC und Date ASC geordnet, Beispieldaten sieht so aus: Ich möchte nun einen fünftägigen gleitenden Durchschnitt für das Geld berechnen. Ich begann mit der beliebten apprach mit der Funktion lag () wie folgt: Das Problem mit dieser Methode tritt auf, wenn der Datenschritt in einen neuen Benutzer läuft. Aron würde einige verzögerte Werte von Anna bekommen, was natürlich nicht passieren sollte. Nun meine Frage: Ich bin ziemlich sicher, dass Sie den Benutzer wechseln können, indem Sie einige zusätzliche Felder wie laggeduser und durch Rücksetzen der N, Summe und Mean-Variablen, wenn Sie einen solchen Schalter bemerken, aber: Kann dies in einer einfacheren Weise getan werden Vielleicht mit dem BY-Klausel in irgendeiner Weise Vielen Dank für Ihre Ideen und Hilfe Ich denke, der einfachste Weg ist, um PROC EXPAND verwenden: Und wie in Johns Kommentar erwähnt, ist es wichtig, über fehlende Werte (und auch über Anfang und Ende Beobachtungen) zu erinnern. Ive hinzugefügt SETMISS-Option auf den Code, da Sie klar, dass Sie zerofy fehlende Werte wollen, nicht ignorieren (Standard-MOVAVE-Verhalten). Und wenn Sie die ersten 4 Beobachtungen für jeden Benutzer ausschließen möchten (da sie nicht genug Vorgeschichte haben, um den gleitenden Durchschnitt 5 zu berechnen), können Sie die Option TRIMLEFT 4 innerhalb von TRANSFORMOUT () verwenden. Beantwortet Dec 3 13 am 15: 29Proc Arima Die Analyse der Zeitreihendaten im Zeitbereich wird mit diesem Verfahren durchgeführt. Die Box-Jenkins-Methodik (die Anpassung von ARIMA-Modellen an Zeitreihendaten) und auch Transfermodelle können verwendet werden. Die Frequenzbereichsanalyse von Zeitreihen kann mit Proc Spectra durchgeführt werden. Der Rahmen für die Analyse ist, dass die beobachtete Zeitreihe X (t) stationär ist und eine ARMA-Gleichung der Form erfüllt, wobei Z (t) ein Weißrauschverfahren ist. Die Konstanten phi (1). Phi (p) die autoregressiven Koeffizienten und die Zahl p die Ordnung der autoregressiven Komponente. Die Konstanten theta (1). Theta (q) werden die gleitenden Mittelwertkoeffizienten und die Zahl q die Ordnung der gleitenden mittleren Komponente genannt. Es ist möglich, daß entweder p oder q Null ist. Die Verwendung von proc arima für ARMA Modelle besteht aus 3 Schritten. Der erste Schritt ist die Modellidentifikation, bei der die beobachtete Serie stationär umgesetzt wird. Die einzige Transformation in proc arima ist differencing. Der zweite Schritt ist die Modellschätzung, bei der die Aufträge p und q ausgewählt und die entsprechenden Parameter geschätzt werden. Der dritte Schritt ist die Prognose, in der das geschätzte Modell zur Prognose zukünftiger Werte der beobachtbaren Zeitreihen verwendet wird. Als Beispiel wird die Datendatei milk. dat mit Daten zur Milchproduktion von Cryer analysiert. Hier sind die Befehle, die für jeden der 3 Schritte verwendet werden könnten. OPTIONEN FÜR DIE IDENTIFY-STATEMENT: Die var-Anweisung ist erforderlich und spezifiziert die Variable (n) im zu analysierenden Datensatz. Die optionalen Zahlen in Klammern geben die LAG an, auf der Differenzen berechnet werden sollen. Eine Aussage Varmilk würde die Milch-Serie ohne differenzierende Varmilch analysieren (1) analysieren würde die erste Differenz der Milch Varmil (1,1) die zweite Differenz der Milch. Die var-Anweisung erzeugt 3 Plots für die angegebene Variable: die Autokorrelationsfunktion, die inverse Autokorrelationsfunktion und die partielle Autokorrelationsfunktion. Diese groben Diagramme und Tabellen ihrer Werte werden im Ausgabefenster gedruckt. Höhere Qualität Plots können durch die Verwendung von anderen Optionen (siehe unten) und proc gplot produziert werden. Die nlag-Option bewirkt, dass die 3 Plots Werte bis zu Verzögerung 30 ausgeben. Wenn nicht angegeben, ist der Standardwert nlag24 oder 25 der Anzahl der Beobachtungen, je nachdem, welcher Wert kleiner ist. Die zentrale Option subtrahiert den Durchschnitt der durch die var-Anweisung angegebenen Serie. Der Durchschnitt wird im Prognoseschritt automatisch wieder hinzugefügt. Die Option outcov legt die Werte der Sample-Korrelationsfunktionen in einen SAS-Datensatz. Diese Werte können verwendet werden, um qualitativ hochwertige Plots dieser Funktionen unter Verwendung von proc gplot zu erzeugen. Die Variablenausgabe lautet: LAG. VAR (Name der Variablen, die in der var-Option angegeben ist), CROSSVAR (Name der Variablen, die in der crosscorr-Option angegeben ist), N (Anzahl der Beobachtungen, die zur Berechnung des aktuellen Wertes der Kovarianz oder Kreuzkovarianz verwendet werden), COV (Wert des Kreuzes Kovarianzen), CORR (Wert der Autokorrelationsfunktion), STDERR (Standardfehler der Autokorrelationen), INVCORR (Werte der inversen Autokorrelationsfunktion) und PARTCORR (Werte der partiellen Autokorrelationsfunktion). Die Option noprint unterdrückt die Ausgabe der Diagramme mit niedriger Qualität, die normalerweise von der var-Anweisung erzeugt werden. Diese Option wird hauptsächlich mit der Option outcov verwendet. OPTIONEN FÜR DIE SCHÄTZUNGSERKLÄRUNG: Die Optionen p1 q3 geben die auto-regressiven und gleitenden Durchschnittsaufträge an. Andere Formen dieser Spezifikationen sind: q (3), um festzulegen, dass NUR der Parameter theta (3) für ein saisonales Modell (1-phi (12) B12) nicht ungleich n (12) (3) sein darf (1 - phi (3) B3) wobei B der Rückschaltoperator p (3,12) für ein Modell ist, in dem nur phi (3) und phi (12) ungleich Null sein dürfen. Die nodf-Option verwendet die Stichprobengröße und nicht die Freiheitsgrade als Divisor bei der Schätzung der Weißrauschvarianz. Die Methodenoption wählt das Schätzverfahren für die Parameter aus. Die Auswahlmöglichkeiten sind ml für maximale (Gaußsche) Wahrscheinlichkeitsschätzung, uls für unbedingte kleinste Quadrate und cls für bedingte kleinste Quadrate. Die Plot-Option erzeugt die gleichen 3 Plots wie in der identify-Anweisung für die RESIDUALS, nachdem die Modellparameter geschätzt werden. Dies ist eine weitere nützliche Überprüfung der Weißheit der Residuen. OPTIONEN FÜR DIE PROGNOSE-STATEMENT: Die Lead-Option legt die Anzahl der Zeitintervalle fest, für die Prognosen erstellt werden sollen. Durch die Verwendung der out - und printall-Optionen in der Prognose-Anweisung wird ein SAS-Dataset erstellt, das die Werte der Originalserie und die prognostizierten Werte der Serie immer mit dem Modell enthält. Dies kann für eine Analyse der bisherigen Leistung des Modells nützlich sein. In der Praxis werden mehrere verschiedene Schätzanweisungen sequentiell versucht, um zu sehen, welches Modell am besten zu den Daten passt. Proc arima ist interaktiv, im Sinne, dass diese sequentiellen Versuche ohne Neustart des Verfahrens durchgeführt werden können. Geben Sie einfach die aufeinanderfolgenden Schätzungsanweisungen ein, die die ursprüngliche identifizierende Aussage beibehalten wird. Transfer-Funktionsmodelle können mit der crosscorr-Option der identify-Anweisung und der Eingabeoption der Schätzanweisung angepasst werden. Die Mechanik dieser Prozedur ist für eine Datensatz-Fälschung dargestellt, die zwei Zeitreihen enthält, die durch ein Übertragungsfunktionsmodell verknüpft sind. In diesem Fall hängt Y von X ab. Zuerst wird der Prozess X unter Verwendung der Identifizierungs - und Schätzanweisungen modelliert. Dann wird Y identifiziert und die Kreuzkorrelation zwischen den vorvermischten Prozessen X und Y wird geschätzt. Das Programm könnte so aussehen. Aus der Kreuzkorrelationsinformation können die Lags, an denen der Eingabeprozess X Einfluss auf Y hat, vorläufig identifiziert werden. Es ist anzumerken, dass nur Kausalmodelle zulässige Nicht-Null-Kreuzkorrelationen bei negativen Lags nicht in proc arima modelliert werden können. Zur Veranschaulichung können die Nicht-Null-Verzögerungen 2 und 4 sein. Der Prozeß Y kann wie folgt geschätzt werden. Der Eingang hat die Form cB2 dB4 B2 (c dB2). Es ist diese letztere Form, die die Form der Input-Anweisung gibt. Beachten Sie, dass die Schätzanweisung immer auf die jüngste Identifizierungsanweisung verweist, um zu entscheiden, welche Variablen in das Modell einbezogen werden sollen. Somit werden Differenzierung und Zentrierung automatisch behandelt (wenn verwendet), außer dass differencing explizit in der crosscorr-Anweisung angegeben werden muss. Weitere Informationen finden Sie in der Online-Hilfe unter SAS SYSTEM HELP - MODELLING AMP ANALYSIS TOOLS - ECONOMETRICS amp TIME SERIES - ARIMA oder dem SAS / ETS Guide. Copyright-Kopie 1997 von Jerry Alan Veeh. Alle Rechte vorbehalten. Der Beispielcode auf der Registerkarte Voller Code veranschaulicht, wie der gleitende Durchschnitt einer Variablen über einen gesamten Datensatz, über die letzten N Beobachtungen in einem Datensatz oder über die letzten N Beobachtungen innerhalb einer BY-Gruppe berechnet werden kann. Diese Beispieldateien und Codebeispiele werden von SAS Institute Inc. bereitgestellt, und zwar ohne Gewährleistung jeglicher Art, entweder ausdrücklich oder implizit, einschließlich aber nicht beschränkt auf die implizierten Garantien der Marktgängigkeit und Eignung für einen bestimmten Zweck. Die Empfänger erkennen an und stimmen zu, dass SAS Institute nicht für irgendwelche Schäden haftbar ist, die sich aus ihrer Verwendung dieses Materials ergeben. Darüber hinaus bietet das SAS Institute keine Unterstützung für die hierin enthaltenen Materialien. Diese Beispieldateien und Codebeispiele werden von SAS Institute Inc. bereitgestellt, und zwar ohne Gewährleistung jeglicher Art, entweder ausdrücklich oder implizit, einschließlich aber nicht beschränkt auf die implizierten Garantien der Marktgängigkeit und Eignung für einen bestimmten Zweck. Die Empfänger erkennen an und stimmen zu, dass SAS Institute nicht für irgendwelche Schäden haftbar ist, die sich aus ihrer Verwendung dieses Materials ergeben. Darüber hinaus bietet das SAS Institute keine Unterstützung für die hierin enthaltenen Materialien. Berechnen Sie den gleitenden Durchschnitt einer Variablen über einen gesamten Datensatz, über die letzten N Beobachtungen in einem Datensatz oder über die letzten N Beobachtungen innerhalb einer BY-Gruppe.

Comments

Popular Posts