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äm och omöjlig. EDIT Ill ger en provslinga, medan du inte flyttar från min inställning att det är dålig teknik. Jag ser inte en orsak till din namngivningskonvention, där P1947 är ett medelvärde för 1943-1945 Jag antar det är bara 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 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 medelvärdet under flera år skulle vi ersätta raderna ovan med en slinga, vilket är vad som gör. När du beräknar ett löpande rörligt medelvärde placerar du genomsnittet i mellantiden är meningsfullt I det föregående exemplet beräknade vi genomsnittet av de första 3 tidsperioderna och placerade det bredvid period 3. Vi kunde ha placerat medelvärdet mitt i tidsintervallen av tre perioder, det vill säga, bredvid period 2. Detta fungerar bra med udda tidsperioder, men inte så bra för jämn tid. Så var skulle vi placera det första glidande medlet när M 4 Tekniskt sett skulle det rörliga genomsnittet falla vid t 2.5, 3.5. För att undvika detta problem släpper vi MAs med M 2. Således släpper vi de jämnderade värdena Om vi i genomsnitt ett jämnt antal termer behöver vi släta de jämnda värdena Följande tabell visar resultaten med M 4. Jag har en lista över personer , registreringstider och poäng. I Stata vill jag beräkna ett glidande medelvärde av poäng baserat på ett tidsfönster runt varje observation (inte ett fönster baserat på laggingleading antal observationer). Om du antar att - 2 dagar på vardera sidan och inte den nuvarande observationen, försöker jag beräkna något så här: Ive försökte definiera datasetet med tsset och sedan använda tssmooth. men kunde inte få det att fungera. Eftersom det kan finnas flera observationer under en viss tidsperiod, är jag inte säker på att det här är ens rätt sätt. Även i verkligheten är dagvariabeln en tc-tidsstämpel. frågade dec 6 13 kl 16:04 tsset kan inte hjälpa dig även om du har gjort dina tider regelbundet, eftersom du har några upprepade värden för tiden, men dina uppgifter kvalificeras inte som paneldata i Statas mening. Men problemet borde ge en loop över möjligheter. Först kan vi ta ditt exempel bokstavligen med heltalsdagar. Här antar vi inga saknade värden. Principen att vidarebefordra är genomsnittet av andra (summan av allt - detta värde) (antal värden - 1) I praktiken vill du inte slingra över alla möjliga datumstider i millisekunder. Så, prova en loop över observationer av denna blankett. Observera ltpseudocodegt-element. Detta papper är också relevant: Om missningar är möjliga måste en rad bli mer komplicerad: det betyder att om det nuvarande värdet saknas subtraherar vi 0 från summan och 0 från observatorns räkning. EDIT: I 2 dagar i millisekunder utnyttja den inbyggda funktionen och använd cofd (2).
Comments
Post a Comment