Umzug Durchschnitt Sas Proc Expand
Ich bin SAS Anfänger und ich bin 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 - Money. with verschiedene Benutzer und Daten Für jeden Kalendertag für die letzten 4 Jahre Die Daten werden von Benutzer-ASC und Datum ASC bestellt, Beispieldaten sehen so aus. Ich möchte nun einen fünftägigen gleitenden Durchschnitt für das Geld berechnen, das ich mit dem ziemlich populären apprach mit der Lag-Funktion begonnen habe So wie du siehst, das Problem bei dieser Methode tritt auf, wenn es wenn der Datenschritt in einen neuen Benutzer läuft, würde Aron einige verzögerte Werte von Anna bekommen, was natürlich nicht passieren sollte. Jetzt meine Frage, ich bin mir ziemlich sicher, dass du das behandeln kannst Benutzer-Umschalten, indem Sie einige zusätzliche Felder wie laggeduser und durch das Zurücksetzen der N, Summe und Mean Variablen, wenn Sie einen solchen Schalter aber. Can dies geschehen auf eine einfachere Weise Vielleicht mit dem BY Clause in irgendeiner Weise Vielen Dank für Ihre Ideen und Hilfe. Ich denke, der einfachste Weg ist, PROC EXPAND zu verwenden. Und wie in John s Kommentar erwähnt, ist es wichtig, sich über fehlende Werte zu erinnern und über Anfang und Beendigung von Beobachtungen sowie ich habe hinzugefügt SETMISS Option auf den Code, wie Sie es klar, dass Sie wollen zerofy fehlende Werte, ignorieren sie nicht standardmäßig MOVAVE Verhalten Und wenn Sie die ersten 4 Beobachtungen für jeden Benutzer ausschließen wollen, da sie nicht genug Vorgeschichte haben, um den gleitenden Durchschnitt 5 zu berechnen, können Sie die Option TRIMLEFT 4 innerhalb von TRANSFORMOUT. answered verwenden Dez 3 13 bei 15 29.Beginning in Release 6 08 des SAS-Systems kann PROC EXPAND in SAS-ETS-Software verwendet werden, um eine Vielzahl von Datentransformationen herzustellen. Diese Transformationen beinhalten Leads, Lags, gewichtete und ungewichtete Bewegungsdurchschnitte, bewegte Summen und Kumulative Summen, um einige zu nennen Viele neue Transformationen wurden in Release 6 12 hinzugefügt, einschließlich separater Spezifikationen für zentrierte und rückwärts bewegte Mittelwerte Diese neuen Transformationen machten es notwendig, die Syntax für einige der Transformationen zu modifizieren, die vor Release 6 unterstützt wurden. 12 Beispiele für wie Um die Syntax für zentrierte und rückwärts bewegte Mittelwerte unter Verwendung von Release 6 11 und früher anzugeben, und Release 6 12 und höher sind unten angegeben. PROC EXPAND kann entweder einen zentrierten gleitenden Durchschnitt oder einen rückwärts gleitenden Durchschnitt berechnen Ein 5-Perioden-zentrierter gleitender Durchschnitt wird berechnet durch Wobei insgesamt 5 aufeinanderfolgende Werte der Reihe der aktuelle Periodenwert zusätzlich zu den beiden unmittelbar vorangehenden Werten und zwei unmittelbar nach dem aktuellen Wert A 5-Perioden rückwärts gleitenden Mittelwert ergebenden Werten durch Mittelung des aktuellen Periodenwertes mit den Werten aus der 4 unmittelbar vorangehende Perioden. Die folgende Syntax veranschaulicht, wie man die TRANSFORM MOVAVE n Spezifikation verwendet, um einen 5-Perioden-zentrierten gleitenden Durchschnitt mit Release 6 11 oder früher zu berechnen. Um einen n Perioden-Rückwärts-Gleitender Durchschnitt mit Release 6 11 oder früher zu berechnen, verwenden Sie Von der TRANSFORM MOVAVE n LAG k Spezifikation, wobei k n-1 2 wenn n ungerade ist oder wo k n-2 2 ist, wenn n gerade ist. Beispielsweise zeigt die folgende Syntax, wie man einen 5-Perioden-Rückwärts-Gleitender Durchschnitt mit Release 6 berechnet 11 oder früher. Die folgende Syntax veranschaulicht, wie die TRANSFORM CMOVAVE n-Spezifikation verwendet wird, um einen 5-Perioden-zentrierten gleitenden Durchschnitt mit Release 6 12 oder höher zu berechnen. Die folgende ähnliche Syntax veranschaulicht, wie die TRANSFORM MOVAVE n-Spezifikation verwendet wird, um eine 5- Periode rückwärts gleitender Durchschnitt mit Release 6 12 oder höher. Weitere Informationen finden Sie unter Transformationsoperationen im EXPAND-Kapitel des SAS-ETS-Benutzerhandbuchs. Wenn Sie keinen Zugriff auf SAS-ETS haben, können Sie einen gleitenden Durchschnitt im DATA-Schritt berechnen Wie in diesem Beispielprogramm dargestellt. Betriebssystem - und Freigabeinformationen Die Operationen, die in den Optionen TRANSFORMIN und TRANSFORMOUT verwendet werden können, sind in Tabelle 14 gezeigt. 1 Operationen werden auf jeden Wert der Serie angewendet. Jeder Wert der Serie wird durch das Ergebnis ersetzt Der Operation. In Tabelle 14 1 oder x steht der Wert der Serie zu einem bestimmten Zeitpunkt t vor der Transformation, stellt den Wert der Ergebnisreihe dar und N steht für die Gesamtzahl der Beobachtungen. Die Notation n gibt an, dass Das Argument n ist optional die Voreinstellung ist 1 Das Notationsfenster wird als Argument für die beweglichen Statistikoperatoren verwendet und es zeigt an, dass Sie entweder eine ganzzahlige Anzahl von Perioden n oder eine Liste von n Gewichten in Klammern angeben können. Die Notationssequenz wird verwendet Als das Argument für die Sequenzoperatoren, und es zeigt an, dass Sie eine Sequenz von Zahlen angeben müssen. Die Notation s gibt die Länge der Saisonalität an und es ist ein erforderliches Argument. Tabelle 14 1 Transformation Operations. adds die angegebene Zahl. attiert die angegebene Nummer Durch die angegebene nummeriert. dividiert durch die angegebene Zahl. indikiert, dass die folgende bewegliche Fenstersummierung oder Produktoperator für die Fensterbreite angepasst werden sollte. Klassische Zersetzung unregelmäßige Komponente. Klassische Zersetzung saisonale Komponente. Klassische Zersetzung saisonbereinigt serie. Klassische Zerlegung Trend - Zyklus Komponente. Klassische Zersetzung additive unregelmäßige Komponente. Klassische Zersetzung additive saisonale Komponente. Klassische Zersetzung additive saisonbereinigt Serie. kleine Ganzzahl größer als oder gleich x. zentriert gleitenden Durchschnitt. Zentriert bewegte korrigierte Summe von Quadraten. Zentrierte bewegte geometrische mean. centered bewegt Maximum. zentriert bewegte median. zentrierte bewegte minimale. zentrierte bewegte produkt. zentrierte bewegliche range. centered bewegende rank. centered bewegliche standardabweichung. zentrierte bewegte sum. centered bewegende t - value. centered bewegte unkorrigierte summe von squares. centered bewegliche varance. cumulative korrigierte summe Von Quadraten. Kumulative geometrische Mittel. Kumulative Standardabweichung. Kumulative t - value. kumulative unkorrigierte Summe von Quadraten. span n Unterschied. exponentially gewichtet gleitenden Durchschnitt von mit. smoothing Gewicht Zahl where. This Operation wird auch als einfache exponentielle Glättung. Bezugsdifferenz mit Unterschied Ordnung d wo. largest integer kleiner oder gleich x. fraktionale Summierung mit Summationsreihenfolge d wo. Hodrick-Prescott Filter Trend-Komponente, wo Lambda ist die nichtnegative Filter Parameter. Hodrick-Prescott Filter-Zyklus-Komponente, wo Lambda ist die nichtnegative Filter-Parameter. Inverse logistische Funktion. Wert der Reihe n Perioden früher. Wert der Reihe n Perioden später. Maximum von x und number. minimum von x und number. missing Wert if, else x. missing value if, else x. missing value if, Sonst x. missing value if, else x. missing value if, else x. missing value if, else x. backward gleitender Durchschnitt von n benachbarten values. backward gewichtete gleitende durchschnitt von benachbarten values. backward moving korrigierte summe von squares. backward moving geometric Mittelwert, rückwärts bewegtes, sich bewegendes, minimales, rückwärts bewegendes Produkt. Rückwärtsbewegendes Produkt. Rückwärtsbewegungsbereich. Rückwärtsbewegungsstandardabweichung. Rückwärtsbewegungssumme. Rückwärtsbewegendes T-Wert. Zurückgehende unkorrigierte Summe von Quadraten Varianz. indikiert, dass die folgende Verschiebungszeit window. statistic Betreiber nur fehlende Werte durch die. moving-Statistik ersetzen und sollte nichtmissing Werte unverändert lassen. Wenn die Option MEAN angegeben ist, dann fehlende Werte werden durch den Gesamtmittel der Serie umgesetzt. Ändert das sign. indikates, dass die folgende bewegte zeit window. statistic operator sollte nicht zulassen, fehlende values. percent differenz des aktuellen wertes und lag n. percent summation des aktuellen wertes und kumulative sum - lag periods. ratio des aktuellen wert zu verzögern. Umgekehrt die serie. skala serie zwischen und. add sequenzwerte zu serie. divide serie nach sequenzwerten. subtract sequenzwerte zu serie. multiply serie nach sequenzwerten. ssatz alle Werte von to. set eingebetteten Werten von to. set Anfangswerten von to Es werden fehlende Werte in der Reihe mit der angegebenen Zahl gesetzt. set Endwerte von to.-1, 0 oder 1 als x ist 0, gleich 0 oder 0.Kumulative Summe von Vielfachen von n - periode lags. sets fehlt Ein Wert if or. sets, um einen Wert zu fehlen if. sets, um einen Wert zu fehlen if. Moving Time Window Operators. Some Operatoren berechnen Statistiken für einen Satz von Werten innerhalb eines Moving-Time-Fensters werden diese als Moving Time-Fenster-Operatoren bezeichnet. Es gibt zentriert und rückwärts Versionen dieser Operatoren. Die zentrierten Moving Time Fenster Betreiber sind CMOVAVE, CMOVCSS, CMOVGMEAN, CMOVMAX, CMOVMED, CMOVMIN, CMOVPROD, CMOVRANGE, CMOVRANK, CMOVSTD, CMOVSUM, CMOVTVALUE, CMOVUSS und CMOVVAR Diese Operatoren berechnen Statistiken der Werte für Beobachtungen. Die Rückwärtsbewegungszeitfensteroperatoren sind MOVAVE, MOVCSS, MOVGMEAN, MOVMAX, MOVMED, MOVMIN, MOVPROD, MOVRANGE, MOVRANK, MOVSTD, MOVSUM, MOVTVALUE, MOVUSS und MOVVAR. Diese Operatoren berechnen die Statistik der Werte Ein Argument, das die Anzahl der Perioden angibt, die in das Zeitfenster aufgenommen werden sollen. Beispielsweise berechnet die folgende Anweisung einen fünfmaligen rückwärts gleitenden Durchschnitt von X. In diesem Beispiel wird die resultierende Transformation durchgeführt. Die folgende Anweisung berechnet einen fünfmaligen, zentrierten gleitenden Durchschnitt Von X. In diesem Beispiel ist die resultierende Transformation. Wenn das Fenster mit einem zentrierten Laufzeitfensteroperator keine ungerade Zahl ist, ist ein weiterer verzögerter Wert als der Leitwert im Zeitfenster enthalten. Zum Beispiel das Ergebnis der CMOVAVE 4 Bediener ist. Sie können eine Vorwärtsbewegungszeitfensteroperation berechnen, indem sie einen Rückwärtsbewegungszeitfensteroperator mit dem REVERSE-Operator kombinieren. Beispielsweise berechnet die folgende Anweisung einen fünfmaligen vorwärts gleitenden Durchschnitt von X. In diesem Beispiel ist die resultierende Transformation. Einige der bewegten Zeitfensteroperatoren ermöglichen es Ihnen, eine Liste von Gewichtswerten anzugeben, um gewichtete Statistiken zu berechnen. Dies sind CMOVAVE, CMOVCSS, CMOVGMEAN, CMOVPROD, CMOVSTD, CMOVTVALUE, CMOVUSS, CMOVVAR, MOVAVE, MOVCSS, MOVGMEAN, MOVPROD, MOVSTD, MOVTVALUE, MOVUSS und MOVVAR. Um einen gewichteten Laufzeitfensteroperator anzugeben, geben Sie die Gewichtswerte in Klammern nach dem Operatornamen ein. Die Fensterbreite entspricht der Anzahl der Gewichte, die Sie nicht angeben. Beispielsweise berechnet die folgende Anweisung eine gewichtete Fünf-Perioden-zentriert gleitenden Durchschnitt von X. In diesem Beispiel ist die resultierende Transformation. Die Gewichtswerte müssen größer als Null Wenn die Gewichte nicht auf 1 summieren, werden die angegebenen Gewichte durch ihre Summe geteilt, um die Gewichte zu erzeugen, die verwendet werden, um zu berechnen Die statistisch. Ein komplettes Zeitfenster steht zu Beginn der Serie nicht zur Verfügung Für die zentrierten Operatoren steht am Ende der Serie auch kein komplettes Fenster zur Verfügung. Die Berechnung der Laufzeitfensteroperatoren wird für diese Randbedingungen wie folgt angepasst. Bei rückwärts bewegten Fensteroperatoren wird die Breite des Zeitfensters zu Beginn der Serie verkürzt. Zum Beispiel sind die Ergebnisse des MOVSUM 3-Operators. Missing Values. Sie können die Länge der Ergebnisreihe mit dem TRIM, TRIMLEFT abschneiden Und TRIMRIGHT-Operatoren, um Werte zu fehlen am Anfang oder Ende der Serie festzulegen. Sie können diese Funktionen verwenden, um die Ergebnisse der bewegten Zeitfensteroperatoren zu schneiden, so dass die Ergebnisreihe nur Werte enthält, die aus einem Vollbreiten-Zeitfenster berechnet werden. Die folgenden Aussagen berechnen einen zentrierten fünfperiodischen gleitenden Durchschnitt von X und sie setzen auf fehlende Werte an den Enden der Reihe, die Mittelwerte von weniger als fünf Werten sind. Normalerweise ignorieren das Bewegungszeitfenster und die kumulativen Statistikoperatoren fehlende Werte und berechnen sie Ergebnisse für die nichtmissenden Werte Wenn der NOMISS-Operator vorangestellt wird, erzeugen diese Funktionen ein fehlendes Ergebnis, wenn ein Wert innerhalb des Zeitfensters fehlt. Der NOMISS-Operator führt keine Berechnungen durch, sondern dient dazu, den Betrieb des bewegten Zeitfensterbetreibers zu ändern Folgt es Der NOMISS-Operator hat keine Wirkung, es sei denn, es folgt ein bewegter Zeitfensteroperator. Beispielsweise berechnet die folgende Anweisung einen fünfwertigen gleitenden Durchschnitt der Variablen X, erzeugt aber einen fehlenden Wert, wenn einer der fünf Werte fehlt. Die folgende Anweisung berechnet die kumulative Summe der Variablen X, erzeugt aber für alle Perioden nach dem ersten fehlenden X-Wert einen fehlenden Wert. Ähnlich zum NOMISS-Operator führt der MISSONLY-Operator keine Berechnungen durch, es sei denn, es folgt die Option MEAN, aber es dient Um den Vorgang des bewegten Zeitfensterbetreibers zu ändern, der ihm folgt. Wenn der MISSONLY-Operator vorangestellt wird, ersetzen diese Laufzeitfensteroperatoren alle fehlenden Werte mit der bewegten Statistik und lassen unveränderte Werte unverändert zurück. Beispielsweise ersetzt die folgende Anweisung fehlende Werte von Die Variable X mit einem exponentiell gewichteten gleitenden Durchschnitt der vergangenen Werte von X und hinterlässt unveränderte Werte unverändert Die fehlenden Werte werden mit dem angegebenen exponentiell gewichteten gleitenden Durchschnitt interpoliert. Dies wird auch als einfache exponentielle Glättung bezeichnet. Die folgende Anweisung ersetzt alle fehlenden Werte der Variablen X mit dem Gesamtmittelwert von X. Sie können den SETMISS-Operator verwenden, um fehlende Werte durch eine angegebene Zahl zu ersetzen. Beispielsweise ersetzt die folgende Anweisung alle fehlenden Werte der Variablen X mit der Nummer 8 77.Klassische Zerlegungsoperatoren. Wenn ist saisonal Zeitreihen mit Beobachtungen pro Saison, klassische Zersetzungsmethoden brechen die Zeitreihen in vier Komponenten Trend, Zyklus, saisonale und unregelmäßige Komponenten Die Trend - und Fahrradkomponenten werden oft zu der Trendzykluskomponente zusammengefasst. Es gibt zwei Grundformen der klassischen Zersetzung Multiplikativ und additiv, die unten zu sehen sind. Beispiele der Verwendung. Die multiplikativen saisonalen Indizes sind 0 9, 1 2 0 8 und 1 1 für die vier Quartale Lassen Sie SEASADJ eine vierteljährliche Zeitreihenvariable sein, die saisonal in einer multiplikativen Weise angepasst wurde Um die Saisonalität für SEASADJ wiederherzustellen, verwenden Sie die folgende Transformation. Die additiven saisonalen Indizes sind 4 4, -1 1, -2 1 und -1 2 für die vier Quartale. Sei SEASADJ eine vierteljährliche Zeitreihenvariable, die saisonabhängig in additiv angepasst wurde Mode Um die Saisonalität auf SEASADJ zurückzusetzen, verwenden Sie die folgenden Transformationen. Set Operators. Für die Set-Operatoren, der erste Parameter, stellt der zu ersetzende Wert dar und der zweite Parameter, stellt den Ersatzwert dar Der Ersatz kann auf den Anfang lokalisiert werden, Mitte oder Ende der Serie. Examples of Usage. Stellen Sie an, dass ein Laden vor kurzem geöffnet und dass die Verkaufshistorie in einer Datenbank gespeichert ist, die keine fehlenden Werte erkennt. Auch wenn die Nachfrage vor dem Laden der Speicherung existiert hat, weist diese Datenbank die Wert von Null Modellierung der Verkaufsgeschichte kann problematisch sein, weil die Verkaufsgeschichte meist Null ist Um diesen Mangel zu kompensieren, sollten die führenden Nullwerte auf fehlen gesetzt werden, wobei die verbleibenden Nullwerte unverändert keine Anforderung darstellen. Ebenso wird angenommen, dass ein Laden vor kurzem geschlossen ist Die Nachfrage kann noch vorhanden sein und damit ein aufgezeichneter Wert von Null nicht genau die tatsächliche Nachfrage reflektieren. Scale Operator. Für den Skalenoperator, der erste Parameter, steht der Wert, der dem Minimalwert zugeordnet ist, und der zweite Parameter, stellt den Wert dar Assoziiert mit dem Maximalwert der ursprünglichen Serie Der Skalenoperator gibt die ursprünglichen Daten zwischen den Parametern und wie folgt aus. Beispiele für Usage. Stellen Sie ein, dass zwei neue Produktverkäufe in Variablen gespeichert sind und Sie möchten ihre Adoptionsraten bestimmen Um ihre Adoptionsgeschichten zu vergleichen, müssen die Variablen für den Vergleich skaliert werden. Stellen Sie den Operator ein. Für die bewegten Summations - und Produktfensteroperatoren sind die Fensterbreiten am Anfang und Ende der Serie kleiner als die in der Mitte der Serie Es gibt eingebettete fehlende Werte, die Fensterbreite ist kleiner als angegeben Wenn dem ADJUST-Operator vorangestellt wird, werden die bewegten Summations-MOVSUM-CMOVSUM - und bewegten Produktoperatoren MOVPROD CMOVPROD durch die Fensterbreite angepasst. Zum Beispiel nehmen wir an, dass die Variable 10 Werte und die Bewegung hat Summationsoperator der Breite 3 wird angewendet, um die Variable mit der Fensterbreiteneinstellung und der Variablen ohne Anpassung zu erzeugen. Die obigen Transformationen ergeben sich aus der folgenden Beziehung zwischen und, weil die ersten beiden Fensterbreiten kleiner als 3 sind Die Variable hat 10 Werte und der sich bewegende multiplikative Operator der Breite 3 wird angewendet, um die Variable mit Fensterbreiteneinstellung und die Variable ohne Anpassung zu erzeugen. Die obige Transformation ergibt sich folgendes, denn weil die ersten beiden Fensterbreiten kleiner als 3 sind. Die t-Wert-Operatoren. Moving T-Wert Operatoren CUTVALUE, MOVTVALUE, CMOVTVALUE berechnen die t-Wert der kumulativen Serie oder beweglichen Fenster Sie können als Kombinationen der gleitenden Durchschnitt CUAVE, MOVAVE, CMOVAVE und die bewegte Standardabweichung angesehen werden CUSTD, MOVSTD, CMOVSTD. Percent Operators. Die prozentualen Operatoren berechnen die prozentuale Summation und die prozentuale Differenz des aktuellen Wertes und der prozentuale Summationsoperator PCTSUM berechnet Wenn irgendwelche der Werte der vorhergehenden Gleichung fehlen oder die kumulative Summierung ist Null, das Ergebnis wird auf fehlen gesetzt Der prozentuale Differenzoperator PCTDIF berechnet Wenn einer der Werte der vorhergehenden Gleichung fehlt oder der Verzögerungswert Null ist, wird das Ergebnis auf fehlen gesetzt. Zum Beispiel wird angenommen, dass die Variable die Serie enthält. Die prozentuale Summierung Von Verzögerung 4 angewendet wird, um die Variable zu erzeugen Die prozentuale Differenz von Verzögerung 4 wird angewendet, um die Variable zu erzeugen. Ratio Operatoren. Der Verhältnisoperator berechnet das Verhältnis des aktuellen Wertes und des Wertes. Der Verhältnisoperator RATIO berechnet, falls einer der Werte vorliegt Der vorangehenden Gleichung fehlen oder der Verzögerungswert Null ist, wird das Ergebnis auf fehlen gesetzt. Zum Beispiel wird angenommen, dass die Variable die Serie enthält. Das Verhältnis des aktuellen Wertes und des Verzögerungswertes 4, der der Variablen zugeordnet ist Das Prozentverhältnis des Stroms Wert und Verzögerung 4 Wert ist der Variablen zugeordnet.
Comments
Post a Comment