vrijdag 25 juni 2010

Germán Rodríguez, Office of Population Research, Princeton University

http://data.princeton.edu/stata/

Een geweldige site, met informatie over General Linear Models, Mixed Models, Stata en R.

woensdag 23 juni 2010

Multilevel analyse

Er is al veel te veel over multilevel analyse geschreven, vandaar een selectie van termen die voor mij nuttig zijn/waren:

Fixed vs random effects
  • Fixed effects: interindividuele effecten
  • Random effects: individuele effecten
Random effecten laten toe dat een bepaalde parameter voor elke eenheid verschilt, waardoor de overige parameters "onafhankelijk" van deze parameter geschat worden.

Voor intercepts is dit heel nuttig: een relatie kan voor elke L2 case gelijk zijn, maar om tal van andere redenen kan het intercept variëren. Een random effect intercept only model toont a.d.h.v. de variantie rond dit intercept (variance components), hoeveel variantie op level 2 bestaat, en dus door variabelen op dat niveau moet worden wegverklaard.

Andere parameters (slopes) kunnen ook op random gezet worden om na te gaan of er nood is aan het inbrengen van verklarende variabelen op level 2 die interageren met slope.

Bij wijze van voorbeeld deze grafiek met data voor acht fictieve landen op een fictieve Y-variabele tussen het jaar 2 en het jaar 12. De groeivoet van Y is zo geconstrueerd dat deze steeds 3% is.

Het belang zit 'm in het verschil tussen de oranje en de rode fitted line. De rode lijn volgt exact de helling van elk land. In dit geval is het gemiddelde van de trends gelijk aan de gemiddelde trend. De oranje trendlijn is gebaseerd op een steekproef uit alle punten (in het groen gemarkeerd): elk land behoudt dezelfde trend, maar hier en daar vallen er cases weg. Door het intercept te randomiseren, zou je ook deze lijn correct inschatten.



Intraclass correlatie
Betekenis: het deel van de variantie dat door groepsverschillen wordt verklaard.

Rho = sigma2(u)/som(sigma2u,sigma2res)

De sigma's worden geschat met een intercept only model (xtreg, xtmixed, anova, ... ). Vergeet niet de sigma's te kwadrateren. Voor Bernouilli-schattingen wordt een andere schatter gebruikt 

wiki: http://en.wikipedia.org/wiki/Intraclass_correlation


Three level vs cross classification

Wanneer een case tot twee niet geneste groepen behoort (vb. land en sector of vakbond en voetbalclub), spreekt men van cross classification op het tweede niveau. Termen als non hierarchical of non nested worden hier ook voor gebruikt.

Er is een kleine omweg voor de case sector en land. Als je verondersteld dat sector een landspecifiek effect heeft, dan kan je de sectoren hernoemen zodat bouw-land A verschilt van bouw-land B. Wat je dan niet onderzoekt is de algemene impact van de bouwsector, maar wel de sectorale impact binnen een land versus de internationale verschillen op level 3.

Interessant, hé.

Links

dinsdag 15 juni 2010

Estout

Stata is rampzalig om gebruiksklare output te leveren. Wie toch wil sukkelen, of bij gebrek aan beter, kan de Estout add on installeren:

findit estout


Je moet een stuk naar beneden om de installatiefile met een rare code te vinden.

Maar dan loopt het wel lekker, informatie bij de vleet:

esttab

de collectie est-ado's is uitgebreid, maar in de praktijk zijn we eigenlijk niet geïnteresseerd om Stata te gebruiken voor de opmaak van tabellen. Het is immers een ergerlijk programma op dat vlak: nu eens gaat het niet, dan weer wel ... Wat je eigenlijk wil zijn de meest simpele, onopgemaakte tabellen waar men bij de redactie nog alles mee kan aanvangen. Daarom gebruik ik:

esttab, plain wide

dankzij plain zien we geen irritante kadertjes, en dankzij wide staan de t-waarden nààst i.p.v. onder de bèta's. Waar de vrijheidsgraden of p-waarden gebleven zijn, weet ik niet, jammer genoeg. Doorgaans is t ~ z door een hoge n, en heb je die vrijheidsgraden niet nodig om de significantie te benaderen, maar we zitter er natuurlijk altijd liever klop op.

Voorbeeld

eststo clear
sysuse auto
eststo: quietly regress price weight mpg
eststo: quietly regress price weight mpg foreign
esttab, plain wide


... simpel (let op quietly)



