Saturday 7 October 2017

Berechnen 3 Monats Gleit Durchschnitt In Sas


Moving Average Dieses Beispiel lehrt Sie, wie Sie den gleitenden Durchschnitt einer Zeitreihe in Excel berechnen können. Ein gleitender Durchschnitt wird verwendet, um Unregelmäßigkeiten (Gipfel und Täler) zu glätten, um Trends leicht zu erkennen. 1. Zuerst schauen wir uns unsere Zeitreihen an. 2. Klicken Sie auf der Registerkarte Daten auf Datenanalyse. Hinweis: Kann die Schaltfläche Datenanalyse nicht finden Hier klicken, um das Analysis ToolPak-Add-In zu laden. 3. Wählen Sie Moving Average und klicken Sie auf OK. 4. Klicken Sie in das Feld Eingabebereich und wählen Sie den Bereich B2: M2. 5. Klicken Sie in das Feld Intervall und geben Sie 6 ein. 6. Klicken Sie in das Feld Ausgabebereich und wählen Sie Zelle B3. 8. Zeichnen Sie einen Graphen dieser Werte. Erläuterung: Da wir das Intervall auf 6 setzen, ist der gleitende Durchschnitt der Durchschnitt der bisherigen 5 Datenpunkte und der aktuelle Datenpunkt. Dadurch werden Gipfel und Täler geglättet. Die Grafik zeigt einen zunehmenden Trend. Excel kann den gleitenden Durchschnitt für die ersten 5 Datenpunkte nicht berechnen, da es nicht genügend vorherige Datenpunkte gibt. 9. Wiederholen Sie die Schritte 2 bis 8 für Intervall 2 und Intervall 4. Fazit: Je größer das Intervall, desto mehr werden die Gipfel und Täler geglättet. Je kleiner das Intervall, desto näher sind die gleitenden Mittelwerte zu den tatsächlichen Datenpunkten. Ich habe einen Screenshot hinzugefügt, um mein Problem zu klären: Ich versuche, irgendeine Art von gleitendem Durchschnitt zu berechnen und die Standardabweichung zu bewegen. Die Sache ist, dass ich die Variationskoeffizienten (stdevavg) für den tatsächlichen Wert berechnen möchte. Normalerweise erfolgt dies durch die Berechnung der stdev und avg für die letzten 5 Jahre. Allerdings gibt es manchmal auch Beobachtungen in meiner Datenbank, für die ich nicht die Informationen der letzten 5 Jahre habe (vielleicht nur 3, 2 usw.). Thats, warum ich einen Code wünsche, der das avg und stdev berechnet, selbst wenn es keine Informationen für die ganzen 5 Jahre gibt. Auch, wie Sie in den Beobachtungen sehen, manchmal habe ich Informationen über mehr als 5 Jahre, wenn dies der Fall ist, brauche ich irgendeinen gleitenden Durchschnitt, der mir erlaubt, das avg und stdev für die letzten 5 Jahre zu berechnen. Wenn also ein Unternehmen 7 Jahre lang Informationen hat, brauche ich irgendeine Art von Code, der das avg und stdev berechnen wird, sagen wir 1997 (von 1991-1996), 1998 (von 1992-1997) und 1999 (1993-1998). Als ich nicht sehr vertraut mit sas Befehlen es aussehen sollte (sehr sehr grob) wie: Oder so etwas, ich habe wirklich keine Ahnung, Im gonna versuchen und es herauszufinden, aber es lohnt es, es zu schreiben, wenn ich es nicht selbst finden werde SAS Anfänger und Im neugierig, wenn die folgende Aufgabe viel einfacher gemacht werden kann, wie es derzeit in meinem Kopf ist. Ich habe die folgenden (vereinfachten) Metadaten in einer Tabelle namens userdatemoney: User - Date - 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 bestellt, Beispieldaten sehen so aus: Ich möchte nun einen fünftägigen gleitenden Durchschnitt für das Geld berechnen. Ich begann mit dem ziemlich populären apprach mit der lag () Funktion wie folgt: Wie Sie sehen, das Problem mit dieser Methode tritt auf, wenn es wenn der Datenschritt in einen neuen Benutzer läuft. Aron bekam einige hintere Werte von Anna, was natürlich nicht passieren sollte. Nun meine Frage: Ich bin mir ziemlich sicher, dass du mit dem User-Switch umgehen kannst, indem du einige zusätzliche Felder wie laggeduser hinzufügst und die N-, Summen - und Mean-Variablen zurücksetzest, wenn du einen solchen Schalter kennst, aber das kann man einfacher machen BY Klausel in irgendeiner Weise Danke für deine Ideen und Hilfe Ich denke, der einfachste Weg ist, PROC EXPAND zu verwenden: Und wie in Johns Kommentar erwähnt, ist es wichtig, sich an fehlende Werte zu erinnern (und auch über Anfangs - und Endbeobachtungen). Ive hat die SETMISS-Option zum Code hinzugefügt, da du es klar gemacht hast, dass du zerofy fehlende Werte willst, ignorierst sie nicht (Standard-MOVAVE-Verhalten). Und wenn du die ersten 4 Beobachtungen für jeden Benutzer ausschließen willst (da sie nicht genug Vorgeschichte haben, um den gleitenden Durchschnitt zu berechnen), kannst du die Option TRIMLEFT 4 innerhalb von TRANSFORMOUT () verwenden. Antwortete am 13.12. Um 15:29

No comments:

Post a Comment