Újdonságok a
-ben
Bayesi longitudinális/panel-adatmodellek
A Bayes-féle longitudinális/paneladat-modelleket úgy illesztheti be, hogy a klasszikus paneladat-modellek elé egyszerűen beírja a bayes: szót. Mivel a paneladat-modellek kétszintű hierarchikus modelleknek tekinthetők, a Bayes-féle többszintű modellezés minden előnye a paneladat-modellekre is érvényes.
Egy lineáris véletlenszerű hatású paneladat-modellt illeszthet az y kimenetelre x1 és x2 prediktorokkal és a panel vagy csoport azonosítójával id beírásával
. xtset id . xtreg y x1 x2
Most ennek a modellnek a Bayes-féle megfelelőjét illesztheti a következő beírással
. xtset id . bayes: xtreg y x1 x2
Természetesen, mint bármely más Stata-parancs esetében, a parancsok begépelése helyett használhatsz egy mutass és kattints felületet is.
A Bayes-féle panel-adatmodellek nem csak folytonos kimenetekre vonatkoznak. Ugyanilyen egyszerűen beírhatja a bináris kimenetekhez is
. bayes: xtprobit y x1 x2
vagy számolási eredmények esetén
. bayes: xtpoisson y x1 x2
Vagy használja a bayes-előtagot támogató nyolc paneladat modell bármelyikét, beleértve az új paneladat multinomiális logit modellt is.
Lássuk, hogyan működik
- Becslés
- Az MCMC konvergenciája
- Egyéni priorok
- A panel- vagy csoporthatások utólagos eloszlásai
- Bayes-előrejelzések
- Utólagos prediktív ellenőrzések-modell illeszkedés
- Takarítás
Becslés
Tekintsük az 1968-ban 14 és 24 év közötti, délen élő fiatal nőkre vonatkozó nemzeti longitudinális felmérés adatainak egy részhalmazát. A bérek logaritmusát az egyén iskolai végzettségének, grade; munkatapasztalatának, ttl_exp, amely négyzetesen lép be a modellbe; és annak függvényében fogjuk modellezni, hogy az egyén egy átlagos nagyvárosi területen él-e vagy sem, not_smsa. Egyénenként több megfigyelés van, amelyeket az id azonosít.
Az egyéni hatások figyelembevételéhez Bayes-féle paneladat lineáris modellt alkalmaztunk. Szeretnénk továbbá kiszámítani a naplóbérek Bayes-féle előrejelzéseit, és összehasonlítani az egyének (panel) hatásait.
. webuse nlswork6 (Subsample of 1986 National Longitudinal Survey of Young Women)
Az időmegtakarítás érdekében az alapértelmezett 10 000 helyett 1000 darabos Markov-lánc Monte Carlo (MCMC) mintát futtatunk. A reprodukálhatóság érdekében egy véletlenszámos magot is megadunk.
. bayes, mcmcsize(1000) rseed(17): xtreg ln_wage grade c.ttl_exp##c.ttl_exp i.not_smsa note: Gibbs sampling is used for regression coefficients and variance components. Burn-in 2500 aaaaaaaaa1000aaaaaaaaa2000aaaaa done Simulation 1000 .........1000 done Model summary
Equal-tailed | ||
Mean Std. dev. MSCE Median [95% cred. interval] | ||
ln_wage | ||
grade | .0696248 .0052371 .00082 .069638 .0591421 .07999 | |
ttl_exp | .0404646 .0070371 .000544 .0404901 .026454 .053855 | |
c.ttl_exp# | ||
c.ttl_exp | -.0005053 .0003978 .000039 -.0005132 -.0012609 .0003009 | |
1.not_smsa | -.1502314 .0251494 .002755 -.150213 -.200979 -.1014476 | |
_cons | .5646936 .0658804 .0099 .5680976 .4377888 .6957415 | |
var_U | .0801363 .0073138 .001258 .0795163 .0674855 .0959143 | |
sigma2 | .0673308 .0046724 .000952 .0671238 .0590742 .0771401 | |
A grade együttható utólagos átlaga pozitív, 7 százalékos nagyságrenddel. Az elmélet szerint a bérek a tapasztalattal együtt nőnek, de a növekedés az idő múlásával csökken. Ez azt jelenti, hogy a ttl_exp együtthatójának pozitívnak, a c.ttl_exp#c.ttl_exp együtthatójának pedig negatívnak kell lennie. Ezt tapasztaljuk az adatainkban. Végül, a nagyvárosi központokon kívül élés negatív hatással van a bérekre.
A Bayes-modellezés megköveteli, hogy minden modellparaméterhez priort adjunk meg. Mint minden más bayes-parancs esetében, a bayes: xtreg is biztosít alapértelmezett priorokat a kényelem érdekében. Érdemes átnézni a prior specifikációkat, és megadni a sajátjait.
Az MCMC konvergenciája
A bayes: xtreg MCMC-t használ az eredményekhez. Konvergenciáját a további elemzés előtt ellenőrizni kell. Ezt megteheti grafikusan, vagy kiszámíthatja a Gelman-Rubin konvergencia-statisztikát több lánc segítségével.
Értékeljük az MCMC-konvergenciát vizuálisan, mondjuk, a grade együtthatóra.
. bayesgraph diagnostics {ln_wage:grade}

A nyomvonaldiagramon nincs nyilvánvaló tendencia. Az autokorreláció az idővel csökken. Nincs okunk arra gyanakodni, hogy a grade nem konvergencia, de a konvergenciát minden modellparaméter esetében ellenőrizni kell.
Mentsük el MCMC- és becslési eredményeinket későbbi felhasználásra.
. bayes, saving(bxtregsim) note: file bxtregsim.dta saved. . estimates store bxtreg
Egyéni priorok
A Bayes-modellek esetében érdemes lehet saját prioritásokat beépíteni. Ezek a priorok gyakran történeti adatokból származnak. Például korábbi tanulmányok alapján ésszerű lehet azt feltételezni, hogy a grade együtthatója 0 és 25 között mozog. Így megfontolhatjuk, hogy egy (0,25) egyenletes priorral számoljunk. A bayes prior() opciót használhatjuk az egyéni priorok megadásához.
. bayes, mcmcsize(1000) rseed(17) prior({ln_wage:grade}, uniform(0,25)): > xtreg ln_wage grade c.ttl_exp##c.ttl_exp i.not_smsa note: Gibbs sampling is used for variance components. Burn-in 2500 aaaaaaaaa1000aaaaaaaaa2000aaaaa done Simulation 1000 .........1000 done Model summary
Equal-tailed | ||
Mean Std. dev. MSCE Median [95% cred. interval] | ||
ln_wage | ||
grade | .0691558 .0063225 .002013 .0692614 .0567288 .0819581 | |
ttl_exp | .0389882 .0080916 .002355 .0390646 .0228502 .0530886 | |
c.ttl_exp# | ||
c.ttl_exp | -.0004548 .0004804 .000153 -.0004778 -.0013733 .0005973 | |
1.not_smsa | -.1452854 .0241483 .006649 -.1450175 -.1934294 -.0947368 | |
_cons | .5751218 .0727991 .022234 .5795395 .4176046 .7018132 | |
var_U | .0785815 .0082846 .00198 .0784331 .0615956 .0956798 | |
sigma2 | .0688682 .0059815 .001537 .0684258 .0583475 .0823034 | |
A mi egyéni priorunk nem sokat változtatott az eredményeken.
A panel- vagy csoporthatások utólagos eloszlásai
Érdekelhet minket, hogy következtetéseket vonjunk le az egyének (panel) hatásaira. A Bayes-modellezés természetes módot biztosít erre. A klasszikus véletlenszerű hatású paneladatmodellekkel ellentétben a Bayes-féle paneladatmodellek a véletlenszerű (panel)hatásokat az összes többi modellparaméterrel együtt becsülik. Így minden egyes véletlen hatást egy teljes MCMC-minta reprezentál a poszterior eloszlásából. Ez a minta felhasználható olyan következtetésekhez, mint például a panel- vagy csoporthatások összehasonlítása. (Gondoljunk csak a különböző vállalatok vagy kórházak teljesítményének összehasonlítására).
Térjünk vissza az eredeti modellünkhöz, amely alapértelmezett nem informatív priorokat használt.
. estimates restore bxtreg (results bxtreg are active now)
Ábrázoljuk az első kilenc egyéni hatás utólagos eloszlásait.
. bayesgraph histogram {U[1/9]}, byparm normal

A fenti egyéni hatások az átlagos logarlétszámhoz képest eltolódásokat vagy eltéréseket jelentenek. Az egyének fizetése között határozottan vannak eltérések. Láthatjuk például, hogy a 8. egyén fizetése magasabb, mint az 5. egyéné. Tehát az egyéni fizetések között még mindig vannak olyan különbségek, amelyeket a modell prediktorai nem vesznek figyelembe.
Bayes-előrejelzések
A Bayes-féle keretrendszerben aszimptotikus feltevések nélkül is kiszámíthatja az előrejelzéseket és azok bizonytalanságát. Ez azért lehetséges, mert a kapott előrejelzések az új adatok “pontos” poszterior előrejelző eloszlásának mintái a megfigyelt adatok mellett. Az utólagos előrejelző eloszlásról nem feltételezzük, hogy aszimptotikusan normális.
Számítsuk ki az előre jelzett naplóbérek utólagos átlagait a 95%-os hihető intervallumukkal együtt.
. bayespredict pmean, mean Computing predictions ... . bayespredict cri_l cri_u, cri Computing predictions ...
Soroljuk fel az első 10 megfigyelés eredményeit.
. list ln_wage pmean cri_l cri_u in 1/10
ln_wage pmean cri_l cri_u | ||||
1. | 1.543923 1.55197 .8831815 2.184215 | |||
2. | 1.815738 1.645933 1.006488 2.284888 | |||
3. | 1.870532 1.718343 1.112855 2.360129 | |||
4. | 2.340405 2.16819 1.523068 2.747879 | |||
5. | 1.545327 1.629953 1.092535 2.221188 | |||
6. | 1.594335 1.687503 1.089151 2.268714 | |||
7. | 1.848619 1.849651 1.266758 2.408907 | |||
8. | 1.757637 1.80307 1.140366 2.467546 | |||
9. | 2.346746 2.224904 1.529079 2.833333 | |||
10. | 3.539868 2.826903 2.270285 3.511156 |
A megjósolt utólagos átlagok közel állnak a megfigyelt értékekhez, kivéve talán a 10. megfigyelést. A következő szakaszban megmutatjuk, hogyan lehet formálisabban ellenőrizni, hogy a modell jól illeszkedik-e. Ehhez azonban először el kell mentenünk az összes MCMC-előrejelzést.
. bayespredict {_ysim1}, saving(bxtregpred) Computing predictions ... file bxtregpred.dta saved. file bxtregpred.ster saved.
A bxtregpred.dta az egyes megfigyelésekhez tartozó értékek MCMC-mintáját tartalmazza. A korábban megjósolt utólagos átlagok (pmean) minden egyes megfigyelés esetében az MCMC-mintán mért átlagot jelentik.
Az MCMC-előrejelzések adathalmazai jellemzően nagyok, ezért érdemes megfontolni, hogy csak szükség esetén mentsük el őket; a részletekért lásd [BAYES] bayespredict.
Utólagos prediktív ellenőrzések-modell illeszkedés
A paneladat-modellek Bayes-elemzésének másik előnye a modell illeszkedésének ellenőrzésére szolgáló formalizált utólagos előrejelző ellenőrzések, amelyek a klasszikus frequentista elemzéssel nem állnak rendelkezésre.
Az előre jelzett kimenetelre vonatkozó utólagos mintákat, az MCMC-előrejelzési mintát használhatjuk a modell illeszkedési jóságának ellenőrzésére. Például hasonlítsuk össze az MCMC-előrejelzési mintákból származó minimális és maximális statisztikákat az adatokban megfigyelt statisztikákkal. Ezek a statisztikák az adateloszlás csóváit írják le. A maximum és a minimum helyett (vagy mellett) bármilyen más statisztikát is használhat.
A bayesstats ppvalues utólagos előrejelző ellenőrzéseket végez az úgynevezett utólagos előrejelző p-értékek (PPP) kiszámításával. A PPP-k azt írják le, hogy az MCMC-előrejelzési minta statisztikái milyen gyakran voltak ugyanolyan szélsőségesek vagy szélsőségesebbek, mint a megfigyelt minta statisztikái; lásd [BAYES] bayesstats ppvalues.
. bayesstats ppvalues (pmin:@min({_ysim1})) (pmax:@max({_ysim1})) using bxtregpred Posterior predictive summary MCMC sample size = 1,000
T | Mean Std. dev. E(T_obs) P(T>=T_obs) | |
pmin | .0299837 .1652143 .0176546 .565 | |
pmax | 3.515637 .2291669 3.85025 .085 | |
A minimum PPP értéke, .565, nem közelíti meg a 0-t vagy az 1-et, így a modell jól illeszkedik ehhez a statisztikához. A maximum PPP-je, .085, azonban közel van a 0-hoz, és így rossz illeszkedésre utal e statisztika tekintetében.
Ha megvizsgáljuk az adatokat, felfedezhetünk egy olyan megfigyeléscsoportot, amelynek értékei 3,5 és 4 között vannak, és amelyek kiugrónak tűnnek. Lehet, hogy felül kell vizsgálnunk a modellünket, és foglalkoznunk kell a kiugró értékek problémájával.
Takarítás
Az elemzés után eltávolíthatjuk a bayes: var és bayespredict által létrehozott fájlokat, amelyekre már nincs szükség.
. erase bxtregsim.dta . erase bxtregpred.dta . erase bxtregpred.ster