Nog een nieuwtje: Stata 11.1 heeft nu ook estimation formatting. Mooi zo!


Links
http://gettinggeneticsdone.blogspot.com/2009/06/make-pretty-regression-tables-in-stata.html

Carolina Population Center

Stata heeft de beste documentatie, maar niettemin moet die de volledigheid laten voorgaan op een user-centered approach. Surf daarom naar:

http://www.cpc.unc.edu/research/tools/data_analysis/statatutorial

... een héél didactische collectie tips voor Stata.

Ik apprecieer:

Stata weights

Opnieuw iets bijgeleerd over Stata waar de gemiddelde SPSS-gebruiker niet van wakker lag: gewichten. Ik had het er al eerder over (hier). Nu blijkt dat je tóch een robuuste schatting van de standaardfouten kunt bekomen.

Even overlopen:

  • pweight : doorgaans de beste keuze voor samples die herwogen zijn. Een grote waarde betekent ondervertegenwoordiging en dus een onnauwkeurige schatting. De case zal een groter belang krijgen in het berekenen van de gezochte parameters, maar de fout zal vergroten. (vb. project wage gap, decompositie)
  • aweight : wanneer waarden voor een case gemiddeldes zijn: een groot gewicht betekent een meer nauwkeurige schatting. De case zal enerzijds een groter belang kijgen, en daarnaast zal de fout kleiner worden. (vb. project loonvorming)
  • fweight : te gebruiken wanneer de case in feite meermaals voorkomt, maar de frequencies gecollapsed zijn (vb. datalevering Eurostat voor project Walqing)
  • iweight : don't bother

Threefold decomposition

Ik heb niet erg veel tijd, dus bij wijze van nota:

De decompositiemethode, met als z'n goede en kwade kanten, heeft een aantal nevenvormen. Gewoonlijk, en liefst, gebruik ik de twofold- of omegamethode. Hier bepaal je de referentiegroep voor de coëfficiënten, eventueel via gewichten.

Een andere methode is threefold, waarbij dezelfde groep de geïsoleerde bèta en gemiddelde waarde heeft. Dit heeft het voordeel dat het gemakkelijker te plotten is (zie presentatie). Het nadeel is dat er een restterm is die men CE of CxE noemt, en die interacties aangeeft. Helaas paashaas, die term is nauwelijks op een zinvolle manier te interpreteren.

Decompositie met Stata

Indertijd heb ik een macro geschreven voor SPSS, waarmee de Cotton, Reimers, Neumark & de twee Oaxaca-Blinder decomposities kunnen berekend en gebootstrapt worden. Achteraf bekeken zot werk.

Het probleem met die macro is dat je zijn regels moet volgen, en dat vraagt veel aanpassingen aan de dataset en input voor de macro. In Stata bestaan twee gelijkaardige commando's die deze klus in één lijn klaren. Het enige nadeel is dat ze elk unieke eigenschappen hebben die we helaas niet kunnen samennemen.

De commando's zijn oaxaca en nldecompose. Laat je niet afschrikken door die laatste: nl staat voor niet lineair, maar eigenlijk is het gewoon een uitbreiding van (bijna) alle regressies die Stata heeft, waaronder ook de normale regress.

Wat zijn de voor- en nadelen:

  • oaxaca is erg to the point, maar lineair. Het voordeel is dat je het detail van een decompositie kunt opvragen (verklaring per (set van) verklarende variabelen), het nadeel is dat je de Cotton en Reimers specificatie niet kunt aannemen. Er is enkel: threefold, Neumark, Oaxaca 1 & 2.
  • nldecompose is zoals gezegd multifunctioneel, maar heeft het nadeel dat je het detail niet kan opvragen.
Voor iemand zoals ik, die dus graag het detail van de Cotton specificatie te zien zou krijgen, is er geen oplossing. Jammer.

vrijdag 4 juni 2010

Software kiezen

