Code:
clear mata
* Three-parameter Logistic (Bayesian approach)*
version 16.0
set maxvar 32767
use "Result_Coding.dta", clear
generate id = _n
quietly reshape long q, i(id) j(item)
rename q y
fvset base none id item
set seed 10
bayesmh y, likelihood(dbernoulli({gues:}+(1-{gues:})* ///
invlogit({discrim:}*({subj:}-{diff:})))) ///
redefine(discrim:i.item) redefine(diff:i.item) ///
redefine(gues:i.item) redefine(subj:i.id) ///
prior({subj:i.id}, normal(0, 1)) ///
prior({discrim:i.item}, lognormal({mu_a}, {var_a})) ///
prior({diff:i.item}, normal({mu_b}, {var_b})) ///
prior({gues:i.item}, igamma(10, 1)) ///
prior({mu_a} {mu_b}, normal(0, 0.1)) ///
prior({var_a} {var_b}, igamma(10, 1)) ///
block({mu_a mu_b var_a var_b}, split) ///
init({discrim:i.item} 1 {gues:i.item} 0.1) ///
showreffects({discr:i.item} {diff:i.item} {gues:i.item}) ///
exclude({subj:i.id}) burnin(5000) saving(sim3pls, replace)
bayesstats summary _all
0 Response to Constraining Discrimination Parameters in Three-parameter Logistic Item Response Theory Model
Post a Comment