Ik hoop dat iemand me kan helpen, aangezien ik al geruime tijd met dit probleem vastzit.

Ik heb een panel van S & P500-bedrijven van 2010 – 2014 en ik wil een regressie uitvoeren, inclusief sector- en jaareffecten.

Ik ben een beginner in paneldata-analyse en ook Stata, en ik kan het antwoord nergens vinden. Ik ben zo in de war omdat ik niet zeker weet of industrie- en jaarvaste effecten gelijk zijn aan doorsnede- en periodevaste effecten.

Reacties

  • Daar ‘ sa leuk paper in SJ over hoog-dimensionale vaste effecten, inclusief een bespreking van andere opdrachten.

Antwoord

Stel dat u een categorievariabele $ c_i $ heeft (bijv. C kan het branchebedrijf $ i $ zijn). Een belangrijk wiskundig punt om in gedachten te houden is dat het uitvoeren van een regressie met vaste effecten met vaste effecten voor $ c $ is gelijk aan het uitvoeren van een regelmatige regressie met indicatorvariabelen voor elke mogelijke waarde van $ c $.

Een basisstrategie zou kunnen zijn:

  1. gebruik xtset industryvar in Stata om aan te geven dat u vaste effecten wilt voor elke unieke waarde van industryvar.
  2. Genereer dummy-variabelen voor elk jaar.
  3. Bel xtreg met de fe optie om vaste effecten aan te geven, inclusief de dummy-variabelen voor jaar als variabelen aan de rechterkant.

Meer ex je zou zoiets kunnen doen als:

xtset industry xtreg y x1 x2 i.year, fe 

Dit veronderstelt dat year een variabele is die het jaar bevat, industry is een variabele die de branche bevat enz …

Reacties

  • Beste Matthew, bedankt zo veel voor uw behulpzame antwoord. Ik heb het geprobeerd zoals je adviseerde in Stata, en ik ben blij met het resultaat dat ik krijg. Zou je het erg vinden als ik het nog een keer met je informeer – ik heb 418 bedrijven van S & P 500-index, over 5 jaar 2020 – 2014, en ik heb SIC-codes gedownload voor elk bedrijf naar controle voor industrie-effecten. Dus ik heb gedaan: xtset sic; xtreg y x1 x2 x3 … i. jaar, bijv. ik bied bij voorbaat mijn excuses aan als mijn vraag je belachelijk lijkt, maar ik ben een absolute beginner en er is niemand op mijn universiteit die me kan helpen met Panel. Met vriendelijke groet, Milica
  • ja, dat ‘ is hoe je dat zou doen. Een andere willekeurige gedachte, je zou 4-cijferige SIC-codes kunnen gebruiken of je zou ook 3-cijferige sic-codes kunnen proberen (bijv. Genereer een nieuwe variabele SIC3 door de 4-cijferige code te nemen, te delen door 10 en de rest af te snijden met de functie floor (), dwz gen sic3 = floor(sic4/10)).
  • Bedankt voor je vriendelijke en behulpzame antwoord. Met vriendelijke groet, Milica

Antwoord

In deze context is een regressie met een vast effect (of binnen de schatter) een methode voor het modelleren met paneel- of longitudinale gegevens. Deze schatter verschilt het gemiddelde van de variabelen van de observatie-eenheid van elke variabele:

Voor individuen $ i \ in 1 \ dots N $, waargenomen in perioden $ 1 \ dots T $, en covariaten $ X_k $ , en afhankelijke variabele $ Y $, voert de vaste-effectschatter de volgende transformatie uit:

$ \ breve {Y} _ {it} = Y_ {it } – \ bar {Y} _i $ en
$ \ breve {X} _ {kit} = X_ {kit} – \ bar {X} _ {ki} $ voor $ k = 1 \ dots K $

De regressie wordt uitgevoerd op de getransformeerde variabelen. In stata wordt dit geïmplementeerd met behulp van het xtreg commando met de fe optie.

Dit commando zal waarschijnlijk niet werken in jouw situatie, aangezien het ontworpen is om gemiddelden voor elke observatie-eenheid te onderscheiden. Het is waarschijnlijk dat je meerdere bedrijven die actief zijn in een bepaalde branche en u wilt zich onderscheiden van het branchegemiddelde. Dit is een eenvoudig geval van een hiërarchisch lineair model.

In dit situatie, wil je de i. operator in Stata gebruiken:

reg y i.industry i.year 

Je zou ook de areg commando om identieke resultaten te krijgen:

areg y i.year, absorb(industry) 

Het areg commando kan handig als het aantal niveaus van de geabsorbeerde variabele (het aantal bedrijfstakken in dit voorbeeld) hoog is.

Als het waar is dat er meerdere bedrijven binnen dezelfde bedrijfstak zijn waarvan ik vermoed dat dit het geval is, dan is het gebruikelijk, wat gezond is en asymptotisch wordt ondersteund, om uw standaardfouten op brancheniveau te clusteren. In stata wordt dit meestal bereikt met de optie vce(cluster varname).Uw regress -opdracht zou bijvoorbeeld worden

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

Op een vergelijkbare manier is er een vrij recente ontwikkeling gemaakt bij het construeren van robuuste standaardfouten voor tweerichtings- en meerwegclusters (zie bijvoorbeeld het artikel van Cameron, Gelbach en Miller uit 2011 in het Journal of Business and Economic Statistics ). bezorgd over schokken die de hele set aandelen in een bepaalde periode beïnvloeden, kan dit de moeite waard zijn om te implementeren. Doug Miller schreef een .ado-bestand met de naam cgm.ado dat één methode van multiway clustering implementeert.

Opmerkingen

  • Ik zou ook aanraden om de fouten te clusteren als deze aanpak wordt gevolgd.
  • Dat ‘ klopt. Ik dacht erover om deze suggestie toe te voegen, maar ik heb afgezien omdat het misschien buiten mijn bereik valt. Ik ‘ zal het toevoegen.
  • I ‘ Ik heb moeite om te zien hoe xtreg, fe helemaal ongepast is sinds reg y x i.industry i.year, vce(cluster industry) genereert identieke schattingen voor x als xtset industry gevolgd door xtreg y x i.year, vce(robust). Het opnemen van dummys of vernedering op basis van id is exact hetzelfde vanuit een wiskundig, lineair algebra-perspectief. In feite, voor grote aantallen dummy-variabelen, zal de xtreg sneller berekenen omdat 10000 vaste effecten + 2 relevante variabelen het oplossen van een 10002-variabelenstelsel zouden omvatten, terwijl het slechts een 2-variabelensysteem zou zijn voor de getransformeerde gegevens.
  • @MatthewGunn Ik ben het met je eens in het geval dat de industrie een observatie-eenheid is die in de loop van de tijd wordt waargenomen. Als er echter meerdere observatie-eenheden (bedrijven) per bedrijfstak zijn, moeten de typische FE-discussie en xtreg .., fe worden aangepast. Als u in een dergelijk geval xtset uitvoert, resulteert dit in een fout: ” herhaalde tijdwaarden binnen het paneel. ”
  • u kunt meerdere bedrijven per branche hebben. Dat ‘ is prima, stel ‘ tsset ook niet in.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *