Jeg håber nogen kan hjælpe mig, da jeg sidder fast med dette problem i nogen tid.
Jeg har et panel med S & P500-virksomheder fra 2010 – 2014, og jeg vil køre en regression inklusive branche- og årseffekter.
Jeg er nybegynder i paneldataanalyse og også Stata, og jeg kan ikke finde svaret hvor som helst. Jeg er så forvirret, at jeg ikke er sikker på, om faste og års faste effekter svarer til tværsnit og faste faste effekter.
Kommentarer
- Der ' sa dejligt papir i SJ om høje dimensionelle faste effekter, herunder gennemgang af andre kommandoer.
Svar
Lad os sige, at du har en eller anden kategorivariabel $ c_i $ (f.eks. C kan være branchefirmaet $ i $ er i). Et vigtigt matematisk punkt at huske på er, at køre en fast effektregression med faste effekter til $ c $ svarer til at køre en regelmæssig regression med indikatorvariabler for hver mulige værdi på $ c $.
En grundlæggende strategi kan være at:
- bruge
xtset industryvar
i Stata for at angive, at du vil have faste effekter for hver unikke værdi af industrivar. - Generer dummyvariabler for hvert år.
- Ring til
xtreg
medfe
mulighed for at angive faste effekter, inklusive dummy-variabler for året som variabler i højre side.
Mere eks plicit kan du muligvis gøre noget som:
xtset industry xtreg y x1 x2 i.year, fe
Dette antager, at year
er en variabel, der holder året, industry
er en variabel, der holder branchen osv …
Kommentarer
- Kære Matthew, tak så meget for dit nyttige svar. Jeg prøvede som du rådede i Stata, og jeg er tilfreds med det resultat, jeg får. Har du noget imod det, hvis jeg igen tjekker med dig – Jeg har 418 virksomheder fra S & P 500-indeks, over 5 år 2020 – 2014, og jeg har downloadet SIC-koder for hvert firma til kontrol med industrivirkninger. Således har jeg gjort: xtset sic; xtreg y x1 x2 x3 … i.år, fe Jeg undskylder på forhånd, hvis mit spørgsmål virker fjollet for dig, men jeg er en absolut nybegynder og har ikke nogen på min Uni, der kan hjælpe mig med Panel. Med venlig hilsen Milica
- ja, at ' hvordan du ville gøre det. En anden tilfældig tanke, du kan bruge 4-cifrede SIC-koder, eller du kan også prøve 3-cifrede sic-koder (f.eks. Generere en ny variabel SIC3 ved at tage den 4-cifrede kode, dividere med 10 og hoppe af resten med gulv () -funktionen, dvs.
gen sic3 = floor(sic4/10)
). - Tak for dit venlige og hjælpsomme svar. Med venlig hilsen Milica
Svar
I denne sammenhæng er en fast effektregression (eller inden for estimator) en metode til modellering med panel- eller længdedata. Denne estimator adskiller gennemsnittet af observationsenhedens variabler fra hver variabel:
For enkeltpersoner $ i \ i 1 \ prikker N $, observeret i perioder $ 1 \ prikker T $, og samvarierer $ X_k $ og afhængig variabel $ Y $, estimatoren med fast effekt udfører følgende transformation:
$ \ breve {Y} _ {it} = Y_ {it } – \ bar {Y} _i $ og
$ \ breve {X} _ {kit} = X_ {kit} – \ bar {X} _ {ki} $ for $ k = 1 \ prikker K $
Regressionen udføres på de transformerede variabler. I stata implementeres dette ved hjælp af xtreg
kommandoen med fe
mulighed.
Denne kommando fungerer sandsynligvis ikke i din situation, da den er designet til at adskille gennemsnittet for hver observationsenhed. Det er sandsynligt, at du har flere virksomheder, der opererer i en bestemt branche, og du ønsker at adskille branchens gennemsnit. Dette er et simpelt tilfælde af en hierarkisk lineær model.
I dette situation, du vil bruge operatoren i.
i Stata:
reg y i.industry i.year
Du kan også bruge areg
kommando for at få identiske resultater:
areg y i.year, absorb(industry)
Kommandoen areg
nyttigt, når antallet af niveauer af den absorberede variabel (antallet af industrier i dette eksempel) er højt.
Hvis det er rigtigt, at der er flere firmaer inden for samme branche, som jeg har mistanke om, så er det en almindelig praksis, som er god fornuft og understøttes asymptotisk, at klynge dine standardfejl på brancheniveau. I stata opnås dette typisk med indstillingen vce(cluster varname)
.Så for eksempel bliver din regress
kommando
reg y i.industry i.year, vce(cluster industry)
På en lignende note har en ret ny udvikling er lavet til konstruktion af tovejs og flervejs-klynge robuste standardfejl (Se for eksempel Cameron, Gelbach og Millers papir fra 2011 i Journal of Business and Economic Statistics ). bekymret over stød, der påvirker hele lagersættet i en given tidsperiode, kan det være værd at implementere. Doug Miller skrev en .ado-fil kaldet cgm.ado, der implementerer en metode til flervejsklynger.
Kommentarer
- Jeg vil også foreslå at gruppere fejlene, hvis denne tilgang følges.
- At ' er sandt. Jeg tænkte på at tilføje dette forslag, men afstod som måske uden for anvendelsesområdet. Jeg ' tilføjer det.
- I ' m kæmper for at se, hvordan xtreg, fe overhovedet er upassende, da
reg y x i.industry i.year, vce(cluster industry)
genererer identiske estimater for x somxtset industry
efterfulgt afxtreg y x i.year, vce(robust)
. Medtagelse af dummies eller nedværdigende baseret på id er nøjagtig det samme set fra et matematisk, lineært algebraperspektiv. Faktisk beregner xtreg for et stort antal dummyvariabler hurtigere, fordi 10000 faste effekter + 2 interessante variabler involverer løsning af et 10002 variabelt system, mens det kun ville være et 2-variabelt system på de transformerede data. - @MatthewGunn Jeg er enig med dig i det tilfælde, at industrien er en observationsenhed, der observeres over tid. Men når der er flere observationsenheder (firmaer) pr. Branche, skal den typiske FE-diskussion og
xtreg .., fe
justeres. Kørsel afxtset
i et sådant tilfælde resulterer i en fejl .: " gentagne tidsværdier i panelet. " - du kan have flere firmaer pr. branche. At ' er fint, skal du bare ikke ' også indstille tsset.