(C++) Calculate a theta estimate using EB (Empirical Bayes) method
theta_EB_single()
and theta_EB()
are functions for calculating a theta estimate using EB (Empirical Bayes) method.
theta_EB( nx, theta_init, theta_prop, item_parm, resp, ncat, model, prior, prior_parm ) theta_EB_single( nx, theta_init, theta_prop, item_parm, resp, ncat, model, prior, prior_parm )
nx
: the number of MCMC draws.
theta_init
: the initial estimate to use.
theta_prop
: the SD of the proposal distribution.
item_parm
: a matrix containing item parameters. Each row should represent an item.
resp
: a vector containing responses on each item.
ncat
: a vector containing the number of response categories of each item.
model
: a vector indicating item models of each item, using
1
: 1PL model2
: 2PL model3
: 3PL model4
: PC model5
: GPC model6
: GR modelprior
: an integer indicating the type of prior distribution, using
1
: normal distribution2
: uniform distributionprior_parm
: a vector containing parameters for the prior distribution.
theta_EB_single()
is designed for one item, and theta_EB()
is designed for multiple items.
Currently supports unidimensional models.
# item parameters item_parm <- matrix(c( 1, NA, NA, 1, 2, NA, 1, 2, 0.25, 0, 1, NA, 2, 0, 1, 2, 0, 2), nrow = 6, byrow = TRUE ) ncat <- c(2, 2, 2, 3, 3, 3) model <- c(1, 2, 3, 4, 5, 6) resp <- c(0, 1, 0, 1, 0, 1) nx <- 100 theta_init <- 0 theta_prop <- 1.0 set.seed(1) theta_EB_single(nx, theta_init, theta_prop, item_parm[1, ], resp[1], ncat[1], model[1], 1, c(0, 1)) theta_EB(nx, theta_init, theta_prop, item_parm, resp, ncat, model, 1, c(0, 1))