Er is altijd veel heisa rond het gebruik van statistische programma's. Ik ben geen expert in die materie, maar heb met enkele pakketten ervaring en dit is mijn indruk:
  • SAS
    • Voordelen
      • is bedoeld voor serieuze mensen, maken geen software om een jaar later weer te updaten
      • kan goed overweg met grote datasets: mijn indruk: het is het enige programma dat dit kan
      • wordt gebruikt in de privésector
    • Nadelen
      • moeilijke taal
      • duur
      • stug in het gebruik (vb. vervelend om telkens alle DATA commando's in te geven)
    • Persoonlijk
      • ik gebruikte het niet veel en heb de licentie niet vernieuwd
  • SPSS
    • Voordelen
      • ziet er simpel uit
      • toch bijna alle statistische mogelijkhede
      • ik vind OMS een handige functie
      • Python 
    • Nadelen
      • crasht
      • géén user-base
      • slechte troubleshooting
      • bijna zoveel updates als windows
      • duur, laat zich verkopen in verschillende pakketten, maar je weet eigenlijk nooit of en wanneer je die nodig zal hebben
    • Persoonlijk
      • ik ken het redelijk goed en gebruik het heel vaak
      • voor het construeren van variabelen is het erg gemakkelijk
      • voor het werken met grote datasets: het is mogelijk
  • STATA
    • Voordelen
      • de code is erg esthetisch
      • het programma is solide
      • de documentatie is uitmuntend
      • de user base actief
      • de mogelijkheden uitgebreid
      • goedkoop, open source
      • grafische aspecten zijn logisch
      • werkt op alle OS
    • Nadelen
      • werkt met slechts één dataset
      • ingewikkelder dan SPSS
      • output in excel krijgen blijft een groot probleem, alle plugins ten spijt
      • kan niét overweg met gigantische datasets (>RAM), kan afhankelijk van het OS wel of niet overweg met grote datasets
    • Persoonlijk
      • ik geeft het een kans
  • GRETL
    • Voordelen
      • gratis, open source, R based
      • goed voor longitudinaal onderzoek en kwantielregressie
    • Nadelen
      • beperkte mogelijkheden
      • crashes
      • povere output
    • Persoonlijk
      • ik gebruik nu eerder STATA
  • R
    • Voordelen
      • gratis, open source
      • compleet
    • Nadelen
      • ingewikkeld
    • Persoonlijk
      • nooit iets van begrepen
  • HLM
    • Voordelen
      • gebruiksvriendelijk
      • gespecialiseerd
    • Nadelen
      • niets
    • Persoonlijk
      • lang geleden
      • enkel nodig voor ML binary logistic
Links



    woensdag 2 juni 2010

    Gewogen data

    Context
    Je hebt je data gewogen, omwille van een overselectie van bepaalde kleine groepen of omwille van een onderselectie door een slecht design. Kan gebeuren.

    Vraag
    Wat voor analyses kan ik nog uitvoeren? Zal de weging mijn standaardfouten beïnvloeden? Zijn de coëfficiënten juist als ik niet weeg?

    Antwoord
    Ik heb mij slechts over twee methodes gebogen: regressies en chi²-toetsen. Mijn conclusie is dat wanneer een analyse zich op variantie baseert, wegen niet aanbevolen is. In het andere geval (chi²) wél. Even nuanceren:

    Bij regressie hoef je niet te wegen: het gaat om het effect van één variabele op een andere. Weging zou eventueel outliers nadrukkelijker het effect laten bepalen, en dat kan gewenst zijn: er was immers een onderschatting van een bepaalde groep. Neem je echter de variabelen waarop de weging gebaseerd is in je model op als interactieterm, dan heb je net hetzelfde resultaat, een correcter model én juiste standaardfouten. Met andere woorden: wegen is over het algemeen af te raden.

    Nadelen: misschien begrijp je niet veel meer van je coëfficiënten door alle interacties en het intercept only model geeft geen populatiegemiddelde (in het volledige model is het intercept een gecontrolleerd gemiddelde).

    Chi² is een ander geval: het gaat hier om een eenvoudigere statistiek. Je vergelijkt verwachte en geobserveerde celpercentages. Die celpercentages zullen preciezer zijn bij een gestratificeerde steekproef. Maar dan moet je wegen, anders kloppen de percentages gewoonweg niet. Voor het aantal vrijheidsgraden gebruik je de ongewogen n (of de gewogen n als het gewicht een gemiddelde heeft van 1), of het aantal categorieën als de test dit vereist.

    Wat t-testen betreft denk ik dat het onmogelijk is een correctie test uit te voeren: een t-test is niet anders dan een regressie waar niet voor andere variabelen gecontroleerd wordt. Dat is precies de voorwaarde om ongewogen data te mogen gebruiken. Je zou dus moeten wegen, maar dan verandert de variantie, die precies het betrouwbaarheidsinterval bepaalt. Stata heeft hiervoor speciale weegtechnieken.

    Links
    http://www.sociology.ohio-state.edu/ptv/faq/weights.htm
    http://www.dcs.napier.ac.uk/peas/errors.htm