Pairwise Estimation Method of the Rasch Model
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 class '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
| b | Item difficulties | 
| eps | Exponentiated item difficulties, i.e.  | 
| 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 | 
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)
## 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) )
## End(Not run)Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.