mcmc.3pnob {bairt} | R Documentation |
This function estimates the Three-Parameter normal ogive item response model by MCMC sampling (Beguin & Glas, 2001, p. 542). It is a modification of the function mcmc.3pno.testlet of the sirt package.
mcmc.3pnob(data, initial.value = NULL, c.prior = c(1, 1), iter = 1000, burning = 500, thin = 1, parts = 3, ...)
data |
Data frame with dichotomous item responses. |
initial.value |
List with initial values |
c.prior |
A vector of length two which defines the beta prior distribution of guessing parameters. The default is a non-informative prior, Beta(1,1). |
iter |
Total number of iterations. |
burning |
Number of burnin iterations. |
thin |
The thinning interval between consecutive observations. |
parts |
Number of splits for MCMC chain. |
... |
Further arguments. |
For the Three-parameter normal ogive item response model, we assume that the performance of the i-th examine depends on an unknown latent variable θ_i, and we let θ_1, ...,θ_n respectively denotes the latent traits for all the n individuals taking the test.
We also assume that the probability of right answer depends only on the latent trait value and on the characteristics of the item. Specifically, for the i-th individual and j-th item, we model this probability as:
Pr( Y_{ ij } = 1 | θ_i, a_ j, b_ j, c_ j ) = c_ j + (1 - c_ j )Φ( a_ jθ_i - b_ j )
where Φ is the standard normal cdf, and a_ j, b_ j and c_ j are the item discrimination, item difficulty and item guessing parameters associated with the j-th item (Beguin & Glas, 2001, p. 542).
An object of class mcmc.3pnob. This is a list with the following elements:
mcmcobj |
A list with the a, b, y theta chains. |
diagnostic |
A list with the diag matrix (it is a summary whit Rhat included) and the residual deviance. |
information |
A list with the final.values (values of the last iteration for each chain), and the arguments c.prior, iter, burning, data, thin, parts and model, respectively. |
Javier MartÃnez
The code is adapted from an R script of Alexander Robitzsch. (https://github.com/alexanderrobitzsch/sirt/blob/master/R/mcmc.3pno.testlet.R)
Beguin, A, A. & Glas, C.A.W. (2001). MCMC Estimation and Some Model-Fit Analysis of Multidimensional IRT Models. Psychometrika, 66, 541-562.
mcmc.2pnob
, continue.mcmc.bairt
,
gelman.diag
and as.mcmc
.
# data for model data("MathTest") # estimate model only for the first 500 examinees of the data MathTest # selection of the prior for 5 response options cprior <- select.c.prior(5) # estimate model only for the first 500 examinees of the data MathTest model3 <- mcmc.3pnob(MathTest[1:500,], iter = 300, burning = 0, c.prior = cprior) # study of chains convergence model3 check.plot(model3) diagnostic.mcmc(model3) parameter.plot(model3) chain.study(model3, parameter = "a", chain = 15) irc(model3, item = 1) # continue the MCMC # form 1 initialValues2 <- final.values.mcmc(model3) model31 <- mcmc.3pnob(MathTest[1:500,], initial.value = initialValues2, iter = 3000, burning = 0, c.prior = cprior) # form 2 model32 <- continue.mcmc(model3, iter = 3000, burning = 0) ## End(Not run)