Pairwise Estimation Method of the Rasch Model
rasch.pairwise.Rd
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, weights=NULL, conv=1e-04, maxiter=3000, progress=TRUE,
b.init=NULL, zerosum=FALSE, power=1, direct_optim=TRUE)
# S3 method for rasch.pairwise
summary(object, digits=3, file=NULL, ...)
Arguments
- dat
An \(N \times I\) data frame of dichotomous item responses
- weights
Optional vector of sampling weights
- 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.
- power
Power used for computing pairwise response probabilities like in row averaging approach
- direct_optim
Logical indicating whether least squares criterion funcion should be minimized with
stats::nlminb
- 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
#############################################################################
# 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)
if (FALSE) {
#** 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) )
}