Friday, October 14, 2016

Bewegende gemiddelde veranderlike stata

Dit datastruktuur is nogal ongeskik vir doel. Die aanvaarding van 'n identifiseerder ID wat jy nodig het om te hervorm. bv Dan is maklik 'n bewegende gemiddelde. Gebruik tssmooth of net op te wek. bv Meer oor hoekom jou datastruktuur is nogal ongeskik: Nie net sou berekening van 'n bewegende gemiddelde het 'n lus (nie noodwendig wat egen), maar jy sal skep 'n hele paar nuwe ekstra veranderlikes. Die gebruik van dié in enige daaropvolgende ontleding sal iewers tussen ongemaklike en onmoontlik wees. EDIT Siek gee 'n voorbeeld lus, terwyl dit nie die beweging van my standpunt dat dit swak tegniek. Ek dont sien 'n rede agter jou naamkonvensie waardeur P1947 is 'n gemiddelde vir 1943-1945 Ek neem aan dis net 'n tikfout. Kom ons veronderstel dat ons data vir 1913-2012. Vir middel van 3 jaar, verloor ons 'n jaar aan elke kant. Dit kan meer saaklik geskryf, ten koste van 'n vlaag van makros binne makros. Die gebruik van ongelyke gewigte is maklik, soos hierbo. Die enigste rede om egen gebruik is dat dit nie die geval tou opgooi as daar missings, wat die bogenoemde sal doen. As 'n saak van volledigheid, daarop te let dat dit maklik is om missings hanteer sonder om Egen. en die deler As alle waardes ontbreek, dit verminder tot 0/0, of ontbreek. Andersins, indien enige waarde ontbreek, ons voeg 0 tot die teller en 0 om die deler, wat dieselfde is as ignoreer dit. Natuurlik die kode is redelik soos hierbo vir gemiddeldes van 3 jaar, maar óf vir so 'n geval of vir 'n gemiddelde oor meer jare, sal ons die lyne hierbo te vervang deur 'n lus, en dit is wat egen does. This datastruktuur is nogal ongeskik vir doel. Die aanvaarding van 'n identifiseerder ID wat jy nodig het om te hervorm. bv Dan is maklik 'n bewegende gemiddelde. Gebruik tssmooth of net op te wek. bv Meer oor hoekom jou datastruktuur is nogal ongeskik: Nie net sou berekening van 'n bewegende gemiddelde het 'n lus (nie noodwendig wat egen), maar jy sal skep 'n hele paar nuwe ekstra veranderlikes. Die gebruik van dié in enige daaropvolgende ontleding sal iewers tussen ongemaklike en onmoontlik wees. EDIT Siek gee 'n voorbeeld lus, terwyl dit nie die beweging van my standpunt dat dit swak tegniek. Ek dont sien 'n rede agter jou naamkonvensie waardeur P1947 is 'n gemiddelde vir 1943-1945 Ek neem aan dis net 'n tikfout. Kom ons veronderstel dat ons data vir 1913-2012. Vir middel van 3 jaar, verloor ons 'n jaar aan elke kant. Dit kan meer saaklik geskryf, ten koste van 'n vlaag van makros binne makros. Die gebruik van ongelyke gewigte is maklik, soos hierbo. Die enigste rede om egen gebruik is dat dit nie die geval tou opgooi as daar missings, wat die bogenoemde sal doen. As 'n saak van volledigheid, daarop te let dat dit maklik is om missings hanteer sonder om Egen. en die deler As alle waardes ontbreek, dit verminder tot 0/0, of ontbreek. Andersins, indien enige waarde ontbreek, ons voeg 0 tot die teller en 0 om die deler, wat dieselfde is as ignoreer dit. Natuurlik die kode is redelik soos hierbo vir gemiddeldes van 3 jaar, maar óf vir so 'n geval of vir 'n gemiddelde oor meer jare, sal ons die lyne hierbo te vervang deur 'n lus, en dit is wat egen does. Stata: Data-analise en statistiese sagteware Nicholas J . Cox, Durham Universiteit, die Verenigde Koninkryk Christopher Baum, Boston College egen, MA () en sy beperkinge Statarsquos mees voor die hand liggend bevel vir die berekening van bewegende gemiddeldes is die ma () funksie van egen. Gegewe 'n uitdrukking, dit skep 'n - periode bewegende gemiddelde van daardie uitdrukking. By verstek, is geneem as 3. moet vreemd wees. Maar, soos die handleiding inskrywing dui, egen, MA () mag nie gekombineer word met die varlist:. en, net vir hierdie rede is dit nie van toepassing op paneel data. In elk geval, dit staan ​​buite die stel instruksies wat spesifiek vir tydreekse geskryf sien tydreekse vir meer inligting. Alternatiewe benaderings tot bereken bewegende gemiddeldes vir paneel data, is daar ten minste twee keuses. Beide is afhanklik van die dataset nadat vooraf tsset. Dit is baie moeite werd te doen: nie alleen kan bespaar jy jouself herhaaldelik spesifiseer paneel veranderlike en tyd veranderlike, maar Stata optree slim enige gapings in die data gegee. 1. Skryf jou eie definisie met behulp genereer Gebruik time-reeks operateurs soos L. en F.. gee die definisie van die bewegende gemiddelde as die argument om 'n te genereer verklaring. As jy dit doen, jy, natuurlik, nie beperk tot die gelyke gewigte (ongeweegde) gesentreer bewegende gemiddeldes bereken deur egen, MA (). Byvoorbeeld, ewe-geweeg drie-tydperk bewegende gemiddeldes sal deur gegee word en 'n paar gewigte kan maklik gespesifiseerde: Jy kan natuurlik, spesifiseer 'n uitdrukking soos log (myvar) in plaas van 'n veranderlike naam soos myvar. Een groot voordeel van hierdie benadering is dat Stata doen outomaties die regte ding vir paneel data: voorste en agter waardes uitgewerk binne panele, net soos logika dikteer hulle behoort te wees. Die mees noemenswaardige nadeel is dat die command line eerder lank kan kry as die bewegende gemiddelde behels verskeie terme. Nog 'n voorbeeld is 'n eensydige bewegende gemiddelde wat slegs gebaseer is op vorige waardes. Dit kan nuttig wees vir die opwekking van 'n aangepaste verwagting van wat 'n veranderlike sal suiwer gebaseer op inligting tot op hede: wat kan iemand voorspelling vir die huidige tydperk gebaseer op die afgelope vier waardes, met behulp van 'n vaste gewig skema (A 4-tydperk lag kan wees veral algemeen gebruik met kwartaallikse tijdreeksen.) 2. gebruik egen, filter () van SSC gebruik die gebruiker geskryf egen funksie filter () van die egenmore pakket op SSC. In Stata 7 (opgedateer na 14 November 2001), kan jy die pakket installeer deur waarna help egenmore punte om besonderhede oor filter (). Die twee voorbeelde hierbo sou word gelewer (In hierdie vergelyking genereer die benadering is dalk meer deursigtig, maar ons sal 'n voorbeeld van die teenoorgestelde in 'n oomblik sien.) Die lags is 'n numlist. lei dat negatiewe lags: in hierdie geval -1/1 brei om -1 0 1 of lei 1, lag 0, lag 1. Die Coëf ficients, 'n ander numlist, vermeerder die ooreenstemmende sloerende of leidende items: in hierdie geval die items is F1.myvar. myvar en L1.myvar. Die effek van die opsie normaliseer is aan elke koëffisiënt skaal deur die som van die koëffisiënte sodat Coëf (1 1 1) normaliseer is gelykstaande aan koëffisiënte van 1/3 1/3 1/3 en Coëf (1 2 1) normaliseer is gelykstaande om koëffisiënte van 1/4 1/2 1/4. Jy moet nie net die lags, maar ook die koëffisiënte spesifiseer. Omdat egen, MA () gee die ewe geweegde geval, die belangrikste rasionaal vir egen, filter () is om die ongelyk geweegde geval, waarvoor jy moet koëffisiënte spesifiseer ondersteun. Dit kan ook gesê word dat die verpligting om gebruikers te koëffisiënte spesifiseer 'n bietjie ekstra druk op hulle om te dink oor wat koëffisiënte wat hulle wil. Die belangrikste rede vir gelyke gewigte is, ons dink, eenvoud, maar gelyke gewigte het gemeen frekwensiedomein eienskappe, om net 'n oorweging te noem. Die derde voorbeeld hierbo kan óf waarvan net omtrent so ingewikkeld as die genereer benadering. Daar is gevalle waar egen, filter () gee 'n eenvoudiger formulering as genereer. As jy 'n nege-termyn binomiaal filter, wat klimatoloë nuttig vind wil, kyk dan miskien minder aaklig as, en makliker om reg as kry, net soos met die genereer benadering, egen, filter () werk behoorlik met paneel data. Trouens, soos hierbo genoem, dit hang af van die dataset nadat vooraf tsset. 'N Grafiese punt Na die berekening van jou bewegende gemiddeldes, sal jy waarskynlik wil hê om te kyk na 'n grafiek. Die gebruiker geskrewe tsgraph is slim oor tsset datastelle. Installeer dit in 'n up-to-date Stata 7 deur SSC Inst tsgraph. Wat van subsetting met as een van die bogenoemde voorbeelde maak gebruik van as beperkings. Om die waarheid te egen, sal ma () nie toelaat dat indien gespesifiseer word. Soms mense wil gebruik as die berekening bewegende gemiddeldes, maar die gebruik daarvan is 'n bietjie meer ingewikkeld as wat dit is gewoonlik. Wat sou jy verwag van 'n bewegende gemiddelde bereken met as. Kom ons identifiseer twee moontlikhede: Swak interpretasie: Ek dont wil enige resultate vir die uitgesluit Waarnemings sien. Sterk interpretasie: Ek dont selfs wil hê jy moet die waardes vir die uitgesluit waarnemings. Hier is 'n konkrete voorbeeld. Veronderstel as gevolg van 'n paar as voorwaarde, waarnemings 1-42 ingesluit maar nie Waarnemings 43 op. Maar die bewegende gemiddelde vir 42 sal afhang, onder andere, op die waarde vir waarneming 43 as die gemiddelde strek heen en weer en is van lengte ten minste 3, en dit sal op soortgelyke wyse afhanklik van 'n paar van die waarnemings 44 en verder in sekere omstandighede. Ons raaiskoot is dat die meeste mense sal gaan vir die swak interpretasie, maar of dit korrek is, beteken egen, filter () nie ondersteun as óf. Jy kan altyd ignoreer wat jy donrsquot wil of selfs ongewenste waardes stel om daarna ontbreek deur die gebruik van te vervang. 'N Nota oor vermiste resultate aan die einde van 'n reeks Omdat bewegende gemiddeldes is funksies van sloerings en lei, egen, MA () produseer ontbreek waar die lags en lei nie bestaan ​​nie, aan die begin en einde van die reeks. 'N opsie nomiss dwing die berekening van korter, uncentered bewegende gemiddeldes vir die sterte. In teenstelling hiermee het nie genereer word nie egen, filter () doen, of laat, niks spesiaal ontbreek resultate te vermy. Indien enige van die waardes wat nodig is vir die berekening ontbreek, dan is dit gevolg ontbreek. Dit is aan gebruikers om te besluit of en watter korrektiewe chirurgie nodig is vir sulke waarnemings, vermoedelik na te kyk na die datastel en die oorweging van enige onderliggende wetenskap wat tot bear. In Stata gebring kan word, hoe doen ek 'n nuwe veranderlike gebaseer op bestaande data Hier volg voorbeelde van hoe om nuwe veranderlikes te skep in Stata met behulp van die gen (kort vir genereer) en egen opdragte: om 'n nuwe veranderlike te skep (bv newvar) en stel die waarde daarvan om 0. gebruik: om 'n nuwe veranderlike te skep (bv totaal) van die transformasie van bestaande veranderlikes (bv die som van v1 v2 v3 en v4...), gebruik: Alternatiewelik, gebruik egen met die ingeboude rowtotal opsie: die egen opdrag lekkernye ontbrekende waardes as 0. Om 'n veranderlike te skep (bv . avg) wat die gemiddelde van vier veranderlikes Stores (bv v1 v2 v3 en v4), gebruik:.. gebruik die / (streep) te afdeling en 'n (asterisk) vir vermenigvuldiging aan te dui. Alternatiewelik, gebruik egen met die ingeboude rowmean opsie: Stata ook kan jy voordeel van ingeboude funksies te neem vir veranderlike transformasies. Byvoorbeeld, om die natuurlike log van v1 neem en die skep van 'n nuwe veranderlike (bv v1log), gebruik: Vir meer hulp, sien die hulp lêers binne Stata (vir elk van die volgende onderwerpe, gaan die ooreenstemmende hulp bevel): Aankondiging Dit is my eerste post en ek sal probeer om so duidelik as moontlik te wees. Die skakel vir die belangrikste databasis is aan die einde van die post. Konteks EK gebruik Stata / SE 12.0 onder Windows 10. Ek het net 'n paar weke gelede begin met Stata en ek probeer om te leer op my eie vir 'n opdrag as gevolg in 'n paar dae nou (want elke tabel of figuur het my dae en dae): replicerende die papier quotDoes verpligte skoolbywoning beïnvloed Schoolig en Earningsquot: web. stanford. edu/ Pista / angrist. pdf wat bestaan ​​uit te wys dat mense gebore in die laaste kwart van die jaar het meer onderwys gemiddeld as dié gebore in die eerste kwartale weens verpligte wette skoolopleiding. Die eerste figure te teken 'n grafiek van die gemiddelde aantal jare van onderwys (veranderlike EDUC) vir alle mense gebore 'n sekere jaar (veranderlike boodskap agter vir geboortejaar) tydens 'n sekere kwartaal (QOB). Daar is 'n algemene verhoging tendens en om die data detrend, hulle gebruik 'n bewegende gemiddelde (figuur IV), en dit is waar ek is geblokkeer vir die laaste 5 dae. Probleem in die databasis, is daar 27 veranderlikes waaronder V4 herdoop EDUC, v27 herdoop boodskap agter (jaar van geboorte), en v18 herdoop QOB (kwartaal van geboorte). Wat is nodig vir die bewegende gemiddelde is, vir elke stel mense gebore in die jaar c en kwartaal j, die berekening van die gemiddelde aantal jare van onderwys nie vir vanjaar en kwartaal, maar vir die kwartaal net voor, 2/4 voor, 'n kwart later en 2/4 later (verduidelik p. 985 van die papier). Byvoorbeeld, as ek kyk na die mans gebore tussen 1930 en 1939 as in hierdie syfer (figuur IV van die artikel:. Onedrive. live/redirresi ntphoto2cpng), ek moet begin met die groep in 1930 gebore, 3de kwartaal en bereken die gemiddelde aantal jare van opvoeding van diegene gebore in 1930, 2de kwartaal (gebore 'n kwart voor die gegewe groep), dieselfde vir diegene gebore in 1930, 1ste kwartaal (gebore 2/4 voor die gegewe groep), dieselfde vir diegene gebore in 1930, 4de kwartaal ( 'n kwart na die gegewe groep), en dieselfde vir diegene gebore in 1931, 1ste kwartaal (2/4 na die gegewe groep). Toe die bewegende gemiddelde word verkry deur die 4 waardes en deel deur 4. Hierdie hele proses moet herhaal word vir elke groep tussen 1930 3de kwartaal en 1939, 2de kwartaal. Doen-lêer Vir die doen-lêer (onedrive. live/redirresid6919D329B3BF1EF23227ampauthkeyAO2cxEN AGpZMgsMampithintfile2cdo), Ek het begin met die model van die ander figure en probeer om foreach lus en baie ander dinge (gebruik nie onthou die fout boodskappe / het nie geweet ek gaan om hier te plaas), maar nog steeds nie uitvind hoe om te vertel Stata: quotfor elke YOBQn. bereken gemiddelde (EDUC) van YOBQ N-1, YOBQ N-2, YOBQ N1, YOBQ n2quot. Om die som en deel te maak met 4 nadat dit makliker sou wees. Ek het gekry 'n uitsonderlike wenk f rom die assistent: quot probeer die tssmooth opdrag. Jy sal eers 'n tyd veranderlike waarvoor die opdrag egen groep sal baie useful. quot maar volgens my navorsing oor quotegenquot en quottssetquot in die data handleidings en in die boek Cameron amp Trivedi te skep, quotEconometrics behulp Stataquot (laaste skakel): www. stata / manuals14 / Degen. tfolder2cdta www. stata / manuals14 / gsw11.pdf www. stata / manuals14 / u11.p. Languagesyntax www. stata / manuals14 / u13.p. itsubscripting onedrive. live/redirresi. intfile2cpdf ek moet die data voor tssmooth tsset maar ek het nie verder as hierdie stadium sedert glo, is die notasie N nie toegelaat met quotegenquot (fout r (101) quotweights nie allowedquot) en ek is nog baie verward oor hoe om egen kombineer, tsset en tssmooth. Dit sal wonderlik wees as iemand my kan help met hoe om die quotweights los nie allowedquot fout en hoe om die opdragte quotegenquot, quottssetquot, en quottssmoothquot kombineer. Thank you so much Naskrif: hier is die databasis op die pad onedrive. live/redirresi. tfolder2cdta Nota: Ek het die doen-lêer vir die belangrikste ander figure en tabelle van die artikel, behalwe tafel ek maar hierdie lêer is waarskynlik nie nodig / net vir meer inligting: onedrive. live/redirresi. hintfile2cdo Geredigeer deur Amarylis Durand 25 Maart 2016, 01:55. 25 Maart 2016, 22:50 Hier is 'n korter weergawe van my vraag: hoe om die fout hieronder (R451 in vet) en hoe om Stata vertel dat die bewegende gemiddelde van quotmedstay1quot moet bereken word vir elke waarde van TPS vermy / deur boodskap agter QOB vir almal wat gebore dieselfde jaar en dieselfde kwartaal, sorteer deur die verhoging van die jaar en kwartiere en bereken die gemiddelde aantal jare van onderwys / deur boodskap agter QOB. soort: egen medstay1 gemiddelde (EDUC) / genereer 'n nuwe veranderlike YOBNew omdat die opdrag yq die eerste argument vereis om tussen 1000 en 9999 en ons data vir boodskap agter in die 1980 Sensus is tussen 30 en 49 in plaas van 1930 en 1949 / gen YOBNewYOB vervang YOBNew YOB1900 as CENSUS80 / genereer 'n tyd veranderlike wat die formaat wat vereis word in hulp tsset het / gen tpsyq (YOBNew, QOB) formaat TQ TPS / die volgende opdrag terug R451. herhaalde tyd waardes in paneel, waarskynlik omdat daar duisend mense gebore in dieselfde jaar en dieselfde kwartaal, natuurlik met dieselfde gemiddelde aantal jare van onderwys. Hoe om hierdie fout te vermy / tsset medstay1 TPS / opdrag aan die bewegende gemiddelde MA het, maar ek wil die bewegende gemiddelde van medstay1 te bereken vir elke waarde van die timevariable quottpsquot. Wat opdrag sou laat my toe om dit te doen of is dit outomaties / tssmooth ma MA medstay1 gedoen. venster (2 0 2) Ek hoop iemand kan help.


No comments:

Post a Comment