sirt (version 1.9-0)

# yen.q3: Estimation of the $Q_3$ Statistic (Yen, 1984)

## Description

This function estimates the $Q_3$ statistic according to Yen (1984). The statistic $Q_3$ is calculated for every item pair $(i,j)$ which is the correlation between item residuals after fitting the Rasch model.

## Usage

yen.q3(dat, theta, b, progress=TRUE)

## Arguments

dat
An $N \times I$ data frame of dichotomous item responses
theta
Vector of length $N$ of person parameter estimates (e.g. obtained from wle.rasch)
b
Vector of length $I$ (e.g. obtained from rasch.mml2)
progress
Should iteration progress be displayed?

## Value

• A list with following entries
• q3.matrixAn $I \times I$ matrix of $Q_3$ statistics
• q3.longJust the q3.matrix in long matrix format where every row corresponds to an item pair
• expectedAn $N \times I$ matrix of expected probabilities by the Rasch model
• residualAn $N \times I$ matrix of residuals obtained after fitting the Rasch model
• Q3.statVector with descriptive statistics of $Q_3$

## References

Yen, W. M. (1984). Effects of local item dependence on the fit and equating performance of the three-parameter logistic model. Applied Psychological Measurement, 8, 125-145.

For the estimation of the average $Q_3$ statistic within testlets see testlet.yen.q3. For modelling testlet effects see mcmc.3pno.testlet. For handling local dependencies in IRT models see rasch.copula2, rasch.pml3 or rasch.pairwise.itemcluster.

## Examples

#############################################################################
# EXAMPLE 1: data.read. The 12 items are arranged in 4 testlets
#############################################################################

# estimate the Rasch model
# estmate WLEs
mod.wle <- wle.rasch( dat = data.read , b = mod$item$b )
# calculate Yen's Q3 statistic
mod.q3 <- yen.q3( dat = data.read , theta = mod.wle$theta , b = mod$item$b ) ## Yen's Q3 Statistic based on an estimated theta score ## *** 12 Items | 66 item pairs ## *** Q3 Descriptives ## M SD Min 10% 25% 50% 75% 90% Max ## -0.085 0.110 -0.261 -0.194 -0.152 -0.107 -0.051 0.041 0.412 # plot Q3 statistics I <- ncol(data.read) image( 1:I , 1:I , mod.q3$q3.matrix , col=gray( 1 - (0:32)/32) ,
xlab="Item" , ylab="Item")
abline(v=c(5,9)) # borders for testlets
abline(h=c(5,9))

# obtain Q3 statistic from modelfit.sirt function which is based on the
# posterior distribution of theta and not on observed values
fitmod <- modelfit.sirt( mod )
# extract Q3 statistic
q3stat <- fit$itempairs$Q3
##  > summary(q3stat)
##      Min.  1st Qu.   Median     Mean  3rd Qu.     Max.
##  -0.21760 -0.11590 -0.07280 -0.05545 -0.01220  0.44710
##  > sd(q3stat)
##  [1] 0.1101451