Mam nadzieję, że ktoś może mi pomóc, ponieważ utknąłem z tym problemem od dłuższego czasu.

Mam panel spółek S & P500 z lat 2010 – 2014 i chcę przeprowadzić regresję obejmującą efekty stałe dla branży i roku.

Jestem początkującym w analizie danych panelowych, a także w Stata i nie mogę nigdzie znaleźć odpowiedzi. Jestem tak zdezorientowany, że nie jestem pewien, czy efekty stałe branżowe i roczne są równoważne efektom stałym w przekroju i okresie.

Komentarze

  • Tam ' sa fajnie artykuł w SJ na temat stałych efektów o dużych wymiarach, w tym przegląd innych poleceń.

Odpowiedź

Powiedzmy, że masz jakąś zmienną kategorii $ c_i $ (np. C może być firmą branżową, do której należy $ i $). Ważnym punktem matematycznym, o którym należy pamiętać, jest to, że przeprowadzanie regresji efektów stałych z efektami stałymi dla $ c $ jest równoważne uruchomieniu regularnej regresji ze zmiennymi wskaźnikowymi dla każdej możliwej wartości $ c $.

Podstawową strategią może być:

  1. użyj xtset industryvar w Stata, aby wskazać, że chcesz uzyskać stałe efekty dla każdej unikalnej wartości zmiennej industry.
  2. Generuj fikcyjne zmienne dla każdego roku.
  3. Zadzwoń pod numer xtreg z opcją fe wskazującą efekty stałe, w tym zmienne fikcyjne dla roku jako zmienne po prawej stronie.

Więcej dawny Plicitly, możesz zrobić coś takiego:

xtset industry xtreg y x1 x2 i.year, fe 

Zakłada się, że year jest zmienną, która przechowuje rok, industry to zmienna określająca branżę itp. …

Komentarze

  • Drogi Mateuszu, dziękuję tyle za twoją pomocną odpowiedź. Spróbowałem tak, jak radziłeś w Stata i jestem zadowolony z wyniku, jaki otrzymałem. Czy miałbyś coś przeciwko, jeśli jeszcze raz sprawdzę z Tobą – mam 418 firm z indeksu S & P 500, w okresie 5 lat 2020 – 2014 i pobrałem kody SIC dla każdej firmy, aby kontrola efektów branżowych. W ten sposób zrobiłem: xtset sic; xtreg y x1 x2 x3 … i.rok, np. z góry przepraszam, jeśli moje pytanie wydaje ci się głupie, ale jestem absolutnie początkującym i nie mam nikogo na moim uniwersytecie, kto mógłby mi pomóc w panelu. Pozdrawiam, Milica
  • tak, ' tak byś to zrobił. Kolejna przypadkowa myśl, możesz użyć 4-cyfrowych kodów SIC lub możesz również wypróbować 3-cyfrowe kody sic (np. Wygeneruj nową zmienną SIC3, biorąc 4-cyfrowy kod, dzieląc przez 10 i odcinając resztę za pomocą funkcji floor (), tj. gen sic3 = floor(sic4/10)).
  • Dziękuję za miłą i pomocną odpowiedź. Z poważaniem, Milica

Odpowiedź

W tym kontekście regresja z efektem stałym (lub w estymatorze) jest metoda modelowania z danymi panelowymi lub danymi wzdłużnymi. Ten estymator różni się od średniej zmiennych jednostki obserwacyjnej z każdej zmiennej:

Dla osobników $ i \ in 1 \ dots N $, obserwowanych w okresach $ 1 \ dots T $ i współzmiennych $ X_k $ i zmienna zależna $ Y $, estymator efektów stałych wykonuje następującą transformację:

$ \ breve {Y} _ {it} = Y_ {it } – \ bar {Y} _i $ i
$ \ breve {X} _ {zestaw} = X_ {zestaw} – \ bar {X} _ {ki} $ za $ k = 1 \ kropki K $

Regresja jest wykonywana na przekształconych zmiennych. W stata jest to realizowane za pomocą polecenia xtreg z fe.

To polecenie prawdopodobnie nie zadziała w twojej sytuacji, ponieważ jest przeznaczone do różnicowania średnich dla każdej jednostki obserwacyjnej. Prawdopodobnie będziesz mieć wiele firm, które działają w określonej branży i chcesz odróżnić średnią branżową. Jest to prosty przypadek hierarchicznego modelu liniowego.

W tym sytuacji, chcesz użyć operatora i. w Stata:

reg y i.industry i.year 

Możesz również użyć areg, aby uzyskać identyczne wyniki:

areg y i.year, absorb(industry) 

Polecenie areg można przydatne, gdy liczba poziomów wchłanianej zmiennej (liczba branż w tym przykładzie) jest wysoka.

Jeśli prawdą jest, że istnieje wiele firm w tej samej branży, co podejrzewam, w takim przypadku powszechną praktyką, która jest rozsądna i asymptotyczna, jest grupowanie błędów standardowych na poziomie branżowym. W stata jest to zwykle realizowane za pomocą opcji vce(cluster varname).Na przykład polecenie regress zmieniłoby się w

reg y i.industry i.year, vce(cluster industry) 

Podobnie, całkiem niedawno podczas konstruowania dwukierunkowych i wielokierunkowych błędów standardowych klastrów (patrz na przykład artykuł Camerona, Gelbacha i Millera z 2011 r. w Journal of Business and Economic Statistics ). Jeśli jesteś martwiąc się o wstrząsy, które wpłyną na cały zestaw akcji w danym okresie, warto to wdrożyć. Doug Miller napisał plik .ado o nazwie cgm.ado, który implementuje jedną metodę grupowania wielostronnego.

Komentarze

  • Sugerowałbym również grupowanie błędów, jeśli zastosuje się takie podejście.
  • To ' jest prawdą. Myślałem o dodaniu tej sugestii, ale powstrzymałem się, bo być może poza zakresem. ' dodam ją.
  • I ' z trudem widzę, jak xtreg, fe jest w ogóle nieodpowiedni, ponieważ reg y x i.industry i.year, vce(cluster industry) wygeneruje identyczne oszacowania dla x jak xtset industry, po którym nastąpi xtreg y x i.year, vce(robust). Włączanie manekinów lub poniżanie oparte na id jest dokładnie tym samym z matematycznej, liniowej perspektywy algebry. W rzeczywistości dla dużej liczby zmiennych fikcyjnych xtreg będzie obliczał szybciej, ponieważ 10000 efektów stałych + 2 interesujące zmienne wymagałyby rozwiązania systemu zmiennych 10002, podczas gdy byłby to tylko system 2 zmiennych na przekształconych danych.
  • @MatthewGunn Zgadzam się z Tobą, że przemysł jest jednostką obserwacyjną, którą obserwuje się w czasie. Jeśli jednak na branżę przypada wiele jednostek obserwacyjnych (firm), należy dostosować typową dyskusję dotyczącą FE i xtreg .., fe. Uruchomienie xtset w takim przypadku skutkuje błędem .: " powtórzone wartości czasu w panelu. "
  • możesz mieć wiele firm w każdej branży. To ' jest w porządku, po prostu nie ' nie ustawiaj tsset.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *