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.
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, ...)
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 |
object | Object of class |
digits | Number of digits after decimal for rounding |
file | Optional file name for summary output |
... | Further arguments to be passed |
An object of class rasch.pairwise
with following entries
Item difficulties
Exponentiated item difficulties, i.e. eps=exp(-b)
Number of iterations
Convergence criterion
Original data frame
Frequency table of all item pairs
Summary table of item parameters
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 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
.
############################################################################# # 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) ) }