Nou în

Modele Bayesiene longitudinale / panou-date

Vă puteți potrivi modelelor Bayesiene longitudinale / panou de date prin simpla prefixare a modelelor clasice de panou de date cu bayes :. Deoarece modelele de panou de date pot fi privite ca modele ierarhice pe două niveluri, toate avantajele modelării Bayesian pe mai multe niveluri se aplică și modelelor de panou de date.
Puteți potrivi un model liniar de date al panoului cu efecte aleatorii la rezultatul y cu predictori x1 și x2 și panoul sau id-ul identificatorului de grup, tastând

. xtset id
. xtreg y x1 x2

Acum puteți încadra un omolog Bayesian al acestui model tastând

. xtset id
. bayes: xtreg y x1 x2

Repere

  • Rezultate: continuu, binar, ordinal, categoric, număr
  • Efecte aleatorii
  • Distribuții anterioare flexibile
  • Distribuții posterioare ale efectelor panoului sau grupului
  • Predicții bayesiene
  • Suport complet pentru caracteristici bayesiene

Bineînțeles, ca și în cazul oricărei alte comenzi Stata, puteți utiliza o interfață point-and-click în loc să tastați comenzile.
Modelele bayesiene ale panoului de date nu sunt doar pentru rezultate continue. Puteți tasta la fel de ușor pentru rezultate binare

. bayes: xtprobit y x1 x2

sau pentru rezultatele numărării

. bayes: xtpoisson y x1 x2

Sau utilizați oricare dintre cele opt modele de panou de date care acceptă prefixul bayes, inclusiv noul model de logit multinomial de panou de date.

Să vedem cum funcționează

  • Estimare
  • Convergența MCMC
  • Priori personalizați
  • posterioare ale efectelor panoului sau grupului
  • Predicții bayesiene
  • Verificări predictive posterioare – potrivirea modelului
  • Curățare

Estimare

Luați în considerare un subgrup de date din Sondajul longitudinal național al femeilor tinere cu vârste cuprinse între 14 și 24 de ani din 1968, care locuiau în sud. Vom modela jurnalul salariilor în funcție de educația individuală, grade; experiența lor de lucru, ttl_exp, care intră în model în mod patrulatic; și dacă locuiesc sau nu într-o zonă metropolitană standard, nu_smsa. Există mai multe observații per individ, identificate prin id.
Ne potrivim cu un model liniar bayesian de date panou pentru a ține cont de efectele individuale. De asemenea, dorim să calculăm predicțiile bayesiene ale salariilor din jurnal și să comparăm efectele indivizilor (panoul).

. webuse nlswork6
(Subsample of 1986 National Longitudinal Survey of Young Women)

Pentru a economisi timp, rulăm un eșantion Markov lanț Monte Carlo (MCMC) de 1.000, în loc de 10.000 implicit. De asemenea, specificăm o sămânță cu număr aleatoriu pentru reproductibilitate.

