Analyse av prediksjons- og residualverdier

Nedenfor vises det hvordan en henter ut prediksjons- og residualverdier for de ulike typene regresjonsanalyser. Det demonstreres bruk av histogram og hexbin for analyser av resultatene. Særlig histogram er en veldig nyttig kommando som kan brukes til å studere visuelt i hvilken grad residualene er normalfordelte. Men en kan i prinsippet benytte seg av alle tilgjengelige og relevante kommandoer for videre analyser.

require no.ssb.fdb:1 as fdb1
create-dataset ivtest
import fdb1/INNTEKT_WLONN 2013-05-05 as lønn
import fdb1/BEFOLKNING_FOEDSELS_AAR_MND as faarmnd
import fdb1/BEFOLKNING_KJOENN as kjønn
generate alder = 2013 - int(faarmnd /100)
drop if alder < 0
generate mann = 0
replace mann = 1 if kjønn == '1'
import fdb1/INNTEKT_BRUTTOFORM 2013-05-05 as formue

//regress
regress lønn alder mann formue
regress-predict lønn alder mann formue
histogram lønn
histogram predicted
hexbin predicted lønn
regress-predict lønn alder mann formue, residuals( res) predicted( pred) cooksd( cook)
regress-predict lønn alder mann, residuals( res2) predicted( pred2) cooksd( cook2)
histogram predicted
histogram pred
histogram res
histogram cook
histogram res2

//ivregress
ivregress lønn mann (formue = alder)
ivregress-predict lønn mann (formue = alder), residuals( res3) predicted( pred3) 
histogram pred3
histogram res3

//logit
generate høylønn = 0
replace høylønn = 1 if lønn > 600000
logit høylønn alder mann formue
logit-predict høylønn alder mann formue, residuals( res4) predicted( pred4) probabilities(prob4)
histogram pred4
histogram res4
histogram prob4

//probit
probit høylønn alder mann formue
probit-predict høylønn alder mann formue, predicted( pred5) probabilities(prob5)
histogram pred5
histogram prob5

//mlogit
generate lønnkat = 0
replace lønnkat = 1 if lønn > 0
replace lønnkat = 2 if lønn > 600000

mlogit lønnkat alder mann formue
mlogit-predict lønnkat alder mann formue, predicted( pred6) probabilities(prob6)
summarize pred6_1
histogram pred6_2
histogram prob6_1
histogram prob6_2

//regress-panel
clone-units ivtest panelpredict
sample 0.2 77777
use panelpredict
import-panel fdb1/INNTEKT_WLONN fdb1/BEFOLKNING_FOEDSELS_AAR_MND fdb1/BEFOLKNING_KJOENN fdb1/INNTEKT_BRUTTOFORM 2011-05-05 2012-05-05 2013-05-05
generate alder = 2013 - int(BEFOLKNING_FOEDSELS_AAR_MND/100)
generate mann = 0
replace mann = 1 if BEFOLKNING_KJOENN == '1'

regress-panel INNTEKT_WLONN mann alder INNTEKT_BRUTTOFORM
regress-panel INNTEKT_WLONN mann alder INNTEKT_BRUTTOFORM, re
regress-panel-predict INNTEKT_WLONN mann alder INNTEKT_BRUTTOFORM, predicted(ppred1) residuals(pres1) effects(peff1)
regress-panel-predict INNTEKT_WLONN mann alder INNTEKT_BRUTTOFORM, re predicted(ppred2) residuals(pres2) effects(peff2)
histogram ppred1
histogram pres1
histogram peff1
histogram ppred2
histogram pres2
histogram peff2
hausman INNTEKT_WLONN mann alder INNTEKT_BRUTTOFORM