mcmc.3pnob: MCMC Estimation of the Three-Parameter Normal Ogive Model

Description Usage Arguments Details Value Author(s) References See Also Examples

View source: R/mcmc.3pnob.R

Description

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.

Usage

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

Arguments

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.

Details

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).

Value

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.

Author(s)

Javier Mart<c3><ad>nez

The code is adapted from an R script of Alexander Robitzsch. (https://github.com/alexanderrobitzsch/sirt/blob/master/R/mcmc.3pno.testlet.R)

References

Beguin, A, A. & Glas, C.A.W. (2001). MCMC Estimation and Some Model-Fit Analysis of Multidimensional IRT Models. Psychometrika, 66, 541-562.

See Also

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

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# 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)

bairt documentation built on May 1, 2019, 10:56 p.m.

Related to mcmc.3pnob in bairt...