sirt (version 3.9-4)

rasch.pairwise: Pairwise Estimation Method of the Rasch Model

Description

This function estimates the Rasch model with a minimum chi square estimation method (cited in Fischer, 2007, p. 544) which is a pairwise conditional likelihood estimation approach.

Usage

rasch.pairwise(dat, conv=1e-04, maxiter=3000, progress=TRUE,
        b.init=NULL, zerosum=FALSE)

# S3 method for rasch.pairwise summary(object, digits=3, file=NULL, ...)

Arguments

dat

An \(N \times I\) data frame of dichotomous item responses

conv

Convergence criterion

maxiter

Maximum number of iterations

progress

Display iteration progress?

b.init

An optional vector of length \(I\) of item difficulties

zerosum

Optional logical indicating whether item difficulties should be centered in each iteration. The default is that no centering is conducted.

object

Object of class rasch.pairwise

digits

Number of digits after decimal for rounding

file

Optional file name for summary output

Further arguments to be passed

Value

An object of class rasch.pairwise with following entries

b

Item difficulties

eps

Exponentiated item difficulties, i.e. eps=exp(-b)

iter

Number of iterations

conv

Convergence criterion

dat

Original data frame

freq.ij

Frequency table of all item pairs

item

Summary table of item parameters

References

Fischer, G. H. (2007). Rasch models. In C. R. Rao and S. Sinharay (Eds.), Handbook of Statistics, Vol. 26 (pp. 515-585). Amsterdam: Elsevier.

See Also

See summary.rasch.pairwise for a summary.

A slightly different implementation of this conditional pairwise method is implemented in rasch.pairwise.itemcluster.

Pairwise marginal likelihood estimation (also labeled as pseudolikelihood estimation) can be conducted with rasch.pml3.

Examples

Run this code
# NOT RUN {
#############################################################################
# EXAMPLE 1: Reading data set | pairwise estimation Rasch model
#############################################################################

data(data.read)
dat <- data.read

#*** Model 1: no constraint on item difficulties
mod1 <- sirt::rasch.pairwise(dat)
summary(mod1)

#*** Model 2: sum constraint on item difficulties
mod2 <- sirt::rasch.pairwise(dat, zerosum=TRUE)
summary(mod2)

# }
# NOT RUN {
#** obtain standard errors by bootstrap
mod2$item$b   # extract item difficulties

# Bootstrap of item difficulties
boot_pw <- function(data, indices ){
    dd <- data[ indices, ] # bootstrap of indices
    mod <- sirt::rasch.pairwise( dat=dd, zerosum=TRUE, progress=FALSE)
    return(mod$item$b)
}
set.seed(986)
library(boot)
bmod2 <- boot::boot(data=dat, statistic=boot_pw, R=999 )
print(bmod2)
summary(bmod2)
# quantiles for bootstrap sample (and confidence interval)
apply(bmod2$t, 2, stats::quantile, probs=c(.025, .5, .975) )
# }

Run the code above in your browser using DataLab