3 miesięczne ruchome przeciętne stata


Ta struktura danych jest zupełnie nieodpowiednia. Zakładając, że identyfikator identyfikatora trzeba przekształcić. na przykład Wtedy średnia ruchoma jest prosta. Użyj tssmooth lub po prostu wygeneruj. na przykład Więcej na temat tego, dlaczego struktura danych jest dość nieadekwatna: nie tylko obliczanie średniej ruchomej wymagało pętli (niekoniecznie obejmującej egen), ale byłoby tworzyć kilka nowych dodatkowych zmiennych. Użycie tych w jakiejkolwiek późniejszej analizie byłoby gdzieś między niewygodne i niemożliwe. EDIT Ill dać pętli próbki, a nie ruszając się z mojego stanowiska, że ​​jest słaba technika. Nie widzę powodu związanego z konwencją nazewnictwa, według której P1947 jest średnią w latach 1943-1945 zakładam, że to tylko typówka. Załóżmy, że mamy dane na lata 1913-2017. Przez trzy lata stracimy rok na każdym końcu. To mogło być napisane bardziej zwięźle, kosztem makr makr w makrach. Używanie nierównych ciężarów jest łatwe, jak powyżej. Jedynym powodem używania egen jest to, że nie zrezygnuje, jeśli istnieją spory, które powyższe zrobią. W kwestii kompletności należy zwrócić uwagę na to, że łatwo jest radzić sobie z misjami bez uciekania się do egen. i mianownik Jeśli brakuje wszystkich wartości, zmniejsza się do 00 lub jest brakuje. W przeciwnym razie, jeśli brakuje jakiejś wartości, dodajemy zero do licznika i 0 do mianownika, co jest takie samo, jak ignorowanie. Oczywiście kod jest dopuszczalny jak powyżej dla średnich 3 lat, ale w tym przypadku lub dla uśrednienia w ciągu kilku lat, zastąpimy linie powyżej przez pętlę, co jest co egen does. Stata: Analiza danych i oprogramowania statystycznego Nicholas J Coars, Durham University, Wielka Brytania Christopher Baum, Boston College egen, ma () i jego ograniczenia Statarsquos najbardziej oczywistym dowodem obliczania średnich kroczących jest funkcja ma () egen. Biorąc pod uwagę wyrażenie, tworzy ona - średnią ruchomą średnią tej wypowiedzi. Domyślnie przyjmuje się, że 3. musi być nieparzysta. Jednakże, jak wskazuje ręcznie wpis, np. Ma () nie może być łączony z listą:. i, z tego tylko powodu, nie ma zastosowania do danych paneli. W każdym razie znajduje się poza zestawem komend napisanych specjalnie dla serii czasowych, patrz seria czasowa, aby uzyskać szczegółowe informacje. Metody alternatywne Aby obliczyć średnie ruchome danych panelowych, istnieją co najmniej dwie możliwości. Oba te elementy uzależnione są od zestawu danych, który został uprzednio zresetowany. To bardzo warto robić: nie tylko możesz zaoszczędzić sobie na wielokrotne określanie zmiennej czasowej panelu i zmiennej, ale Stata zachowuje się elegancko, biorąc pod uwagę luki w danych. 1. Napisz własną definicję używając wygenerowania Używając operatorów z serii czasowych, takich jak L. i F. podaj definicję średniej ruchomej jako argumentu generowania instrukcji. Jeśli to zrobisz, naturalnie nie ograniczasz się do średnio ważonych (nie ważonych) średnic ruchu, obliczonych przez egen, ma (). Na przykład średnio ważone średnie ruchome trzy-okresowe byłyby podane przez i niektóre wagi można łatwo określić: Oczywiście możesz określić wyrażenie takie jak log (myvar) zamiast nazwy zmiennej, na przykład myvar. Jedną wielką zaletą tego podejścia jest to, że Stata automatycznie robi właściwą rzecz dla danych paneli: wartości początkowe i opóźnione są opracowywane w panelach, podobnie jak logika mówi, że powinny być. Największą wadą jest to, że linia komend może być dość długa, jeśli średnia ruchoma obejmuje kilka terminów. Innym przykładem jest jednostronna średnia ruchoma oparta jedynie na poprzednich wartościach. Może to być użyteczne w celu wygenerowania adaptacyjnego oczekiwania co zmienna będzie oparta wyłącznie na dotychczasowej informacji: co można było przewidzieć na obecny okres w oparciu o poprzednie cztery wartości przy użyciu stałego schematu ważenia (opóźnienie w skali A 4 może być szczególnie używanych w kwartalnych terminach.) 2. Użyj egen, filter () z SSC Użyj filtra funkcji egen () egenmore () z pakietu egenmore na SSC. W Stacie 7 (zaktualizowany po 14 listopada 2001 r.) Można zainstalować ten pakiet, po którym pomoc np. Wskazuje na szczegóły filtru (). Powyższe przykłady byłyby renderowane (w tym porównaniu podejście generowane jest być może bardziej przezroczyste, ale na chwilę okaże się przykładem odwrotnego). Laga jest numeracją. prowadzi do ujemnych opóźnień: w tym przypadku -11 rozciąga się na -1 0 1 lub prowadzi 1, opóźnia 0, opóźnia 1. Współczynnik cofania, kolejna numlista, pomnożenie odpowiednich opóźnionych lub wiodących elementów: w tym przypadku są to F1.myvar . myvar i L1.myvar. Efektem normalizacji jest skalowanie każdego współczynnika sumą współczynników tak, aby współczynnik (1 1 1) normalizować jest równoważny współczynnikom 13 13 13 i coef (1 2 1) normalizować jest równoważny współczynnikom 14 12 14 Musisz określić nie tylko opóźnienia, ale i współczynniki. Ponieważ egen, ma () dostarcza równie ważonej sprawy, głównym powodem egen, filter () jest wspieranie nierównej wagi sprawy, dla której musisz określić współczynniki. Można również powiedzieć, że zobowiązanie użytkowników do określenia współczynników jest niewielką dodatkową presją na nich, aby zastanowić się nad tym, jakie współczynniki chcą. Głównym uzasadnieniem dla równych ciężarów jest, jak przypuszczamy, prostota, ale równe wagi mają złe właściwości w domenie częstotliwości, wspomnieć tylko o jednym. Trzeci przykład powyżej może być albo z nich tak skomplikowany jak podejście generujące. Są przypadki, w których egen, filter () daje prostszy formułowanie niż generowanie. Jeśli chcesz, aby 9-krotny filtr dwumianowy okazał się użyteczny, wygląda na to, że może być mniej straszniejszy niż i łatwiejszy w użyciu niż, podobnie jak w przypadku generowania podejścia, egen, filter () działa poprawnie z danymi panelu. W rzeczywistości, jak wspomniano powyżej, zależy to od zestawu danych, który został wcześniej zresetowany. Graficzna wskazówka Po obliczeniu średnich kroczących prawdopodobnie będzie trzeba spojrzeć na wykres. Polecenie napisane przez użytkownika tsgraph jest inteligentne w przypadku zestawów danych tsset. Zainstaluj go w aktualnej wersji Stata 7 przez ssc inst tsgraph. A co z podziałem na jeśli żadne z powyższych przykładów nie wykorzystuje się w przypadku ograniczeń. W rzeczywistości egen, ma () nie zezwala, jeśli ma być określony. Czasami ludzie chcą używać, jeśli przy obliczaniu średnich ruchomej, ale jego wykorzystanie jest nieco bardziej skomplikowane niż zwykle. Czego oczekiwałeś od średniej ruchomej, obliczonej jeśli. Zidentyfikujmy dwie możliwości: Słaba interpretacja: nie chcę widzieć żadnych wyników dla wykluczonych obserwacji. Mocna interpretacja: nie chcę nawet używać wartości dla wykluczonych obserwacji. Oto konkretny przykład. Załóżmy, że w wyniku pewnych warunków, obserwuje się 1-42, ale nie obserwuje się obserwacji 43. Jednak średnia ruchoma wynosząca 42 będzie zależeć między innymi od wartości obserwacji 43, jeśli średnia rozciąga się do tyłu i do przodu i ma długość co najmniej 3, a w pewnych okolicznościach podobnie będzie zależała od niektórych obserwacji od pewnego czasu. Domyślamy, że większość ludzi chętnie skorzysta z słabej interpretacji, ale czy to jest poprawne, egen, filter () nie popiera, jeśli takowe. Zawsze możesz zignorować to, czego nie chcesz, a nawet ustaw niepożądane wartości, aby później brakować, używając zamiennika. Notatka o brakujących wynikach na końcu serii Ponieważ średnie ruchome są funkcjami opóźnień i opóźnień, np. Ma () powoduje, że brakuje tam, gdzie opóźnienia i opóźnienia nie istnieją, na początku i na końcu szeregu. Opcja nomiss wymusza obliczenie krótszych, nieokrążonych średnic ruchu dla ogonów. W przeciwieństwie do tego, ani wygenerować, ani egen, filtr () czy, czy nie, nic specjalnego, aby uniknąć brakujących wyników. Jeśli brakuje jakiejkolwiek wartości potrzebnej do obliczenia, wynik tego nie ma. To zależy od tego, czy i jakie operacje korygujące są wymagane w przypadku takich obserwacji, przypuszczalnie po zapoznaniu się z zestawem danych i rozważeniu jakiejkolwiek naukowej nauki, którą można przynieść. Powiadomienie Jest to mój pierwszy post i postaram się być tak jasny jak to możliwe. Link do głównej bazy danych znajduje się na końcu postu. Kontekst Używam StataSE 12.0 w systemie Windows 10. Zacząłem od Stata zaledwie kilka tygodni temu i próbuję samodzielnie uczyć się na zadanie za parę dni (bo każda tabela lub postać zabrała mi dni i dni) : powtórzenie referatu na papierze Obowiązkowe uczestnictwo w szkole wpływa na Schoolig i Earningsquot: web. stanford. edu pistaangrist. pdf polegający na tym, że osoby urodzone w ostatnich kwartałach mają średnio wyższe wykształcenie niż osoby urodzone w pierwszym kwartale ze względu na obowiązkowe szkolnictwo prawa. Pierwsze dane liczbowe narysują wykres średniej liczby lat edukacji (zmienna EDUC) dla wszystkich osób urodzonych w pewnym roku (zmienna YOB za rok urodzenia) w danym kwartale (QOB). Istnieje ogólna tendencja wzrostowa i powodująca zepsucie danych, używają średniej ruchomej (rysunek IV), która została zablokowana przez ostatnie 5 dni. Problem W bazie danych znajduje się 27 zmiennych, wśród których v4 zmienił nazwę na EDUC, v27 zmieniono na YOB (rok urodzenia), a v18 zmieniono na QOB (ćwiartka urodzenia). To, co jest potrzebne do średniej ruchomej, jest dla wszystkich osób urodzonych w roku c i kwartale j, obliczając średnią liczbę lat edukacji nie w tym roku i kwartale, ale za kwartał tuż przed, 2 kwartały przed, jedna czwarta później i 2 kwartale później (wyjaśniono na stronie 985 dokumentu). Na przykład, jeśli spojrzymy na ludzi urodzonych między 1930 a 1939 r., Jak na tej figurze (rysunek IV artykułu: onedrive. liveredirresi. Ntphoto2cpng), muszę zacząć od kohorty urodzonej w 1930 r. W trzecim kwartale i obliczyć przeciętną liczbę lat wykształcenia osób urodzonych w 1930 r., II kwartale (urodzonych na ćwierć przed daną kohortą), podobnie dla osób urodzonych w 1930 r., I kwartale (urodzonych 2 kwartały przed daną grupą), podobnie dla osób urodzonych w 1930 r., czwartym kwartale (jedna czwarta po danej grupie), podobnie dla osób urodzonych w 1931 r., I kwartale (2 kwartały po danej grupie). Następnie średnia ruchoma uzyskuje się przez dodanie tych 4 wartości i dzielenie przez 4. Ten cały proces należy powtórzyć dla każdej kohorty między 1930, 3 kwartał i 1939, drugi kwartał. Do-pliku Do pliku (onedrive. liveredirresid6919D329B3BF1EF23227ampauthkeyAO2cxEN AGpZMgsMampithintfile2cdo) zacząłem od modelu innych figurek i próbowałem używać pętli foreach i wielu innych rzeczy (nie pamiętam błędów, których nie chciałem tu napisać) ale nadal nie rozumiem, jak powiedzieć Stata: quotfor każdego YOBQn. obliczyć średnią (EDUC) dla YOBQ n-1, YOBQ n-2, YOBQ n1, YOBQ n2quot. Aby suma i podzielona przez 4, powinna być łatwiej. Otrzymałem wyjątkową wskazówkę od asystenta nauczyciela: spróbuj polecenia tssmooth. Najpierw musisz utworzyć zmienną czasową, dla której polecenie egen group będzie bardzo przydatne. quot, ale zgodnie z moimi badaniami na temat kwerendy i quottssetquot w podręcznikach danych i w książce Cameron amp Trivedi, quotEconometrics przy użyciu Stataquot (ostatni link): statamanuals14degen. tfolder2cdta statamanuals14gsw11.pdf statamanuals14u11.p. Languagesyntax statamanuals14u13.p. itsubscripting onedrive. liveredirresi. intfile2cpdf Powinienem zresetować dane przed tssmooth, ale nie przeszukiwałem tego etapu, ponieważ najwyraźniej, notacja n nie jest dozwolona z quotegenquot (błędów r (101) wartości ważnych nie jest dozwolona) i nadal jestem bardzo zdezorientowany, jak połączyć egen, tsset i tssmooth. Byłoby wspaniale, gdyby ktoś mógł mi pomóc w rozwiązywaniu cudzysłowów nie był dozwolony błąd i jak połączyć komendy quotegenquot, quottssetquot i quottssmoothquot. Dziękuję bardzo dużo Postscript: tutaj jest baza danych przez sposób onedrive. liveredirresi. tfolder2cdta Uwaga: Mam plik do zrobienia dla najważniejszych innych figur i tabel artykułu, z wyjątkiem tabeli I, ale ten plik prawdopodobnie nie jest konieczny dla informacji: onedrive. liveredirresi. hintfile2cdo Ostatnio edytowane przez Amarylis Durand 25 Mar 2018, 01:55. 25 Mar 2018, 22:50 Oto krótsza wersja mojego pytania: jak uniknąć błędu poniżej (r451 wytłuszczone) i jak przekazać Stacie, że średnia ruchoma podana w kwotach 1 kwot powinna być obliczona dla każdej wartości tps przez YOB QOB za wszystkie urodzone w tym samym roku i tym samym kwartale, uporządkowane przez zwiększenie liczby lat i kwartałów oraz obliczanie średniej liczby lat edukacji przez YOB QOB. sort: egen medstay1 mean (EDUC) wygeneruje nową zmienną YOBNew, ponieważ polecenie yq wymaga pierwszego argumentu w przedziale od 1000 do 9999, a nasze dane za YOB w spisie powszechnym z 1980 roku to między 30 a 49 zamiast 1930 i 1949 gen YOBNewYOB zastępują YOBNew YOB1900, jeśli CENSUS80 wygeneruje zmienną czasową, która ma format wymagany w formacie help tsset gen tpsyq (YOBNew, QOB) tq tps następujące instrukcje zwracają r451. powtarzane wartości czasu w panelu, prawdopodobnie dlatego, że tysiące osób urodzonych w tym samym roku i tym samym kwartale, oczywiście z tą samą średnią liczbą lat edukacji. Jak uniknąć tego błędu tsset medstay1 tps instrukcję posiadania średniej ruchomej MA, ale chcę obliczyć średnią medstay1 na każdą wartość z timevariablequintpsquot. Jakich poleceń pozwoliłoby mi to zrobić, czy czyni się to automatycznie tssmooth ma MA medstay1. window (2 0 2) Mam nadzieję, że ktoś może pomóc. Jestem próbą utworzenia 3 Miesięcznej Ruchowej Średnia na podstawie niektórych danych, które mam podczas korzystania z RedShift SQL lub Domo BeastMode (jeśli ktoś jest z tym zaznajomiony). Dane są codziennie aktualizowane, ale muszą być wyświetlane w danym miesiącu. W związku z tym należy podsumować kwotowanie według miesiąca, a następnie obliczyć 3MMA (z wyjątkiem bieżącego miesiąca). Jeśli więc cytat był w kwietniu, potrzebowałbym średniej z Jan, Feb, Mar. Dane wejściowe wyglądają tak: I potrzebuję wyjścia, aby wyglądać tak: Jeśli ktoś jest w stanie pomóc, byłbym niezwykle wdzięczny, że zostały utknęły na tym przez długi czas i nie mam pojęcia, co robię, jeśli chodzi o SQL lol. Witam Gordon, dziękuję za odpowiedź :) Wygląda jak jego dobrze w drodze do robienia tego, czego chcę, jak kiedykolwiek wyjście 3MMA nie wyglądało poprawnie 100. To jest to, co obecnie wysyła. 2017-10-01 00:00:00 17777 17777 2017-01-01 00:00:00 182367 82466 2017-09-01 00:00:00 3120 324974 2017-12-01 00:00:00 291730 231895.33333333334. Data nie wygląda tak, jakby była prawidłowa, gdy idę dalej. Wszelkie sugestie byłyby świetne Cheers, Logan. ndash user2427023 20 marca 16 w 22:42

Comments