Estimation of the Q_3 Statistic (Yen, 1984)
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.
Q3(dat, theta, b, progress=TRUE)
dat |
An N \times I data frame of dichotomous item responses |
theta |
Vector of length N of person parameter estimates (e.g. obtained from
|
b |
Vector of length I (e.g. obtained from |
progress |
Should iteration progress be displayed? |
A list with following entries
q3.matrix |
An I \times I matrix of Q_3 statistics |
q3.long |
Just the |
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 |
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
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
.
############################################################################# # 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)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.