• Nem Talált Eredményt

Gyakorlat: Gazdasági aktivitás: aktivitási ráták, az aktivitás valószín ségének logitbecslése

Gazdasági aktivitás: aktivitási ráták, az aktivitás valószín ségének logitbecslése

Az adatállomány beolvasása

use alfsx58 2006. 2. negyedév Aktivitás változó

sum aktiv

tab1 csoe csou tab1 - egydimenziós táblázatok tab csoe csou,sum(aktiv)

Nemenként, súlyozva tab sex, sum(aktiv)

tab sex [w=wei], sum(aktiv) számottev különbség a súlyozatlan rátákhoz képest - mi lehet az oka?

Életkor szerinti különbségek korcsoport változó

Ha még nincs ilyen do fájlunk, írjuk do fájlba a változót el állító parancsokat, hogy kés bb is tudjuk használni - korcsoport.do

korcsoport do eleje

capture drop korcs capture - a parancsot végrehajta, de az outputot - bele- értve a hibaüzenetet - nem mutatja, hiba esetén nem áll meg gen byte korcs = 0

replace korcs = 1 if kor > 14 replace korcs = 2 if kor > 19 replace korcs = 3 if kor > 24 replace korcs = 4 if kor > 29 replace korcs = 5 if kor > 39 replace korcs = 6 if kor > 49 replace korcs = 7 if kor > 59 replace korcs = 8 if kor > 69 replace korcs = 9 if kor > 74 label var korcs "Korcsoport"

capture label drop korcs

label define korcs 0 "0-14" 1 "15-19" 2 "20-24" 3 "25-29" ///

4 "30-39" 5 "40-49" 6 "50-59" 7 "60-69" 8 "70-74" 9 "75 vagy több"

három / karakter = a parancs folytatódik a következ sorban label values korcs korcs

korcsoport.do vége

Akitivitási ráták korcsoport és nemek szerint tab korcs sex [w=wei],sum(aktiv)

tab korcs sex [w=wei],sum(aktiv) nost nofr noobs ábrák

graph bar aktiv [w=wei] if sex==1 & a15==2,over(korcs) a15==2 - csak 15-74 évesek ábracímmel, feliratokkal, elmentve az ábrát

graph bar aktiv [w=wei] if sex==1 & a15==2,over(korcs) ///

t1("Férfiak") b1title("korcsoport") ytitle("aktívak aránya") ///

saving(akt_ffi, replace)

graph bar aktiv [w=wei] if sex==2 & a15==2,over(korcs) ///

t1("N k") b1title("korcsoport") ytitle("aktívak aránya") ///

saving(akt_no, replace)

a két ábra együtt (egymás alatt)

graph combine akt_ffi.gph akt_no.gph, cols(1) az y tengely skálája különbözik!

a kombinált ábra mentése

graph combine akt_ffi.gph akt_no.gph, cols(1) saving(akt_ffi_no, replace)

Mit állapíthatunk meg az aktivitás nemek és életkor szerinti alakulásáról?

Milyen különbség tapasztalható a férfiak és n k korcsoport szerinti aktivitásában?

Aktivitási ráták iskolai végzettség és nemek szerint tab educH sex [w=wei],sum(aktiv)nost nofr

ugyanez ábrában

graph hbar aktiv [w=wei],over(educH) over(sex) ///

ytitle("aktívak aránya") ///

saving(akt_isk, replace)

a cimkék miatt nem látjuk az ábrát - rövidebb cimkékkel graph hbar aktiv [w=wei], ///

over(educH, relabel(1"< 8 oszt." 2"8 oszt." 3"szakm." 4"gimn." 5"szakköz." ///

6"f iskola" 7"egyetem")) ///

over(sex, relabel(1"Férfiak" 2"N k"))ytitle("aktívak aránya") ///

saving(akt_isk_2, replace)

csak a 25 évesek és id sebbek - miért?

tab educH sex [w=wei] if kor > 24,sum(aktiv)nost nofr graph hbar aktiv [w=wei] if a15==2 & kor > 24, ///

over(educH, relabel(1"< 8 oszt." 2"8 oszt." 3"szakm." 4"gimn." 5"szakköz." ///

6"f iskola" 7"egyetem")) ///

over(sex, relabel(1"Férfiak" 2"N k"))ytitle("aktívak aránya") ///

saving(akt_isk_24felett, replace)

Mit állapíthatunk meg az aktivitás nemek és iskolai végzettésg szerinti alakulásáról?

Az aktivitás területi különbségei megyék szerint nemenként tab county sex [w=wei],sum(aktiv)

tab county sex [w=wei],sum(aktiv) nost nofr noobs ábra

