Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

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

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.matrix

An I \times I matrix of Q_3 statistics

q3.long

Just the q3.matrix in long matrix format where every row corresponds to an item pair

expected

An N \times I matrix of expected probabilities by the Rasch model

residual

An N \times I matrix of residuals obtained after fitting the Rasch model

Q3.stat

Vector 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.

See Also

For the estimation of the average Q_3 statistic within testlets see Q3.testlet.

For modeling 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
#############################################################################
data(data.read)

# estimate the Rasch model
mod <- sirt::rasch.mml2( data.read)
# estmate WLEs
mod.wle <- sirt::wle.rasch( dat=data.read, b=mod$item$b )
# calculate Yen's Q3 statistic
mod.q3 <- sirt::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))

## Not run: 
# obtain Q3 statistic from modelfit.sirt function which is based on the
# posterior distribution of theta and not on observed values
fitmod <- sirt::modelfit.sirt( mod )
# extract Q3 statistic
q3stat <- fitmod$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

## End(Not run)

sirt

Supplementary Item Response Theory Models

v3.10-118
GPL (>= 2)
Authors
Alexander Robitzsch [aut,cre] (<https://orcid.org/0000-0002-8226-3132>)
Initial release
2021-09-22 17:45:34

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.