Thursday 19 October 2017

Sas Proc Ekspandere Moving Average Eksemplet


Begynnelsen i SAS-utgivelsen 6 08, kan PROC EXPAND i SAS ETS-programvaren brukes til å lage en rekke datatransformasjoner. Disse transformasjonene inkluderer leder, lags, vektet og uvevet glidende gjennomsnitt, flytende summer og kumulative summer, for å nevne noen få Mange nye transformasjoner ble lagt til i Release 6 12, inkludert separate spesifikasjoner for sentrert og bakovergående gjennomsnitt. Disse nye transformasjonene gjorde det nødvendig å endre syntaksen for noen av transformasjonene som ble støttet før utgivelsen 6 12 Eksempler på hvordan du angir syntaksen for sentrert og tilbakegående glidende gjennomsnitt ved hjelp av utgivelse 6 11 og tidligere og utgivelse 6 12 og senere er gitt nedenfor. PROC EXPAND kan beregne enten et sentrert glidende gjennomsnitt eller et bakovergående glidende gjennomsnitt. En 5-års sentrert glidende gjennomsnitt beregnes ved å averdere totalt 5 sammenhengende verdier av serien den nåværende perioden verdi i tillegg til de to umiddelbart foregående verdiene og to verdier umiddelbart etter gjeldende verdi A 5-årig tilbaketrekende glidende gjennomsnitt beregnes ved å gjennomsnittlig gjeldende periodeverdi med verdiene fra de 4 umiddelbart foregående periodene. Følgende syntaks illustrerer hvordan man bruker TRANSFORM MOVAVE n-spesifikasjonen for å beregne et 5-års sentrert glidende gjennomsnitt ved hjelp av Slett 6 11 eller tidligere. For å beregne en n-periode bakovergående glidende gjennomsnitt ved bruk av Slett 6 11 eller tidligere, bruk gjeldende TRANSFORM MOVAVE n LAG k-spesifikasjon, hvor k n-1 2 hvis n er merkelig eller hvor k n-2 2 hvis n er jevn For Eksempel, illustrerer følgende syntaks hvordan du beregner et 5-årig bakovergående glidende gjennomsnitt ved å bruke Slett 6 11 eller tidligere. Følgende syntaks illustrerer hvordan du bruker TRANSFORM CMOVAVE n-spesifikasjonen til å beregne et 5-års sentrert glidende gjennomsnitt ved hjelp av Slett 6 12 eller senere . Følgende lignende syntaks illustrerer hvordan du bruker TRANSFORM MOVAVE n-spesifikasjonen for å beregne et 5-årig bakovergående glidende gjennomsnitt ved å bruke Slett 6 12 eller nyere. For mer informasjon, se Transformasjonsoperasjoner i EXPAND ch Hvis du ikke har tilgang til SAS ETS, kan du beregne et bevegelige gjennomsnitt i DATA-trinnet som illustrert i dette prøveprogrammet. Oppnåelse av system og utgivelsesinformasjon. Jeg er SAS nybegynner og jeg er nysgjerrig hvis følgende oppgave kan gjøres mye enklere som den er i mitt hode. Jeg har følgende forenklede metadata i en tabell som heter userdatemoney. User - Date - Money. with forskjellige brukere og datoer for hver kalenderdag for de siste 4 år Dataene er bestilt av User ASC og Date ASC, eksempeldata ser ut som dette. Jeg vil nå beregne et fem dagers glidende gjennomsnitt for pengene jeg startet med den ganske populære apprachen med lagfunksjonen som dette. Problem med denne metoden oppstår hvis der hvis datatrinnet går inn i en ny bruker, vil Aron få noen forsinkede verdier fra Anna, som selvfølgelig ikke skal skje. Nå er jeg ganske sikker på at du kan håndtere brukerbryteren ved å legge til noen ekstra felt som laggeduser og ved å tilbakestille N, Sum og Mean variable hvis du merker en slik bryter, men. Kan dette gjøres på en enklere måte Kanskje bruker BY-klausulen på noen måte Takk for dine ideer og hjelp. Jeg tror den enkleste måten er å bruke PROC EXPAND. Og som nevnt i John s kommentar, det er viktig å huske om manglende verdier og om å begynne og avslutte observasjoner også. Jeg har lagt til SETMISS-alternativet til koden, da du gjorde det klart at du vil nullstille verdier, ikke ignorere dem som standard MOVAVE-oppførsel, og hvis du vil ekskludere første 4 observasjoner for hver bruker siden de ikke har nok forhistorie til å beregne glidende gjennomsnitt 5, kan du bruke alternativet TRIMLEFT 4 i TRANSFORMOUT. answered Dec 3 13 på 15 29. Operasjonene som kan brukes i TRANSFORMIN - og TRANSFORMOUT-alternativene er vist i tabell 14 1 Operasjoner brukes til hver verdi av serien Hver verdi av serien erstattes av resultatet av operasjonen. I tabell 14 1 eller x representerer verdien av serien på en bestemt tidsperiode t bef malm transformasjonen er brukt, representerer verdien av resultatserien, og N representerer det totale antall observasjoner. Notasjonen n indikerer at argumentet n er valgfritt, standard er 1 Noteringsvinduet brukes som argument for de flyttestatistikkoperatørene , og det indikerer at du kan angi enten et heltall perioder n eller en liste med n vekt i parentes Notasjons sekvensen brukes som argumentet for sekvensoperatørene, og det indikerer at du må angi en sekvens av numre Notasjonen s angir lengden på sesongmessigheten, og det er en nødvendig argument. Table 14 1 Transformation Operations. adds det angitte nummeret. trekker den angitte number. multiplies av det angitte nummer. divides med det angitte nummeret. indikerer at følgende flyttbare vinduesoppsummering eller produkt operatør bør justeres for vinduets bredde. klassisk dekomponering uregelmessig komponent. klassisk dekomponering sesongbestandig komponent. klassisk dekomponering seaso nallyjustert serie. klassisk dekomponering trend-syklus komponent. klassisk dekomponering additiv uregelmessig komponent. klassisk dekomponering additiv sesongbestandig komponent. klassisk dekomponering additiv sesongjustert series. smallest heltall større enn eller lik x. centered glidende average. centered flyttende korrigert sum av kvadrater. centrert flytte geometrisk mean. centered moving maximum. centered flytte median. centered flyttende minimum. centered flyttende range. centered flytting range. centered flyttende standard avvik. sentrert flytende sum. centered flytting t - value. centered flytting ukorrigert sum av kvadrater. Centeret flyttet varians. Cumulativ korrigert sum av kvadrater. Kumulativ geometrisk Gjennomsnittlig. Kumulativ standardavvik. Kumulativ t - Value. Kumulativ ukorrigert sum av kvadrater. span n-differanse. Eksponentielt vektet glidende gjennomsnitt av med. avvikende vektnummer der. Denne operasjonen er også kalt enkel eksponensiell utjevning. fraksjonal forskjell med forskjell rekkefølge d where. largest heltall mindre enn eller lik x. fractional summasjon med summasjonsordre d hvor. Hodrick-Prescott Filter trendkomponent hvor lambda er den nonnegative filter parameter. Hodrick-Prescott Filter syklus komponent hvor lambda er den nonnegative filter parameter. inverse logistisk funksjon. verdien av serien n perioder tidligere. verdien av serien n perioder later. maximum x og number. minimum x og number. missing verdi hvis, ellers x. missing verdi hvis, ellers x. missing verdi hvis ellers x. missing verdi hvis, ellers x. missing verdi hvis, ellers x. missing verdi hvis, ellers x. backward flytte gjennomsnittet av n naboverdier. bakovervektet glidende gjennomsnitt av nabobilder. bakover bevegelse korrigert sum av kvadrater. bakover bevegelse geometrisk gjennomsnitt bakovergående bevegelse maksimal. bakgrunn bevegelse median. bakgrunn bevegelse minimum. bakgrunn bevegelse produkt. bakgrunn bevegelsesområde. bakgrunn bevegelse rang. backward bevegelse standard avvik. backward bevegelse sum. backward moving t - value. backward beveger uncor rettet sum av kvadrater. tilbakevendende flytende varians. indikerer at følgende flyttetid window. statistic operator skal erstatte bare manglende verdier med the. moving statistikk og bør forlate nonmissing verdier uendret. Hvis alternativet MEAN er spesifisert, blir manglende verdier. replaced av det samlede gjennomsnittet av serien. endrer sign. indicates at følgende flyttetid window. statistic operator ikke skal tillate manglende values. percent forskjell av nåværende verdi og lag n. percent summering av nåværende verdi og kumulative sum-lag perioder. forholdet mellom nåværende verdi og lag. rekker serie. skala-serien mellom and. add sekvensverdier til series. divide-serien etter sekvensverdier. trekke sekvensverdier til series. multiply-serien etter sekvensverdier. sett alle verdier av to. set-innebygde verdier av to. set begynnelsesverdier for to. replaces manglende verdier i serien med antall specified. set sluttverdier for til-1, 0 eller 1 idet x er 0, tilsvarer 0 eller 0 henholdsvis. kumulativ sum av multi ples av n - period lags. sets å mangle en verdi hvis or. sets å mangle en verdi if. sets å mangle en verdi if. Volgende Time Window Operators. Some operatører beregne statistikk for et sett med verdier i et flyttet tid vindu er disse kalt flytte tid vindu operatører Det er sentrert og bakover versjoner av disse operatørene. Sentrert flytte tid vindu operatører er CMOVAVE, CMOVCSS, CMOVGMEAN, CMOVMAX, CMOVMED, CMOVMIN, CMOVPROD, CMOVRANGE, CMOVRANK, CMOVSTD, CMOVSUM, CMOVTVALUE, CMOVUSS og CMOVVAR Disse operatørene beregner statistikk over observasjonsverdiene. De operatørene som beveger seg bakover, er MOVAVE, MOVCSS, MOVGMEAN, MOVMAX, MOVMED, MOVMIN, MOVPROD, MOVRANGE, MOVRANK, MOVS, MOVSUM, MOVTVALUE, MOVUSS og MOVVAR. Disse operatørene beregner statistikk over verdiene. Alle operatører av flyttetidvinduer aksepterer et argument som angir antall perioder som skal inkluderes i tidsvinduet. For eksempel beregner følgende setning et femårig bakovergående gjennomsnitt av X . I dette eksemplet er den resulterende transformasjonen. Følgende erklæring beregner et fem-sentrert sentrert glidende gjennomsnitt på X. I dette eksemplet er den resulterende transformasjonen. If vinduet med en sentrert flytte tidvindueoperatør ikke er et oddetall, mer forsinket verdi enn blyverdien er inkludert i tidsvinduet. For eksempel er resultatet av CMOVAVE 4-operatøren. Du kan beregne en fremoverflyttetidsvinduoperasjon ved å kombinere en operatør med bakoverflyttende tidsvindu med REVERSE-operatøren. For eksempel, følgende setningen beregner en fem-periode fremover glidende gjennomsnitt av X. I dette eksemplet er den resulterende transformasjonen. Some av operatørene i flyttbar tid gjør det mulig å spesifisere en liste over vektverdier for å beregne vektet statistikk. Disse er CMOVAVE, CMOVCSS, CMOVGMEAN, CMOVPROD , CMOVSTD, CMOVVALUE, CMOVUSS, CMOVVAR, MOVAVE, MOVCSS, MOVGMEAN, MOVPROD, MOVSTD, MOVTVALUE, MOVUSS, og MOVVAR. For å angi en veide operatør for flyttetid, skriv inn vektverdiene i parentes etter operatørnavnet Vinduets bredde er lik antall vekter du spesifiserer, ikke spesifiserer. For eksempel beregner følgende setning en vektet fem-års sentrert glidende gjennomsnitt på X. I dette eksemplet er den resulterende transformasjonen. Vektverdiene må være større enn null Hvis vektene ikke summerer til 1, blir de angitte delene delt med summen deres for å produsere vektene som brukes til å beregne statistikken. Et komplett tidsvindu er ikke tilgjengelig i begynnelsen av serien. sentrerte operatører Et komplett vindu er også ikke tilgjengelig på slutten av serien. Beregningen av operatørene for flyttetidsvindu er justert for disse grensevilkårene som følger. For operatører i bakover bevegelse blir bredden på tidsvinduet forkortet ved begynnelsen av serien For eksempel er resultatene av MOVSUM 3-operatøren feil. Valider. Du kan avkorte lengden på resultatserien ved å bruke TRIM, TRIMLEFT og TRIMRIGHT operatørene til s et verdier som mangler i begynnelsen eller slutten av serien. Du kan bruke disse funksjonene til å trimme resultatene av flyttetidsvinduets operatører, slik at resultatserien inneholder bare verdier beregnet fra et fullt brede tidsvindu. For eksempel beregner følgende setninger en sentrert fem-års glidende gjennomsnitt av X og de setter til manglende verdier i enden av serien som er gjennomsnitt på færre enn fem verdier. Normalt ignorerer flyttetidvinduet og de kumulative statistiske operatørene manglende verdier og beregner resultatene deres for de ikke-godkjente verdiene Når NOMISS-operatøren går foran, gir disse funksjonene et manglende resultat hvis noen verdi i tidsvinduet mangler. NOMISS-operatøren utfører ingen beregninger, men tjener til å endre operasjonen til den flyttbare tidvinduet som følger den. NOMISS-operatøren har ingen effekt med mindre det følges av en operatør for flyttetidsvinduer. For eksempel beregner følgende setning et fem-års glidende gjennomsnitt av varianten kan X men produserer en manglende verdi når noen av de fem verdiene mangler. Følgende setning beregner den kumulative summen av variabelen X, men produserer en manglende verdi for alle perioder etter den første manglende X-verdien. I likhet med NOMISS-operatøren, vil MISSONLY operatør utfører ikke beregninger med mindre etterfulgt av alternativet MEAN, men det tjener til å endre operasjonen til den operatør som flytter tiden som følger den. Etter at MISSONLY-operatøren har gått, erstatter disse flyttetidsvinduets operatører eventuelle manglende verdier med den bevegelige statistikken og forlate ikke-avgitte verdier uendret. For eksempel erstatter følgende setning noen manglende verdier av variabelen X med et eksponentielt vektet glidende gjennomsnitt av de siste verdiene til X og forlater ikke-avgitte verdier uendret. De manglende verdiene er interpolert ved å bruke det spesifiserte eksponentielt vektede glidende gjennomsnittet. Dette er også kalt enkel eksponensiell utjevning. Følgende setning erstatter eventuelle manglende verdier av varen iable X med det totale gjennomsnittet av X. You kan bruke SETMISS-operatøren til å erstatte manglende verdier med et spesifisert tall. For eksempel erstatter følgende setninger eventuelle manglende verdier av variabelen X med nummer 8 77.Classical Decomposition Operators. If er en sesongbaserte tidsserier med observasjoner per sesong, klassiske dekomponeringsmetoder bryter ned tidsseriene i fire komponenter Trend, syklus, sesongmessige og uregelmessige komponenter Trend og sykluskomponenter blir ofte kombinert for å danne trend-syklusen komponenten. Det er to grunnleggende former for klassisk dekomponeringsmultiplikativ og additiv, som er vist nedenfor. Eksempler på bruk. De multiplikative sesongindeksene er 0 9, 1 2 0 8 og 1 1 for de fire kvartaler. La SEASADJ være en kvartalsvis variabel for tidsserier som har blitt sesongjustert i en multiplikativ mote For å gjenopprette sesongmessigheten til SEASADJ, bruk følgende transformasjon. Tilleggs sesongindeksene er 4 4, -1 1, -2 1 og -1 2 for de fire kvartaler La SEASADJ er en kvartalsvis variabel som er sesongjustert i additiv mote For å gjenopprette sesongmessigheten til SEASADJ, bruk følgende transformasjon. Settoperatører. For de angitte operatørene representerer den første parameteren, verdien som skal erstattes, og den andre parameteren, , representerer erstatningsverdien Utskiftningen kan lokaliseres til begynnelsen, midten eller slutten av serien. Eksempler på bruk. Anta at en butikk åpnet nylig, og at salgshistorikken er lagret i en database som ikke gjenkjenner manglende verdier Selv om etterspørselen kan ha eksistert før butikkene åpnet, tilordner denne databasen verdien av null. Modellering av salgshistorikken kan være problematisk fordi salgshistorikken er for det meste null For å kompensere for denne mangelen, må de ledende nullverdiene settes til mangler med de gjenværende null verdier uendret representerer ingen etterspørsel. Likevel, antar at butikken er lukket nylig. Etterspørselen kan fortsatt være til stede og dermed en registrert verdi av ze ro reflekterer ikke nøyaktig den faktiske etterspørselen. Skaloperatør. For skalaoperatøren representerer den første parameteren, verdien som er knyttet til minimumsverdien og den andre parameteren, representerer verdien som er knyttet til den maksimale verdien av den opprinnelige serien. Skaloperatøren resales de opprinnelige dataene for å ligge mellom parametrene og som følger. Eksempler på bruk. Anta at to nye produktsalgshistorier lagres i variabler og og du ønsker å bestemme deres adopsjonshastigheter. For å sammenligne deres adopsjonshistorier må variablene skaleres for sammenligning. Adjust Operator. For flytte summering og produkt vindu operatører, er vinduets bredder i begynnelsen og slutten av serien mindre enn de i midten av serien. På samme måte, hvis det er innebygde manglende verdier, er vindubredden mindre enn spesifisert Når man går foran med ADJUST-operatøren, blir den bevegelige summeringen MOVSUM CMOVSUM og flyttende produktoperatører MOVPROD CMOVPROD justert ved vinduet For eksempel, anta at variabelen har 10 verdier, og den bevegelige summasjonsoperatøren av bredde 3 blir brukt til å opprette variabelen med vindusbreddejustering og variabelen uten justering. De ovennevnte transformasjonene resulterer i følgende forhold mellom og, for fordi de to første vindubredder er mindre enn 3. For eksempel, anta at variabelen har 10 verdier, og den bevegelige multipliserende operatør med bredde 3 påføres for å opprette variabelen med vindusbreddejustering og variabelen uten justering. Ovennevnte transformasjon resulterer i Følgende, fordi fordi de to første vindubreddene er mindre enn 3.Virksomhetsverdioperatører. De bevegelige t-verdioperatørene CUTVALUE, MOVTVALUE, CMOVTVALUE beregner t-verdien av den kumulative serien eller flyttevinduet. De kan betraktes som kombinasjoner av den bevegelige gjennomsnittlige CUAVE, MOVAVE, CMOVAVE og den bevegelige standardavviket CUSTD, MOVSTD, CMOVSTD, henholdsvis. Percent Operators. The prosentoperatører com pute prosent summen og prosentandelen forskjellen av nåværende verdi og prosentandelen summation operatør PCTSUM beregner Hvis noen av verdiene i foregående ligning mangler eller den kumulative summeringen er null, er resultatet satt til å mangle prosentforskjellen operatør PCTDIF beregner Hvis noen av verdiene i foregående ligning mangler eller lagverdien er null, er resultatet satt til manglende. For eksempel, antar variabel inneholder serien. Prosent summen av lag 4 blir brukt til å opprette variabelen. Prosentandelen av lag 4 brukes til å opprette variabelen. Ratoperatører. Ratiooperatøren beregner forholdet mellom gjeldende verdi og verdien. Ratiooperatøren RATIO beregner Hvis noen av verdiene til foregående ligning mangler eller lagringsverdien er null, vil Resultatet er satt til å mangle. For eksempel, antar variabel inneholder serien. Forholdet mellom nåverdien og lag 4-verdien tildelt til variabelen. Prosentforholdet for kurren nt verdi og lag 4 verdi av er tilordnet variabelen.

No comments:

Post a Comment