graph hbar aktiv [w=wei] if sex == 1, over(county)

a skála módosítása, sorbarendezés csökken sorrendben

graph hbar aktiv [w=wei] if sex == 1, over(county, sort(1) descending) ///

ylabel(.4(.05).7) exclude0 saving(akt_megye_ffi, replace)

graph hbar aktiv [w=wei] if sex == 2, over(county, sort(1) descending) ///

ylabel(.3(.05).55) exclude0 saving(akt_megye_no, replace)

a kistérségi munkanélküliségi ráta nagysága szerint codebook rmnk 149 kistérség

sum rmnk 1,5-23 százalék közötti rátaértékek centile rmnk if a15 == 2, centile(10(10)90)

return list a centile utasítás végrehajtásakor elmentett eredmények

Számítás után elmentett eredmények - r() centile saves the following in r():

Scalars

r(N) number of observations

r(n_cent) number of centiles requested r(c_#) value of # centile

r(lb_#) #-requested centile lower confidence bound r(ub_#) #-requested centile upper confidence bound

Az elmentett eredményekr l részletesen:

help return

Users' Manual 13.6 Accessing results from Stata commands R 1671. o. saved results fejezet

A kistérségi munkanélküliségi ráta osztályközökbe sorolása gen byte mnkat = 1

replace mnkat = 2 if rmnk > r(c_1) replace mnkat = 3 if rmnk > r(c_2) replace mnkat = 4 if rmnk > r(c_3) replace mnkat = 5 if rmnk > r(c_4) replace mnkat = 6 if rmnk > r(c_5) replace mnkat = 7 if rmnk > r(c_6) replace mnkat = 8 if rmnk > r(c_7) replace mnkat = 9 if rmnk > r(c_8) replace mnkat = 10 if rmnk > r(c_9)

replace mnkat = . if a15 != 2 legyen hiányzó érték a mk. koron kívülieknél label var mnkat "Munkanélküliségi ráta osztályközökbe sorolva"

tab mnkat sex [w=wei], sum(aktiv) nofr nost

ábrák - felhasználva a korábban alkalmazott skálát graph hbar aktiv [w=wei] if sex == 1, over(mnkat) ///

ylabel(.4(.05).7) exclude0 saving(akt_mnrata_ffi, replace) graph hbar aktiv [w=wei] if sex == 2, over(mnkat) ///

ylabel(.3(.05).55) exclude0 saving(akt_mnrata_no, replace)

a kistérségi ráták megyei átlaga természetesen eltér tab county,sum(rmnk)

tabstat rmnk aktiv [w=wei],by(county) és az aktivitással korrelál Mit állapíthatunk meg az aktivitás területi különbségeir l?

Háztartás-összetétel szerinti különbségek

családi állapot: egyedül vagy párkapcsolatban él tab fstat

gen byte parkapcs = 0

replace parkapcs = 1 if fstat > 0 & fstat < 4 label var parkapcs "párkapcsolatban él"

gen byte egyedul = 0

replace egyedul = 1 if parkapcs != 1 label var egyedul "egyedülálló"

tab parka sex if a15==2,sum(aktiv)

tab korcs parka if sex == 1 & a15 == 2,sum(aktiv) tab korcs parka if sex == 1 & a15 == 2,sum(aktiv) nost tab korcs parka if sex == 2 & a15 == 2,sum(aktiv) nost

Mit állapíthatunk meg az aktivitás és a családi állapot összefüggésér l?

Gyereknevelés

Nincs olyan változónk, amely megmutatná, hogy kinek van gyereke, és hány gyereke van. Viszont a háztartás összes tagjának személyes jellemz it ismerjük - ennek alapján meg lehet állapítani a gyerekszámot.

Tanulmányozzuk a gyerekek.do programot!

- egen utasítás

- esetszámra hivatkozás a parancsban: változónév[_esetszám]

do gyerekek.do

eredmények ellen rzése

list htazon family korH fstat apa anya gyerdb tab gyerdb sex

gyerekszám és aktivitás tab gyerdb,sum(aktiv)

by sex, sort:tab gyerdb,sum(aktiv)

4 és több gyerek kerüljön egy kategóriába gen gyszam = gyerdb

replace gyszam=4 if gyszam>4 & gyszam!=.

label define gyszam 4"4 és több"

label values gyszam gyszam ábrák

graph bar aktiv [w=wei] if sex == 1,over(gyszam) saving(akt_gyerszam_ffi.gph, replace)

graph bar aktiv [w=wei] if sex == 2,over(gyszam) saving(akt_gyerszam_no.gph, replace)

gyerekek kora szerint

legfiatalabb gyerek korcsoportja változó gen byte fgyerek = 0

replace fgyerek = 4 if gydb1114 > 0 replace fgyerek = 3 if gydb610 > 0 replace fgyerek = 2 if gydb35 > 0 replace fgyerek = 1 if gydb02 > 0

label define fgyerek 1"0-2 év" 2"3-5 év" 3"6-10 év" 4"11-14 év" 0"nincs gyerek"

label values fgyerek fgyerek

by sex,sort:tab fgyerek, sum(aktiv) by prefix parancs: „by varlist: stata_cmd”

help by

k

graph bar aktiv if sex == 2,over(fgyerek) korcsoport szerint bontva

graph hbar aktiv [w=wei] if sex == 2 & korH>14 & korH<60,over(fgyerek) over(korcs) graph hbar aktiv [w=wei] if sex == 2 & korH>14 & korH<60,over(fgyerek) over(korcs) ysize(7) saving(akt_fgykor_no.gph,replace)

elemszámok!!!

tab korcs fgyerek [w=wei] if sex == 2 & korH>14 & korH<60, sum(aktiv) férfiak

graph bar aktiv [w=wei] if sex == 1,over(fgyerek)

graph hbar aktiv [w=wei] if sex == 1 & korH>14 & korH<60,over(fgyerek) over(korcs) ysize(7) saving(akt_fgykor_ffi.gph,replace)

elemszámok

tab korcs fgyerek [w=wei] if sex == 1 & korH>14 & korH<60, sum(aktiv) Mit állapíthatunk meg a gyerekszám és az aktivitás összefüggésér l?

Többváltozós becslések

0/1 (dummy) változók a becsléshez iskolai végzettség

gen byte isk = educH

replace isk = 6 if isk == 7 fels fokú végzettségek összevonása label values isk educH

tab isk, gen(ed) dummy változók létrehozása korcsoport

tab korcs, gen(kcs) budapest gen budapest = 0

replace budapest = 1 if county == 1 Modellek

korcsoport (30-40), iskolai végz. (8 o.), egyedülálló, gyerekszám férfiak

logit aktiv kcs2-kcs4 kcs6 kcs7 ed1 ed3-ed6 egyedul gyerdb rmnk budapest if sex == 1 &

age < 60 k

logit aktiv kcs2-kcs4 kcs6 kcs7 ed1 ed3-ed6 egyedul gyerdb rmnk budapest if sex == 2 &

age < 57

Az el rehozott öregségi nyugdíj korhatárai 2006-ban: n k 57 év, férfiak 60 év

2008-ban: n k 57 év, férfiak 60 év Forrás: Munkaer piaci Tükör 2009 Interakciós változók

gyerekszám*egyedülálló interakicók gen egy_gy02 = egyedul gydb02 gen egy_gy35 = egyedul gydb35 gen egy_gy610 = egyedul gydb610 gen egy_gy1114 = egyedul gydb1114 gen egy_gyerdb = egyedul gyerdb egyedülálló es nincs gyereke gen byte egyngy = 0

replace egyngy = 1 if gyerdb == 0 & egyedul == 1

label var egyngy "egyedülálló és nincs gyereke"

A Nagy(2000) cikkben használt modellek - log file-ba írjuk log using aktiv2006_2.log, replace

férfiak

logit aktiv kcs2-kcs4 kcs6 kcs7 ed1 ed3-ed6 egyngy gyerdb egy_gyerdb rmnk budapest if sex == 1 & age < 60

marginális hatások margins, dydx(_all)

k

logit aktiv kcs2-kcs4 kcs6 kcs7 ed1 ed3-ed6 egyngy gydb02 egy_gy02 gydb35 egy_gy35 gydb610 egy_gy610 gydb1114 egy_gy1114 rmnk budapest if sex == 2 & age < 57

margins, dydx(_all) log close

További lehetséges változók:

településtípus részletesebben

megye (munkanélküliségi ráta helyett)

Stata utasítások a gyakorlatban:

Memória-allokálás memory

set memory

Stata állomány beolvasása use fájlnév

Adatállomány és változók jellemz i describe

Táblázat tabulate

Átlagok és más mutatók táblázatos formában tabstat

Új változó létrehozása, változó módosítása:

generate replace Cimkézés label var(iable) label define label values

label drop Ábrakészítés:

graph bar graph hbar graph combine

Percentilisek számítása centile

Változó jellemz i codebook

Számítások után elmentett eredmények return

Adatok listázása list

Kétérték (0/1, dummy) változók létrehozása kategoriális változókból:

tab var, gen(newvar) Logitmodell

logit

Marginális hatások számítása margins

Függelék a gyakorlathoz:

A gyakorlatanyagot tartalmazó do fájl