Jeg håper noen kan hjelpe meg, ettersom jeg sitter fast med dette problemet i ganske lang tid.
Jeg har et panel med S & P500-selskaper fra 2010 – 2014, og jeg vil kjøre en regresjon inkludert bransje- og årsfaste effekter.
Jeg er nybegynner i paneldataanalyse og også Stata, og jeg kan ikke finne svaret hvor som helst. Jeg er så forvirret at jeg ikke er sikker på om nærings- og årseffekter tilsvarer tverrsnitts- og periodefaste effekter.
Kommentarer
- Der ' sa hyggelig papir i SJ om faste dimensjoner, inkludert gjennomgang av andre kommandoer.
Svar
La oss si at du har noen kategorivariabler $ c_i $ (f.eks. C kan være bransjeselskapet $ i $ er i). Et viktig matematisk poeng å huske på er at det å kjøre en regresjon med faste effekter med faste effekter for $ c $ tilsvarer å kjøre en vanlig regresjon med indikatorvariabler for hver mulig verdi på $ c $.
En grunnleggende strategi kan være å:
- bruke
xtset industryvar
i Stata for å indikere at du vil ha faste effekter for hver unike verdi av industrivar. - Generer dummyvariabler for hvert år.
- Ring
xtreg
medfe
-alternativet for å indikere faste effekter, inkludert dummyvariablene for året som variabler på høyre side.
Mer eks plicitly, kan du gjøre noe sånt som:
xtset industry xtreg y x1 x2 i.year, fe
Dette antar at year
er en variabel som holder året, industry
er en variabel som holder bransjen osv …
Kommentarer
- Kjære Matthew, takk så mye for ditt nyttige svar. Jeg prøvde som du fortalte i Stata, og jeg er fornøyd med resultatet jeg får. Har du noe imot om jeg sjekker igjen med deg – Jeg har 418 selskaper fra S & P 500-indeks, over 5 år 2020 – 2014, og jeg har lastet ned SIC-koder for hvert selskap til kontroll for bransjeeffekter. Således har jeg gjort: xtset sic; xtreg y x1 x2 x3 … i.year, fe Jeg beklager på forhånd hvis spørsmålet mitt virker dumt for deg, men jeg er en absolutt nybegynner og har ikke noen på min Uni som kan hjelpe meg med Panel. Vennlig hilsen Milica
- ja, at ' er hvordan du ville gjort det. En annen tilfeldig tanke, du kan bruke firesifrede SIC-koder, eller du kan også prøve 3-sifrede sic-koder (f.eks. Generere en ny variabel SIC3 ved å ta den firesifrede koden, dele med 10 og hoppe av resten med gulv () -funksjonen, dvs.
gen sic3 = floor(sic4/10)
). - Takk for ditt snille og hjelpsomme svar. Vennlig hilsen Milica
Svar
I denne sammenhengen er en fast effektregresjon (eller innenfor estimator) en metode for modellering med panel- eller langsdata. Denne estimatoren skiller ut gjennomsnittet av observasjonsenhetens variabler fra hver variabel:
For individer $ i \ i 1 \ prikker N $, observert i perioder $ 1 \ prikker T $, og samvarierer $ X_k $ og avhengig variabel $ Y $, beregner den faste effekten estimatoren følgende transformasjon:
$ \ breve {Y} _ {it} = Y_ {it } – \ bar {Y} _i $ og
$ \ breve {X} _ {kit} = X_ {kit} – \ bar {X} _ {ki} $ for $ k = 1 \ prikker K $
Regresjonen utføres på de transformerte variablene. I stata implementeres dette ved hjelp av xtreg
-kommandoen med fe
alternativ.
Denne kommandoen vil sannsynligvis ikke fungere i din situasjon, siden den er designet for å skille ut gjennomsnitt for hver observasjonsenhet. Det er sannsynlig at du vil ha flere selskaper som opererer i en bestemt bransje, og du vil skille ut bransjens gjennomsnitt. Dette er et enkelt tilfelle av en hierarkisk lineær modell.
I dette situasjon, vil du bruke operatøren i.
i Stata:
reg y i.industry i.year
Du kan også bruke areg
kommando for å få identiske resultater:
areg y i.year, absorb(industry)
areg
kommandoen nyttig når antall nivåer av den absorberte variabelen (antall bransjer i dette eksemplet) er høyt.
Hvis det stemmer at det er flere selskaper innen samme bransje som jeg mistenker å være tilfelle, da er det en vanlig praksis, som er god fornuft og støttes asymptotisk, for å samle standardfeilene dine på bransjenivå. I stata oppnås dette vanligvis med alternativet vce(cluster varname)
.Så for eksempel vil regress
-kommandoen bli
reg y i.industry i.year, vce(cluster industry)
På et lignende notat har en ganske nylig utvikling blitt laget i å konstruere toveis og flerveis klynge robuste standardfeil (Se for eksempel Cameron, Gelbach og Miller 2011-papir i Journal of Business and Economic Statistics ). bekymret for sjokk som påvirker hele aksjesettet i en gitt tidsperiode, kan dette være verdt å implementere. Doug Miller skrev en .ado-fil kalt cgm.ado som implementerer en metode for flerveisklynging.
Kommentarer
- Jeg vil også foreslå å gruppere feilene hvis denne tilnærmingen følges.
- At ' stemmer. Jeg tenkte å legge til dette forslaget, men avsto som kanskje utenfor omfanget. Jeg ' vil legge det til.
- I ' Jeg sliter med å se hvordan xtreg, fe i det hele tatt er upassende siden
reg y x i.industry i.year, vce(cluster industry)
vil generere identiske estimater for x somxtset industry
etterfulgt avxtreg y x i.year, vce(robust)
. Å inkludere dummies eller nedverdigende basert på id er nøyaktig det samme fra et matematisk, lineært algebraperspektiv. Faktisk, for et stort antall dummyvariabler, vil xtreg beregne raskere fordi 10000 faste effekter + 2 variabler av interesse vil innebære å løse et 10002 variabelt system mens det bare vil være et 2-variabelt system på de transformerte dataene. - @MatthewGunn Jeg er enig med deg i tilfelle at industrien er en observasjonsenhet som blir observert over tid. Men når det er flere observasjonsenheter (bedrifter) per bransje, må den typiske FE-diskusjonen og
xtreg .., fe
justeres. Å kjørextset
i et slikt tilfelle resulterer i en feil .: " gjentatte tidsverdier i panelet. " - du kan ha flere firmaer per bransje. At ' er greit, bare ikke ' t set tsset too.