Saturday, 18 November 2017

Glidande medelvärde loop stata


Denna datastruktur är ganska olämplig för ändamål. Om du antar ett identifierings-id måste du omforma. t. ex. Då är ett glidande medelvärde lätt. Använd tssmooth eller bara skapa. t. ex. Mer om varför din datastruktur är ganska olämplig: Inte bara skulle beräkning av ett glidande medel behöva en slinga (inte nödvändigtvis involverande egen), men du skulle skapa flera nya extravariabler. Att använda dem i någon efterföljande analys skulle vara någonstans mellan obekväma och omöjliga. EDIT Ill ger en provslinga, medan du inte flyttar från min inställning att det är dålig teknik. Jag ser inte en anledning till din namngivningskonvention, där P1947 är ett medelvärde för 1943-1945. Jag antar att det bara är ett typsnitt. Låt oss anta att vi har data för 1913-2012. För 3 år förlorar vi ett år i varje ände. Det kan skrivas mer kortfattat, på bekostnad av ett flurry av makron i makron. Att använda ojämna vikter är lätt, som ovan. Den enda anledningen till att använda egen är att den inte ger upp om det finns missningar, vilket ovanstående kommer att göra. Som en fråga om fullständighet, notera att det är lätt att hantera missningar utan att tillgripa egen. Och nämnaren Om alla värden saknas minskar detta till 00, eller saknas. Annars, om något värde saknas, lägger vi 0 till täljaren och 0 till nämnaren, vilket är detsamma som att ignorera det. Koden är naturligtvis acceptabel enligt ovan i medeltal om 3 år, men antingen för det fallet eller för medeltal över flera år skulle vi ersätta raderna ovan med en slinga, vilket är vad som gör. Stata: Dataanalys och statistisk programvara Nicholas J Cox, Durham University, Storbritannien Christopher Baum, Boston College egen, ma () och dess begränsningar Statarsquos mest uppenbara kommando för att beräkna glidande medelvärden är ma () - funktionen hos egen. Med tanke på ett uttryck skapar det ett periodiskt rörligt medelvärde för detta uttryck. Som standard tas det som 3. måste vara udda. Men som den manuella inmatningen indikerar kan egen ma () kanske inte kombineras med varlist:. och av den anledningen är det inte tillämpligt på paneldata. I vilket fall som helst står den utanför uppsättningen kommandon som är specifikt skrivna för tidsserier, se tidsserier för detaljer. Alternativa metoder För att beräkna glidande medelvärden för paneldata finns det minst två val. Båda är beroende av att datasetet tidigare har ställts in. Det här är väldigt mycket värt att göra: inte bara kan du spara dig själv upprepade gånger med att ange panelvariabel och tidsvariabel, men Stata beter sig smart med några luckor i data. 1. Skriv din egen definition med hjälp av generera Använda tidsserier operatörer som L. och F. Ge definitionen av det rörliga genomsnittsvärdet som argumentet för ett genereringsuttag. Om du gör det här är du naturligtvis inte begränsad till lika viktiga (obevätade) centrerade rörliga medelvärden beräknade av egen ma (). Till exempel skulle lika viktiga treårs glidande medelvärden ges av och vissa vikter kan enkelt specificeras: Du kan givetvis ange ett uttryck som logg (myvar) istället för ett variabelt namn som myvar. En stor fördel med detta tillvägagångssätt är att Stata automatiskt gör det rätta för paneldata: ledande och försvagade värden utarbetas inom paneler, precis som logiken dikterar att de borde vara. Den mest anmärkningsvärda nackdelen är att kommandoraden kan bli ganska lång om det rörliga genomsnittet innefattar flera termer. Ett annat exempel är ett ensidigt rörligt medelvärde baserat endast på tidigare värden. Detta kan vara användbart för att generera en adaptiv förväntning av vilken variabel som kommer att baseras uteslutande på information till dags dato: vad kan någon förutspå för den aktuella perioden baserat på de fyra senaste värdena, med hjälp av ett fast viktningsschema (en 4-tidsperiod kan vara speciellt vanligt förekommande med kvartalsvisa tidsserier.) 2. Använd eget filter () från SSC Använd det användarskrivna egenfunktionsfiltret () från egenmore-paketet på SSC. I Stata 7 (uppdaterad efter 14 november 2001) kan du installera det här paketet efter vilket hjälp egenmore pekar på detaljer på filteret (). De två ovanstående exemplen skulle göras (I denna jämförelse är genereringsmetoden kanske mer genomskinlig, men vi kommer att se ett exempel på motsatsen i ett ögonblick.) Lags är en numlist. Lederna är negativa lags: i det här fallet -11 expanderar till -1 0 1 eller led 1, lag 0, lag 1. Koef-ficienterna, en annan numlist, multiplicera motsvarande släpande eller ledande objekt: i det här fallet är dessa föremål F1.myvar . Myvar och L1.myvar. Effekten av normaliseringsalternativet är att skala varje koefficient med summan av koefficienterna så att koefficienten (1 1 1) normaliserar motsvarar koefficienterna 13 13 13 och koefficienten (1 2 1) normaliserar motsvarar koefficienterna 14 12 14 Du måste ange inte bara lags men även koefficienterna. Eftersom egen, ma () ger det lika viktiga fallet är huvudrincipen för egen, filter () att stödja det ojämnt viktiga fallet, för vilket du måste ange koefficienter. Det kan också sägas att förplikta användarna att specificera koefficienter är ett litet extra tryck på dem för att tänka på vilka koefficienter de vill ha. Den huvudsakliga motiveringen för lika vikter är, vi antar, enkelhet, men lika vikter har äckliga frekvensdomänegenskaper, för att bara nämna ett övervägande. Det tredje exemplet ovan kan vara vilket är ungefär lika komplicerat som genereringsmetoden. Det finns fall där egen, filter () ger en enklare formulering än att generera. Om du vill ha ett nio-termins binomialfilter, vilka klimatologer tycker är användbara ser det ut att det kanske är mindre hemskt än, och lättare att få rätt än, precis som med genereringsmetoden, fungerar egen, filter () ordentligt med paneldata. Faktum är att det som sagt ovan beror på att datasetet tidigare har ställts in. En grafisk spets Efter att du har beräknat dina glidande medelvärden kommer du förmodligen att se på en graf. Det användarskrivna kommandot tsgraph är smart om tsset dataset. Installera den i en uppdaterad Stata 7 av ssc inst tsgraph. Vad sägs om delning med om ingen av ovanstående exempel använder sig av om begränsningar. Faktum är att egen, ma () inte tillåter om det ska anges. Ibland vill folk använda om man beräknar glidande medelvärden, men användningen är lite mer komplicerad än det vanligtvis är. Vad förväntar du dig av ett glidande medelvärde beräknat med if. Låt oss identifiera två möjligheter: Svag tolkning: Jag vill inte se några resultat för de uteslutna observationerna. Stark tolkning: Jag vill inte ens att du ska använda värdena för de uteslutna observationerna. Här är ett konkret exempel. Antag som en följd av vissa om villkor ingår observationer 1-42 men inte observationer 43 på. Men det rörliga genomsnittsvärdet för 42 beror bland annat på värdet för observation 43 om medelvärdet sträcker sig bakåt och framåt och är av längd åtminstone 3, och det kommer också att bero på några av observationerna 44 under vissa omständigheter. Vår gissning är att de flesta skulle gå för den svaga tolkningen, men om det är korrekt, kan inte filter () heller stödja om. Du kan alltid ignorera vad du donrsquot vill eller ens ställa in oönskade värden att sakna efteråt genom att använda ersättare. En anteckning om saknade resultat i slutet av serierna Eftersom rörliga medelvärden är funktioner av lags och leads, producerar egen, ma (), där lags och leads inte existerar, i början och slutet av serien. Ett alternativ nomiss tvingar beräkningen av kortare, ocenterade glidmedel för svansarna. Däremot, varken generera eller egna, filter () gör, eller tillåter, något speciellt för att undvika att sakna resultat. Om något av värdena som behövs för beräkning saknas, saknas det resultatet. Det är upp till användarna att bestämma om och vilken korrigering som krävs för sådana observationer, förmodligen efter att ha tittat på datasetet och med tanke på vilken underliggande vetenskap som kan bäras. MOVAVG: Stata-modul med Mata att generera rörliga genomsnittsvärden När man begär en korrigering , var vänlig och nämna dessa saker hantera: RePEc: boc: bocode: s457476. Se allmän information om hur du korrigerar material i RePEc. För tekniska frågor angående detta föremål, eller för att rätta till dess upphovsmän, titel, abstrakta, bibliografiska eller nedladdningsinformation, kontakta: (Christopher F Baum) Om du har skapat det här föremålet och inte är registrerat hos RePEc uppmuntrar vi dig att göra det här . Detta tillåter att länka din profil till det här objektet. Det tillåter dig också att acceptera potentiella citat till det här objektet som vi är osäkra på. Om referenser saknas helt kan du lägga till dem med hjälp av det här formuläret. Om de fullständiga referenserna listar ett objekt som är närvarande i RePEc, men systemet inte länkade till det, kan du hjälpa till med det här formuläret. Om du känner till saknade objekt som citerar den här kan du hjälpa oss att skapa dessa länkar genom att lägga till relevanta referenser på samma sätt som ovan för varje referenspunkt. Om du är en registrerad författare till det här objektet kan du också kolla citatfliken i din profil, eftersom det kan finnas några citat som väntar på bekräftelse. Observera att korrigeringar kan ta några veckor för att filtrera genom de olika RePEc-tjänsterna. Fler tjänster Följ serier, tidskrifter, författare mer Nya nyhetsbrev via e-post Prenumerera på nya tillägg till RePEc Författarregistrering Offentliga profiler för ekonomiforskare Olika forskningsbetyg inom ekonomi, närliggande områden Vem var en elev av som använder RePEc RePEc Biblio Curated articles amp Papper på olika ekonomi ämnen Ladda upp ditt papper för att vara listat på RePEc och IDEAS EconAcademics Bloggaggregat för ekonomisk forskning Plagiat Fall av plagiering i ekonomi Arbetsmarknadspapper RePEc arbetspapperserier dedikerade till arbetsmarknaden Fantasy League Låt dig vara i rike av en ekonomi avdelningen Tjänster från StL Fed Data, forskning, apps amp mer från St. Louis FedSmoothing: Lowess Vi kommer att arbeta med data från Colombia WFS Household Survey, genomförd 1975-1976. Jag tabulerade åldersfördelningen för alla hushållsmedlemmar och sparade den i en ascci-fil, som vi nu läser och plottar: Som du kan se, ser distributionen något mindre släta ut än data från Filippinerna som vi studerade tidigare. Kan du beräkna Myers-indexet för denna fördelning Löpande medel och linjer Det enklaste sättet att släta en scatterplot är att använda ett glidande medelvärde. även känd som ett löpande medelvärde. Det vanligaste sättet är att använda ett fönster med 2 k 1 observationer, k till vänster och k till höger om varje observation. Värdet av k är en avvägning mellan jämnhetens godhet. Särskild vård måste vidtas vid ytterligheten av intervallet. Stata kan beräkna körmedel via lowess med alternativvärdet och nuight. Ett vanligt problem med löpmedel är fördomar. En lösning är att använda vikter som ger större betydelse för närmaste grannar och mindre för dem längre bort. En populär viktfunktion är Tukeys tri-kub, definierad som w (d) (1-d 3) 3 för d 1 och 0 annars, där d är avståndet till målpunkten uttryckt som en bråkdel av bandbredd. Stata kan göra denna beräkning via lowess med alternativet betyder om du släpper bort noweight. En ännu bättre lösning är att använda löpande linjer. Vi definierar återigen ett grannskap för varje punkt, typiskt de närmaste grannarna på varje sida, en regressionslinje till punkterna i grannskapet och använd sedan den för att förutsäga ett jämnare värde för indexobservationen. Det låter som mycket arbete, men beräkningarna kan göras effektivt med hjälp av regressionsuppdateringsformler. Stata kan beräkna en löpelinje via lowess om du inte menar men inkluderar nueight. Bättre är att använda viktiga löplinjer. Att ge större vikt åt de närmaste observationerna, vilket är det som gör det enklare att göra. En variant följer denna uppskattning med några iterationer för att få en mer robust linje. Detta är tydligen den bästa tekniken i familjen. Statas lowess använder en viktad löpelinje om du släpper bort menyn och nueight R implementerar lowess mjukare genom funktionerna lowess () och den nyare loess (), som använder ett formelgränssnitt med en eller flera prediktorer och något annorlunda standardvärden. Parametervärdet styr graden av det lokala polynomet som standard är 2 för kvadratisk, alternativ är 1 för linjär och 0 för löpande medel. Båda implementationerna kan använda en robust estimator, med antalet iterationer kontrollerade av en parameter iter eller iterationer. Skriv loess och lowess i R-konsolen för mer information. I ggplot () kan du överlappa en lågare mjukare genom att ringa geomsmooth () Figuren nedan visar de colombianska data och en lågare jämnare med en spänning eller bandbredd som är lika med 25 av data. Du kanske vill prova olika breddbredd för att se hur resultaten varierar. Uppdatering av siffror Ändra åldersfördelningen ger ett bättre sätt att bedöma cifrepreferensen än Myers-blandning. Låt oss beräkna den sista åldersalvan och tabulera den över hela spektrumet av data med hjälp av de observerade frekvenserna och en lågare jämnare. Råfrekvenserna visar på preferenser för åldrar som slutar i 0 och 5, vilket är mycket vanligt, och förmodligen 2 också. Vi använder nu smidigt som vikt De jämnfrekventa frekvenserna visar att vi förväntar oss färre personer med högre siffror, även i en smidig fördelning, med mer slut på 0 än 9. Vi är nu redo att beräkna ett index för cifferpreferens, definierad som hälften av summa av absoluta skillnader mellan observerade och släta frekvenser: Vi ser att vi skulle behöva omforma 5,5 av observationerna för att eliminera cifferpreferensen. Du kanske vill jämföra detta resultat med Myers-indexet. Kopiera 2017 Germaacuten Rodriacuteguez, Princeton University

No comments:

Post a Comment