. 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
Likelihood: ln_wage ~ normal(xb_ln_wage,{sigma2}) Priors: {ln_wage:grade} ~ normal(0,10000) (1) {ln_wage:ttl_exp} ~ normal(0,10000) (1) {ln_wage:c.ttl_exp#c.ttl_exp} ~ normal(0,10000) (1) {ln_wage:1.not_smsa} ~ normal(0,10000) (1) {ln_wage:_cons} ~ normal(0,10000) (1) {U[id]} ~ normal(0,{var_U}) (1) {sigma2} ~ igamma(0.01,0.01) Hyperprior: {var_U} ~ igamma(0.01,0.01)
(1) Parameters are elements of the linear form xb_ln_wage. Bayesian RE normal regression MCMC iterations = 3,500 Metropolis–Hastings and Gibbs sampling Burn-in = 2,500 MCMC sample size = 1,000 Group variable: id Number of groups = 831 Obs per group: min = 1 avg = 1.4 max = 5 Number of obs = 1,174 Acceptance rate = .796 Efficiency: min = .02411 avg = .07145 Log marginal-likelihood max = .1676
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

Media posterioară pentru coeficientul de grade este pozitivă, cu o magnitudine de 7 procente. Teoria sugerează că salariile cresc odată cu experiența, dar creșterea se reduce cu timpul. Acest lucru implică faptul că coeficientul pentru ttl_exp ar trebui să fie pozitiv, iar coeficientul pentru c.ttl_exp # c.ttl_exp ar trebui să fie negativ. Observăm acest lucru în datele noastre. În cele din urmă, locuirea în afara marilor centre urbane are un efect negativ asupra salariilor.
Modelarea Bayesiană necesită specificarea priorităților pentru toți parametrii modelului. Ca și în cazul oricărei alte comenzi bayes, bayes: xtreg oferă priorități implicite pentru confort. Ar trebui să revizuiți specificațiile anterioare și să le specificați.

Convergența MCMC

bayes: xtreg folosește MCMC pentru a obține rezultate. Convergența sa trebuie verificată înainte de o analiză ulterioară. Puteți face acest lucru grafic sau puteți calcula statistica de convergență Gelman-Rubin folosind mai multe lanțuri.
Să evaluăm vizual convergența MCMC pentru, să zicem, coeficientul grade.

. bayesgraph diagnostics {ln_wage:grade}

Nu există o tendință aparentă în traseul de urmărire. Autocorelația scade cu timpul. Nu avem un motiv pentru a suspecta neconvergența pentru grade, dar convergența trebuie verificată pentru toți parametrii modelului.
Să salvăm rezultatele noastre MCMC și estimări pentru o utilizare ulterioară.

. bayes, saving(bxtregsim)
note: file bxtregsim.dta saved.

. estimates store bxtreg

Priori personalizați

Cu modelele bayesiene, poate doriți să vă încorporați propriile priorități. Acești priori provin adesea din date istorice. De exemplu, pe baza studiilor anterioare, poate fi rezonabil să presupunem că coeficientul pentru clasa variază între 0 și 25. Deci, putem considera o uniformă pe (0,25) anterior pentru aceasta. Putem folosi opțiunea bayes prior() pentru a specifica priorități personalizate.

. 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
Bayesian RE normal regression MCMC iterations = 3,500 Metropolis–Hastings and Gibbs sampling Burn-in = 2,500 MCMC sample size = 1,000 Group variable: id Number of groups = 831 Obs per group: min = 1 avg = 1.4 max = 5 Number of obs = 1,174 Acceptance rate = .6181 Efficiency: min = .009861 avg = .01259 Log marginal-likelihood max = .01751
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

Priorul nostru personalizat nu a schimbat mult rezultatele.

Distribuții posterioare ale efectelor panoului sau grupului

Este posibil să fim interesați să deducem efectele indivizilor (panoului). Modelarea bayesiană oferă un mod natural de a face acest lucru. Spre deosebire de modelele clasice de date cu panou cu efecte aleatorii, modelele bayesiene de panou de date estimează efectele aleatorii (panou) împreună cu toți ceilalți parametri ai modelului. Ca atare, fiecare efect aleatoriu este reprezentat de un întreg eșantion MCMC din distribuția sa posterioară. Acest eșantion poate fi utilizat pentru inferențe, cum ar fi compararea efectelor de panou sau de grup. (Gândiți-vă la compararea performanțelor diferitelor companii sau spitale.)
Să revenim la modelul nostru original, care folosea priorități implicite neinformative.

. estimates restore bxtreg
(results bxtreg are active now)

Să trasăm distribuțiile posterioare pentru primele nouă efecte individuale.

. bayesgraph histogram {U[1/9]}, byparm normal

Efectele individuale de mai sus reprezintă schimbări sau compensări de la salariul mediu jurnal. Există cu siguranță variații între salariile persoanelor fizice. De exemplu, putem vedea că salariul individului 8 este mai mare decât cel al individului 5. Deci, există încă diferențe între salariile individuale care nu sunt luate în considerare de predictorii modelului.

Predicții bayesiene

În cadrul bayesian, puteți calcula predicții și incertitudinile acestora fără a face presupuneri asimptotice. Acest lucru este posibil, deoarece predicțiile obținute sunt eșantioane din distribuția predictivă „exactă” posterioară a noilor date, date fiind datele observate. Distribuția predictivă posterioară nu se presupune a fi normală asimptotic.
Să calculăm mijloacele posterioare ale salariilor jurnal prevăzute împreună cu intervalul lor credibil de 95%

. bayespredict pmean, mean 

Computing predictions ...

. bayespredict cri_l cri_u, cri

Computing predictions ...

Să enumerăm rezultatele primelor 10 observații.

. 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

Mijloacele posterioare prezise sunt apropiate de valorile observate, cu excepția poate pentru observația 10. În secțiunea următoare, vom arăta cum să verificăm dacă modelul se potrivește mai bine formal. Dar pentru a face acest lucru, trebuie mai întâi să salvăm toate predicțiile MCMC.

. bayespredict {_ysim1}, saving(bxtregpred)

Computing predictions ...

file bxtregpred.dta saved.
file bxtregpred.ster saved.

bxtregpred.dta conține un eșantion de valori MCMC pentru fiecare observație. Mijloacele posterioare (pmean) pe care le-am prezis mai devreme sunt, pentru fiecare observație, media peste eșantionul MCMC.
Seturile de date privind predicțiile MCMC sunt de obicei mari, deci vă recomandăm să le salvați numai atunci când este necesar; vezi [BAYES] bayespredict pentru detalii.

Verificări predictive posterioare – potrivirea modelului

Un alt avantaj al analizei bayesiene a modelelor de panou de date este verificările predictive posterioare formalizate pentru verificarea potrivirii modelului care nu sunt disponibile cu analiza frecventistă clasică.
Putem folosi eșantioane posterioare pentru rezultatul prezis, eșantionul de predicție MCMC, pentru a efectua verificări de bună calitate a modelului. De exemplu, să comparăm statisticile minime și maxime din eșantioanele de predicție MCMC cu cele observate în date. Aceste statistici descriu cozile distribuției datelor. Puteți utiliza orice alte statistici în locul (sau în plus față de) maxim și minim.
bayesstats ppvalues efectuează verificări predictive posterioare prin calculul așa-numitelor valori p predictive posterioare (PPP). PPP-urile descriu cât de des statisticile din eșantionul de predicție MCMC au fost la fel de extreme sau mai extreme decât cele din eșantionul observat; vezi [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
Note: P(T>=T_obs) close to 0 or 1 indicates lack of fit.

PPP pentru minim, .565, nu este aproape de 0 sau 1, deci modelul se potrivește bine în ceea ce privește această statistică. Dar PPP pentru maxim, .085, este aproape de 0 și sugerează astfel o potrivire slabă pentru această statistică.
Dacă examinăm datele, vom descoperi un grup de observații cu valori cuprinse între 3,5 și 4 care arată ca valori anormale. Este posibil să fie nevoie să ne revizuim modelul și să abordăm problema valorilor aberante.

Curățare

După analiză, putem elimina fișierele create de bayes: var și bayespredict care nu mai sunt necesare.

. erase bxtregsim.dta
. erase bxtregpred.dta
. erase bxtregpred.ster