Partiële correlatie is vergelijkbaar met een gecontroleerd effect in regressies. Dus ik dacht: laten we eens kijken naar de gestandaardiseerde bèta's. Wel: die geven niet precies hetzelfde resultaat. De manier om met een regressie de partiële correlatie te bekomen staat uitgelegd op deze pagina:
http://faculty.chass.ncsu.edu/garson/PA765/partialr.htm (zie 'residual method')
De gestandaardiseerde bèta's hebben meer gemeen met de semi-partiële of 'part' correlatie. Dit staat op de volgende pagina met handen en voeten uitgelegd:
http://luna.cas.usf.edu/~mbrannic/files/regression/Partial.html
Praktische werkwijze voor de part correlatie:
http://www.education.umd.edu/EDMS/fac/Hancock/Course_Materials/EDMS651/15.EDMS651partialcorr.pdf
dinsdag 29 september 2009
vrijdag 25 september 2009
Dummy codering: macro voor SPSS
Om het gesukkel met REGRESSION wat te verlichten, hier een macro voor simple dummy coding van de variabele 'orgvar' met 3 levels. Je zal nu drie variabelen krijgen:
orgvar1 = 1 als orgvar = 1, anders 0
orgvar2 = 1 als orgvar = 2, anders 0
orgvar3 = 1 als orgvar = 3, anders 0
DEFINE macrodummycoding
(orig=!CHAREND('/')
/values=!CHAREND('/')).
!DO !x !IN (!values)
DO IF !orig = !x.
COMPUTE !CONCAT(!orig,!x) = 1.
ELSE IF missing(!orig) = 1.
COMPUTE !CONCAT(!orig,!x) = $SYSMIS.
ELSE.
COMPUTE !CONCAT(!orig,!x) = 0.
END IF.
!DOEND
EXECUTE.
!ENDDEFINE.
macrodummycoding
orig = orgvar /
values = 1 2 3/.
Voor wie het wil geloven. Het kan sneller en gemakkelijker met Stata.
orgvar1 = 1 als orgvar = 1, anders 0
orgvar2 = 1 als orgvar = 2, anders 0
orgvar3 = 1 als orgvar = 3, anders 0
DEFINE macrodummycoding
(orig=!CHAREND('/')
/values=!CHAREND('/')).
!DO !x !IN (!values)
DO IF !orig = !x.
COMPUTE !CONCAT(!orig,!x) = 1.
ELSE IF missing(!orig) = 1.
COMPUTE !CONCAT(!orig,!x) = $SYSMIS.
ELSE.
COMPUTE !CONCAT(!orig,!x) = 0.
END IF.
!DOEND
EXECUTE.
!ENDDEFINE.
macrodummycoding
orig = orgvar /
values = 1 2 3/.
Voor wie het wil geloven. Het kan sneller en gemakkelijker met Stata.
maandag 21 september 2009
REGRESSION vs GENLIN
REGRESSION
Pro
OLS
Durbin-Watson
Contra
Manueel interactie-effecten en dummies construeren
Durbin-Watson haalt niets uit bij paneldata
GENLIN
Pro
Interactie-effecten in het model te specificeren
Factorvariabelen worden via simple coding in dummies omgezet
Voor die dummies krijg je dan meteen een ANOVA toets (handug!)
Contra
Niet zo simpel
ML is niet de standaardschatting, je moet dit instellen
(Scale)-variabele is nogal mysterieus
Niet gericht op het verklaren van de variantie
Geen R² (zie recentere post voor een oplossing)
Geen pseudo-R² (cf. logistische regressie)
Pro
OLS
Durbin-Watson
Contra
Manueel interactie-effecten en dummies construeren
Durbin-Watson haalt niets uit bij paneldata
GENLIN
Pro
Interactie-effecten in het model te specificeren
Factorvariabelen worden via simple coding in dummies omgezet
Voor die dummies krijg je dan meteen een ANOVA toets (handug!)
Contra
Niet zo simpel
ML is niet de standaardschatting, je moet dit instellen
(Scale)-variabele is nogal mysterieus
Niet gericht op het verklaren van de variantie
Geen R² (zie recentere post voor een oplossing)
Geen pseudo-R² (cf. logistische regressie)
zondag 20 september 2009
Kookboek statistiek
De mensen van UCLA hebben een walk through voor de REGRESSION proc in SPSS (en Stata en SAS) gemaakt. Extreem handig is het hoofdstuk Regression Diagnostics. Ze leggen uit hoe je de assumpties toetst:
- Outliers en hun leverage (invloed op de coëfficiënten)
- Homoskedasticiteit
- Lineariteit: Q-Q plot, skewness, kurtosis
- Onafhankelijkheid van de waarnemingen (vs autocorrelatie): Durbin-Watson test
Normaliseren
Natuurlijk kun je logaritmeren, kwadrateren, etc. Maar ik vroeg me af wat je nu best doet als je een verdeling hebt met een te hoge kurtosis en een skewness van 0. Volgens mij zal een het logaritmeren enkel de rechtse scheefheid oplossen.
Ik ben het nog nooit tegengekomen, maar volgende formule is misschien een experiment waard:
x --> x'
x' = ((x - Ex)^2)^(1/4) * x/(x^2)^(1/2) + Ex
Waar je achtereenvolgens centreert (-Ex, gemiddelde van x), de afwijking absoluut maakt door te kwadrateren, deze vermindert door er tegelijk de 4de wortel van te nemen (je zou nu ook kunnen logaritmeren), opnieuw het gepaste teken geeft door te vermenigvuldigen met de ratio van x en z'n absolute waarde en dan decentreert door er weer het gemiddelde bij te tellen.
Dit zou de verdeling leptokurtischer moeten maken.
Ik ben het nog nooit tegengekomen, maar volgende formule is misschien een experiment waard:
x --> x'
x' = ((x - Ex)^2)^(1/4) * x/(x^2)^(1/2) + Ex
Waar je achtereenvolgens centreert (-Ex, gemiddelde van x), de afwijking absoluut maakt door te kwadrateren, deze vermindert door er tegelijk de 4de wortel van te nemen (je zou nu ook kunnen logaritmeren), opnieuw het gepaste teken geeft door te vermenigvuldigen met de ratio van x en z'n absolute waarde en dan decentreert door er weer het gemiddelde bij te tellen.
Dit zou de verdeling leptokurtischer moeten maken.
vrijdag 18 september 2009
Autocorrelatie
Geüpdatet op 8 januari 2014 maar nog steeds niet goed. Sorry! Investeer in een goed boek.
Autocorrelatie is een schending van de OLS assumpties ('spherical error variance'). De schatting van de coëfficiënten zelf is unbiased, maar de variantie van de schatter (standaardfout en dus significantie) zal worden onderschat.
Voorwaarden voor het ontbreken van autocorrelatie:
d > bovenlimiet
4-d > onderlimiet
SORT CASES BY PC_recon_select. SPLIT FILE LAYERED BY PC_recon_select.
REGRESSION
/DESCRIPTIVES MEAN STDDEV CORR SIG N
/MISSING LISTWISE
/STATISTICS COEFF OUTS BCOV R ANOVA
/CRITERIA=PIN(.05) POUT(.10)
/DEPENDENT drift_yoy
/METHOD=ENTER RSZ_jaar
/RESIDUALS DURBIN HIST(ZRESID)
/SAVE RESID(Cres).
DO IF RSZ_jaar > 1997.
COMPUTE teller = (Cres - lag(Cres,1))**2.
COMPUTE noemer = Cres**2.
END IF.
EXECUTE.
USE ALL.
SPLIT FILE OFF.
DESCRIPTIVES VARIABLES=teller noemer
/STATISTICS=MEAN SUM STDDEV MIN MAX.
Voor sterkere correlatie (higher order: langere lags) en wanneer een van de onafhankelijke variabelen een lag van de afhankelijke is, gebruikt men de Breusch–Godfrey test.
[...]
This involves an auxiliary regression, wherein the residuals obtained from estimating the model of interest are regressed on (a) the original regressors and (b) k lags of the residuals, where k is the order of the test. The simplest version of the test statistic from this auxiliary regression is TR2, where T is the sample size and R2 is the coefficient of determination. Under the null hypothesis of no autocorrelation, this statistic is asymptotically distributed as ?2 with k degrees of freedom.
...
F. Hayashi (2000), Econometrics, §1.1 p. 11
Definitie
Autocorrelatie betekent dat de residuen (in een tijdsreeks) van een eenheid met elkaar gecorreleerd zijn. Dit kan bijvoorbeeld voor de hand liggen tussen twee opeenvolgende periodes. Meet men bijvoorbeeld oogstvolumes per kwartaal, dan zal een lag van 4 kwartalen (seizoen op seizoen) een sterkere correlatie opleveren. Men spreekt ook van seriële correlatie.Autocorrelatie is een schending van de OLS assumpties ('spherical error variance'). De schatting van de coëfficiënten zelf is unbiased, maar de variantie van de schatter (standaardfout en dus significantie) zal worden onderschat.
Tests
De meest gebruikelijke test is de Durbin-Watson test. Dit is op te vragen bij een lineaire regressie. De waarde van D-W ligt steeds tussen 0 en 4, en idealiter op 2. Afwijkingen zijn een teken aan de wand dat er iets loos is. Op wikipedia vindt je een beschouwing van de kritische waarden voor d, waar de onder- en bovenlimieten iets anders geïnterpreteerd moeten worden dan bij een gewoon betrouwbaarheidsinterval.Voorwaarden voor het ontbreken van autocorrelatie:
d > bovenlimiet
4-d > onderlimiet
In SPSS
Voor zover ik weet moet men bij paneldata de test zelf maken, door voor elke eenheid een aparte analyse te maken en de residuen te bewaren. In dit geval is d niet gewoon het gemiddelde van de verschillende d's, maar de ratio van de som van de teller van alle d's en de som van de noemer van alle d's. Ik vind dat niet praktisch, maar soit. In onderstaand voorbeeld is PC_recon_select de ID-variabele, en RSZ_jaar de (enige) regressor.SORT CASES BY PC_recon_select. SPLIT FILE LAYERED BY PC_recon_select.
REGRESSION
/DESCRIPTIVES MEAN STDDEV CORR SIG N
/MISSING LISTWISE
/STATISTICS COEFF OUTS BCOV R ANOVA
/CRITERIA=PIN(.05) POUT(.10)
/DEPENDENT drift_yoy
/METHOD=ENTER RSZ_jaar
/RESIDUALS DURBIN HIST(ZRESID)
/SAVE RESID(Cres).
DO IF RSZ_jaar > 1997.
COMPUTE teller = (Cres - lag(Cres,1))**2.
COMPUTE noemer = Cres**2.
END IF.
EXECUTE.
USE ALL.
SPLIT FILE OFF.
DESCRIPTIVES VARIABLES=teller noemer
/STATISTICS=MEAN SUM STDDEV MIN MAX.
Voor sterkere correlatie (higher order: langere lags) en wanneer een van de onafhankelijke variabelen een lag van de afhankelijke is, gebruikt men de Breusch–Godfrey test.
[...]
This involves an auxiliary regression, wherein the residuals obtained from estimating the model of interest are regressed on (a) the original regressors and (b) k lags of the residuals, where k is the order of the test. The simplest version of the test statistic from this auxiliary regression is TR2, where T is the sample size and R2 is the coefficient of determination. Under the null hypothesis of no autocorrelation, this statistic is asymptotically distributed as ?2 with k degrees of freedom.
Oplossing
De assumptie van 'spherical error variance' is niet noodzakelijk bij minder restrictieve schattingen dan OLS. Ook kan de standaardfout gecorrigeerd worden.- Generalized least squares
- Newey–West standard errors
Context
Loonvorming...
Referenties
Wikipedia - AutocorrelationF. Hayashi (2000), Econometrics, §1.1 p. 11
donderdag 17 september 2009
Effect dummy codering
vier sectoren, referentiesector D
Normale dummy codering
d1 sector A = 1, sector B, C, D = 0
d2 sector B = 1, sector A, C, D = 0
d3 sector C = 1, sector A, B, C = 0
intercept = verwachte waarde sector D, te vermeerderen met d1, d2 of d3 voor sector A, B of C
Effect dummy codering
d1 sector A = 1, sector B, C = 0, sector D = -1
d2 sector B = 1, sector A, C = 0, sector D = -1
d3 sector C = 1, sector A, B = 0, sector D = -1
intercept = (ongewogen) verwachte waarde (het gemiddelde van de verwachte waardes in de vier sectoren), te vermeerderen met d1, d2 of d3 voor sector A, B of C, te verminderen met d1, d2 én d3 voor sector D
Effect dummy codering drukt dus uit in welke mate een sector afwijkt van "de norm", niet van een concrete categorie.
Context
Project loonvorming: we willen weten of de werkloosheidselasticiteit van de lonen varieert tussen de paritaire comités. Effect dummy codering geeft een eigen betekenis aan de coëfficiënt van de werkloosheid.
Referenties
West et al. (1996) [titel...]
http://www.ats.ucla.edu/stat/mult_pkg/faq/general/effect.htm
Normale dummy codering
d1 sector A = 1, sector B, C, D = 0
d2 sector B = 1, sector A, C, D = 0
d3 sector C = 1, sector A, B, C = 0
intercept = verwachte waarde sector D, te vermeerderen met d1, d2 of d3 voor sector A, B of C
Effect dummy codering
d1 sector A = 1, sector B, C = 0, sector D = -1
d2 sector B = 1, sector A, C = 0, sector D = -1
d3 sector C = 1, sector A, B = 0, sector D = -1
intercept = (ongewogen) verwachte waarde (het gemiddelde van de verwachte waardes in de vier sectoren), te vermeerderen met d1, d2 of d3 voor sector A, B of C, te verminderen met d1, d2 én d3 voor sector D
Effect dummy codering drukt dus uit in welke mate een sector afwijkt van "de norm", niet van een concrete categorie.
Context
Project loonvorming: we willen weten of de werkloosheidselasticiteit van de lonen varieert tussen de paritaire comités. Effect dummy codering geeft een eigen betekenis aan de coëfficiënt van de werkloosheid.
Referenties
West et al. (1996) [titel...]
http://www.ats.ucla.edu/stat/mult_pkg/faq/general/effect.htm
dinsdag 15 september 2009
Elasticiteiten
LaTeX using MathJax.
Update na aanpassing taal & structuur en revisie door Bart Capeau. Zijn bijdrage bevat trouwens evenveel wijsheid in minder woorden.
Probleem
Sommige gewoontes hebben we eenvoudigweg overgenomen. Als een leek dan interesse toont, is een verklaring meestal half zo gestructureerd als zijn vraag. Het meten van elasticiteiten door variabelen als logaritme te formuleren getuigt van zo'n bedrieglijke eenvoud.
Uitleg
Voor het meten van de Wage Curve hebben we het loon gelinkt aan de werkloosheid. Lineair ziet zo'n functie eruit als volgt:
$$ W = A + bU $$Met loon W, intercept A, werkloosheid U en coëfficiënt b. Stel nu dat we deze oefening maken in 87 landen, en we beschikken niet over een systeem om de lonen in prijspeilpariteiten uit te drukken. In dat geval hebben we nood aan een dimensieloze coëfficiënt b. Dat kan door te standaardiseren, maar we willen liever nog een stap verder gaan en uitdrukken hoe de relatieve verandering in één variabele zich verhoudt tot de relatieve verandering in een andere. Dat is niet zo'n exotische vraag als het lijkt, enkele voorbeelden:
- Als de kans op winst verdubbelt, hoeveel procent meer mensen zullen dan op de lotto spelen?
- Als je een bonus krijgt van een kwart van je inkomen, hoeveel meer auto's komen er dan in je garage staan?
De gepaste econometrische oplossing voor het meten van puntelasticiteiten is het nemen van de log van de afhankelijke variabele en de onafhankelijke variabele waarvan je de elasticiteit wil berekenen. Controlevariabelen mogen in elke vorm verkeren. In het voorbeeld hieronder is er slechts één variabele aan de rechterzijde van de vergelijking, namelijk de werkloosheid U.
$$ \ln(W) = A + d \ln U $$
Laten we dit eens exponentiëren:
$$ W = \exp(A + d\ln U ) $$
Zo krijgen we een uitdrukking met factoren:
$$ W = \exp(A) \exp(d \ln U) $$
$$ W = \exp(A) \exp(d)^{\ln U} $$
Hier staat dat een vermeerdering van de werkloosheid met 1 log (dit is factor e ~ 2.72) een verandering in het loon met factor $ \exp(d) $ teweeg brengt. Een andere uitdrukking is:
$$ W = \exp(A) U^d $$
Bijgevolg is de verandering in W gelijk aan
$$ \frac{W'}{W} = \left(\frac{U'}{U}\right)^d $$
We zullen nu aantonen dat $d$ de puntelasticiteit is. Definiëren we daartoe de boogelasticiteit BE:
$$ \begin{aligned} BE & = \frac{\frac{W'-W}{W}} {\frac{U'-U}{U}} \\
& = \frac{\frac{W'}{W}-1} {\frac{U'}{U}-1} \\
& = \frac{\left(\frac{U'}{U}\right)^{d}-1} {\frac{U'}{U}-1}
\end{aligned} $$
Als het verschil in U zeer klein is, delen we door nul. Een gewone rekenmachine kan dit niet bereken, maar we vertrouwen de stelling van L'Hopital dat in zo'n limietgeval de oplossing gelijk is aan de ratio van de afgeleides van tellen en noemer. Bij de teller is dit $d$, bij de noemer 1. De puntelasticiteit is dus $d$.
Context
Project Loonvorming: naast het verklaren van de loondrift onderzoeken we in welke mate economische schokken (i.c. werkloosheid) de loonvorming beïnvloeden. Volgens Blanchflower & Oswald is er een quasi universele 'wage curve' die gekenmerkt wordt door een werkloosheidselasticiteit van het loon van -0.10. We onderzoeken of hier variatie in bestaat naargelang de paritaire comités.Referenties
Nijkamp & Poot (2005) 'Last word on the Wage Curve'Samuel L Baker - Non linear regression
Bijdrage-van-Bart
maandag 7 september 2009
ANOVA of T-Test?
Er is geen verschil tussen een ONEWAY ANOVA en T-test. De F-toets die door de variantieanalyse gebruikt wordt is een gekwadrateerde t-toets. In SPSS kan je dus steeds ONEWAY gebruiken, ter vervanging van de independent samples t-test of de ANOVA test bij MEANS. Je kan subgroepen vergelijken via post hoc tests.
Ook met het General Linear Model kan je ONEWAY vervangen, maar dit is complexer. Het komt erop neer dat bij een bepaalde assumptie van de storingsterm een maximum likelihood schatting dezelfde resultaten geeft als een kleinste kwadratenschatting.
Ook met het General Linear Model kan je ONEWAY vervangen, maar dit is complexer. Het komt erop neer dat bij een bepaalde assumptie van de storingsterm een maximum likelihood schatting dezelfde resultaten geeft als een kleinste kwadratenschatting.
donderdag 3 september 2009
Correlatie- en regressiecoëfficiënten
Verband
Pearson Correlatie = bèta-coëfficiënt (bivariaat model mét intercept)
Pearson Correlatie
r = S(x,y) / S(x)*S(y)
Vraag
Waarom is een betacoëfficiënt niet gelijk bij een model met of zonder intercept?
Pearson Correlatie = bèta-coëfficiënt (bivariaat model mét intercept)
Pearson Correlatie
r = S(x,y) / S(x)*S(y)
Vraag
Waarom is een betacoëfficiënt niet gelijk bij een model met of zonder intercept?
Abonneren op:
Posts (Atom)