Sisällys kuvakaappaus, jolla selvitän ongelmani: Im yrittää laskea jonkinlaista liikkuvaa keskiarvoa ja siirtää keskihajontaa. Asia on haluan laskea vaihtelukertoimet (stdevavg) todelliselle arvolle. Tavallisesti tämä tehdään laskemalla stdev ja avg viimeisten 5 vuoden aikana. Kuitenkin joskus tietokannassani on havaintoja, joista minulla ei ole viimeisten viiden vuoden tietoja (ehkä vain 3, 2 jne.). Siksi miksi haluan koodin, joka laskee avg: n ja stdevin, vaikka ei ole tietoa koko 5 vuotta. Myös, kuten huomaatte havainnoissa, joskus on tietoja yli viiden vuoden ajan, kun näin on, tarvitsen jonkinlaista liukuvaa keskiarvoa, jonka avulla voin laskea avg: n ja stdevin viimeisen viiden vuoden aikana. Joten jos yrityksellä on tietoja 7 vuotta, tarvitsen jonkinlaisen koodin, joka laskee avg: n ja stdevin, esimerkiksi 1997 (1991-1996), 1998 (1992-1997) ja 1999 (1993-1998). Koska en ole kovin perehtynyt sas-komentoihin, sen pitäisi näyttää (hyvin karkeasti) kuten: Tai jotain tällaista, minulla ei todellakaan ole aavistustakaan, yritän selvittää, mutta sen arvoinen lähettämistä, jos tapasin sen itse. Näyte koodi Täysi-koodi-välilehdellä kuvataan muuttujan liikkuvan keskiarvon laskeminen koko datajoukon, viimeisten N-havaintojen perusteella tietojoukossa tai viimeisten N-havaintojen perusteella BY-ryhmässä. Näitä otosasiakirjoja ja koodin esimerkkejä toimittaa SAS Institute Inc. sellaisena kuin se on ilman minkäänlaista takuuta, joko nimenomaisesti tai epäsuorasti, mukaan lukien, mutta ei rajoittuen, epäsuorat takuut kauppatavoitteesta ja sopivuudesta tiettyyn tarkoitukseen. Vastaanottajat tunnustavat ja hyväksyvät, että SAS Institute ei ole vastuussa mahdollisista vahingoista, jotka johtuvat näiden materiaalien käytöstä. Lisäksi SAS-instituutti ei tue mitään tässä esitettyjä materiaaleja. Näitä otosasiakirjoja ja koodin esimerkkejä toimittaa SAS Institute Inc. sellaisena kuin se on ilman minkäänlaista takuuta, joko nimenomaisesti tai epäsuorasti, mukaan lukien, mutta ei rajoittuen, epäsuorat takuut kauppatavoitteesta ja sopivuudesta tiettyyn tarkoitukseen. Vastaanottajat tunnustavat ja hyväksyvät, että SAS Institute ei ole vastuussa mahdollisista vahingoista, jotka johtuvat näiden materiaalien käytöstä. Lisäksi SAS-instituutti ei tue mitään tässä esitettyjä materiaaleja. Laske muuttujan liukuva keskiarvo koko datajoukon, viimeisten N-havaintojen aikana datasarjassa tai viimeisten N-havaintojen sisällä BY-grouppute liikkuvan keskiarvon SAS Tämä viesti oli ystävällisesti mukana DO Loop - mene siellä kommentoida ja lukea koko postitse. Yleinen kysymys SAS-keskustelufoorumeista on, kuinka laskea liukuva keskiarvo SAS: ssä. Tässä artikkelissa kuvataan, miten PROC EXPAND - ohjelmaa käytetään ja sisältää linkkejä artikkeleihin, jotka käyttävät DATA-askelta tai makroja laskemaan liikkuvaa keskiarvoa SAS: ssä. Edellisessä julkaisussa selvitin liikuttavan keskiarvon määrittämisen ja esitin esimerkin, joka esitetään tässä. Kaaviokuva on IBM-osakekohtaisen kuukausittaisen päätöskurssin hajotusleima 20 vuoden jaksolla. Kolme käyrää ovat liikkuvia keskiarvoja. 8220MA8221-käyrä on viiden pisteen (jälki) liikkuva keskiarvo. 8220WMA8221-käyrä on painotettu liukuva keskiarvo painoilla 1 - 5. (Kun lasketaan painotettu liukuva keskiarvo ajalla t, arvo yt: lla on paino 5, arvo y t-1: lla on paino 4, arvo y t-2: lla on paino 3 ja niin edelleen.) 8220EWMA8221-käyrä on eksponentiaalisesti painotettu liukuva keskiarvo, jossa tasoituskerroin alfa 0,3. Tässä artikkelissa kuvataan EXPAND-menetelmän käyttäminen SASETS-ohjelmistossa laskettaessa yksinkertaista liikkuvaa keskiarvoa, painotettua liikkuvaa keskiarvoa ja eksponentiaalisesti painotettua liikkuvaa keskiarvoa SAS: ssä. Yleiskatsaus PROC EXPAND ja sen monet ominaisuudet, suosittelen lukemaan lyhyt paperi 8220Stupid Human Tricks kanssa PROC EXPAND8221 David Cassell (2010). Koska kaikilla SAS-asiakkailla ei ole SASETS-ohjelmiston käyttöoikeutta, tämän artikkelin lopussa on linkkejä, jotka osoittavat, miten lasketaan yksinkertainen liikkuva keskiarvo SAS: ssä DATA-vaiheen avulla. Luo esimerkki aikasarjaan Ennen kuin voit laskea liukuvan keskiarvon SAS: ssä, tarvitset tietoja. Seuraava prosessi PROC SORTille luo esimerkillisen aikasarjan, jossa on 233 havaintoa. Ei ole puuttuvia arvoja. Tiedot lajitellaan ajan muuttujalla T. Muuttuja Y sisältää IBM: n osakekohtaisen kuukausittaisen päätöskurssin 20 vuoden aikana. Laske liikkuva keskiarvo SAS: ssa PROC EXPAND PROC EXPAND laskee monenlaisia liikkuvia keskiarvoja ja muita liikkuvia tilastoja, kuten liikkuvan keskihajonnan, korrelaation ja kumulatiivisten neliösummien summan. Menettelyssä ID-tunniste identifioi aikamuuttujan T. Tiedot on lajitettava ID-muuttujan mukaan. CONVERT-käsky määrittää syöttö - ja tulostusmuuttujien nimet. TRANSFORMOUT-vaihtoehto määrittää menetelmän ja parametrit, joita käytetään laskentatilastojen laskemiseen. Esimerkissä käytetään kolme CONVERT-lausetta: Ensimmäinen määrittelee, että MA on lähtömuuttuja, joka lasketaan (taaksepäin) liikkuva keskiarvo, joka käyttää viittä datavälinettä (k 5). Toinen CONVERT-lausuma määrittelee, että WMA on tulostemuuttuja, joka on painotettu liukuva keskiarvo. Painot standardoidaan automaattisesti menettelyllä, joten kaava on WMA (t) (5 yt 4 y t-1 3 y t-2 2 y t-3 1 y t-4) 15. Kolmas CONVERT-lausuma määrittelee, että EWMA on lähtömuuttuja, joka on eksponentiaalisesti painotettu liikkuva keskiarvo parametrilla 0.3. Huomaa METHODNONE-vaihtoehto PROC EXPAND - ilmoituksessa. Oletuksena EXPAND-proseduuri sopii kuutioihin spline-käyriksi muuttujien ei-häiritseviin arvoihin. METHODNONE-vaihtoehdoissa varmistetaan, että raakapisteitä käytetään laskemalla liikkuvia keskiarvoja eikä interpoloiduiksi arvoiksi. Liukuvien keskiarvojen kuvaaminen Liikkuvan keskiarvon tärkeä käyttötarkoitus on rajata käyrä raakatietojen hajontakaaviossa. Tämä mahdollistaa tietojen lyhyen aikavälin trendien visualisoinnin. Seuraava PROC-SGPOT-kutsu luo tämän artikkelin yläosassa olevan kaavion: Jotta tämä artikkeli olisi mahdollisimman yksinkertainen, en ole keskustellut siitä, miten käsitellä puuttuvia tietoja laskettaessa liikkuvia keskiarvoja. Katso PROC EXPANDin dokumentaatiota puuttuvista tiedoista. Erityisesti voit käyttää METHOD-vaihtoehtoa määrittääksesi puuttuvien arvojen interpoloimisen. Voit myös käyttää muunnosvaihtoehtoja, joilla voit hallita sitä, kuinka ensimmäisille datapisteille määritetään liikkuvien keskiarvojen määritys. Luo liikkuva keskiarvo SAS: ssä DATA-vaiheen avulla Jos sinulla ei ole SASETS-ohjelmistoa, seuraavat viitteet osoittavat, kuinka SAS DATA - vaihetta käytetään laskettaessa yksinkertaisia liikkuvaa keskiarvoa käyttämällä LAG-toimintoa. SAS-tietopankki antaa artikkelin 8220Compute muuttujan liikkuvan keskiarvon.8221 Premal Vora (2008) vertaa DATA-astetta PROC EXPAND - koodiin 8220Easy Rolling Statistics - tiedotteessa PROC EXPAND.8221 Ron Cody sisältää SAS-makron useissa hänen kirjat. Esimerkiksi Cody8217s suosittujen SAS-ohjelmointitoimeksiantojen kokoaminen ja niiden käsitteleminen tarjoaa makro nimeltä movingAve. Voit maksaa makron osana kirjan 8220Example Codeia ja Data8221 - ohjelmaa. DATA-vaihe, joka on suunniteltu käsittelemään yhtä havaintoa kerrallaan, ei ole paras aikakäsittelytyökalu, joka luonnollisesti vaatii useita havaintoja (viiveitä ja johtimia). Tulevaisuudessa blogikirjoituksessa esitän kuinka kirjoittaa SASIML-funktioita, jotka laskevat yksinkertaiset, painotetut ja eksponentiaalisesti painotetut liikkuvat keskiarvot. PROC IML: n matriisikieltä on helpompi työskennellä laskutoimituksissa, jotka edellyttävät useiden aikapisteiden käyttöä. ffTheDoLoopdyIl2AUoC8zA ffTheDoLoopdqj6IDK7rITs ffTheDoLoopicbsotKEf1zY: e5B0sfO55lA: gIN9vFwOqvQ ffTheDoLoopicbsotKEf1zY: e5B0sfO55lA: VsGLiPBpWU ffTheDoLoopicbsotKEf1zY: e5B0sfO55lA: F7zBnMyn0Lo ffTheDoLoopdl6gmwiTKsz0 Vuodesta Release 6,08 SAS System, PROC laajentua SASETS ohjelmistoa voidaan tehdä erilaisia datamuunnokset. Näihin muutoksiin kuuluvat: johtaa, viivästykset, painotetut ja painottamattomat liikkuvat keskiarvot, siirrettävät summat ja kumulatiiviset summat muutamia. Julkaisu 6.12 lisättiin monia uusia muunnoksia, mukaan lukien erilliset spesifikaatiot keskitetyille ja taaksepäin liikkuville keskiarvoille. Nämä uudet muutokset tekivät tarpeen muokata syntaksia joillekin muutoksille, jotka on tuettu ennen julkaisua 6.12. Esimerkkejä siitä, kuinka määritellä syntaksi keskitetyille ja taaksepäin liikkuville keskiarvoille käyttäen Release 6.11 ja aiemmin sekä Release 6.12 ja uudemmat ovat alla. PROC EXPAND voi laskea joko keskitetyn liukuvan keskiarvon tai taaksepäin liikkuvan keskiarvon. 5-jaksoista keskitetty liukuva keskiarvo lasketaan keskiar - vioimalla sarjan yhteensä 5 peräkkäistä arvoa (nykyinen aika-arvo kahden välittömästi edeltävän arvon lisäksi ja kaksi arvoa, jotka välittömästi seuraavat nykyistä arvoa). 5-jaksoinen taaksepäin liikkuva keskiarvo lasketaan keskiarvolla nykyisestä kauden arvosta neljän välittömästi edeltävän jakson arvoilla. Seuraavassa syntaksissa kuvataan TRANSFORM (MOVAVE n) - määrityksen käyttämistä laskemalla 5-jaksoinen keskitetty liukuva keskiarvo julkaisun 6.11 tai aikaisemmalla versiolla: Laskettaessa n-tahtia taaksepäin liikkuvaa keskiarvoa käyttämällä versiota 6.11 tai aikaisemmin, käytä TRANSFORM (MOVAVE n LAG k) erittely, jossa k (n-1) 2, jos n on pariton tai jossa k (n-2) 2, jos n on tasainen. Esimerkiksi seuraava syntaksi havainnollistaa, kuinka lasketaan 5-jaksoinen taaksepäin liikkuva keskiarvo käyttämällä versiota 6.11 tai aiemmin: Seuraavassa syntaksissa kuvataan, miten TRANSFORM (CMOVAVE n) - spesifikaatiota käytetään laskemalla 5-jaksoinen keskitetty liukuva keskiarvo käyttämällä Release 6.12 tai myöhemmin: Seuraava samanlainen syntaksi kuvaa TRANSFORM (MOVAVE n) - ominaisuuden käyttämistä laskemalla 5-jaksoinen taaksepäin liikkuva keskiarvo julkaisun 6.12 tai uudemman mukaan. Lisätietoja on kohdassa Transformation Operations (SASETS: n käyttöohjeet) EXPAND-luvussa. Jos sinulla ei ole SASETS-käyttöoikeutta, voit laskea liukuvan keskiarvon DATA-vaiheessa, kuten tässä esimerkkiohjelmassa on kuvattu. Käyttöjärjestelmä ja vapautustiedot
Comments
Post a Comment