Learn R Programming

bairt (version 0.1.2)

mcmc.2pnob: MCMC Estimation of the Two-Parameter Normal Ogive Model

Description

This function estimates the Two-Parameter normal ogive item response model by MCMC sampling (Johnson & Albert, 1999, p. 195). It is a modification of the function mcmc.2pno of sirt package.

Usage

mcmc.2pnob(data, initial.value = NULL, iter = 1000,
           burning = 500, thin = 1, parts = 3, ...)

Arguments

data

Data frame with dichotomous item responses.

initial.value

List with initial values

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.

Value

An object of class mcmc.2pnob. 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 iter, burning, data, thin, parts and model, respectively.

Details

For the two-parameter normal ogive item response model, we assume that the performance of the i-th examine depends on an unknown latent variable \(\theta_i\), and we let \(\theta_1, ...,\theta_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 | \theta_i, a_ j, b_ j ) = \Phi( a_ j\theta_i - b_ j )$$

where \(\Phi\) is the standard normal cdf, and \(a_ j\) and \(b_ j\) are the item discrimination and item difficulty parameters associated with the j-th item (Johnson & Albert, 1999, p. 188).

References

Johnson, V. E. & Albert, J. H. (1999). Ordinal Data Modeling. New York: Springer.

See Also

mcmc.3pnob, continue.mcmc.bairt, gelman.diag and as.mcmc.

Examples

Run this code
# NOT RUN {
# data for model
data("MathTest")

# estimate model only for the first 500 examinees of the data MathTest
model2 <- mcmc.2pnob(MathTest[1:500,], iter = 400, burning = 100)
# study of chains convergence
check.plot(model2)
diagnostic.mcmc(model2)
parameter.plot(model2)
chain.study(model2, parameter = "b", chain = 14)
irc(model2, item = 3)

# }
# NOT RUN {
# continue the  MCMC
# form 1
initialValues <- final.values.mcmc(model2)
model21 <- mcmc.2pnob(MathTest[1:500,], initial.value = initialValues,
iter = 3000, burning = 0)

# form 2
model22 <- continue.mcmc(model2, iter = 3000, burning = 0)
# }
# NOT RUN {
## End(Not run)

# }

Run the code above in your browser using DataLab