Hello, statistics experts,
I have a question that troubles me for long time.
My purpose to estimate the joint effect of air pollution on the risk of birth defects. An random effect logistic model was used and was estimated by bayes method.
The stata programme was showed as following:
bayesmh case = ({a:} + {b}*({w1}*pre3m_pre1m_pm25 + {w2}*pre3m_pre1m_co + {w3}*pre3m_pre1m_so2 + {w4}*pre3m_pre1m_no2 + {w5}*pre3m_pre1m_o3 )), likelihood(logit) ///
define(a: U[code],xb) ///
prior({a:_cons}, normal(-5, 10)) ///
prior({b},normal(0,5)) ///
prior({w1 w2 w3 w4 w5 },dirichlet(1, 1, 1, 1, 1)) ///
prior({var_U}, igamma(0.01,0.01)) ///
block({var_U},gibbs) ///
mcmcsize(5000) dots rseed(1234)
Note: the coefficients {wi} is the weight of different air pollution, w1+....w5=1, and wi should be between 0 and 1. So I set wi as dirichlet distribution.
The results show as following:
| Equal-tailed
| Mean Std. dev. MCSE Median [95% cred. interval]
-------------+----------------------------------------------------------------
a |
_cons | -.6128033 .2640545 .095993 -.6561622 -1.148229 -.1349925
-------------+----------------------------------------------------------------
b | .0005872 .0005011 .000108 .0004688 .0000103 .0017945
w1 | .0709399 .070009 .016397 .0460853 .00433 .2668698
w2 | .2155131 .1589676 .028325 .2030874 .0035754 .5265113
w3 | .2662654 .1226952 .036767 .2907973 .0279012 .4378617
w4 | .1239908 .1079504 .023449 .0927303 .000796 .3904645
w5 | -1.393883 .7596525 .242501 -1.444812 -2.598773 .2032503
var_U | 39.29819 9.156024 1.66255 37.93158 25.63195 62.13184
According the results , the estimation of sum of wi is not equal to 1, w5 is less than 0.
My question is how to set the prior of regression coefficients that follow dirichlet distribution in bayes model? Is the prior setting right in my programme?
Thanks a lot.
0 Response to Ask experts for help:how to set the prior of regression coefficients that follow dirichlet distribution in bayes model
Post a Comment