Item and Test Information Curve
An S3 method which computes item and test information curves, see Muraki (1993).
IRT.informationCurves(object, ...) ## S3 method for class 'tam.mml' IRT.informationCurves( object, h=.0001, iIndex=NULL, theta=NULL, ... ) ## S3 method for class 'tam.mml.2pl' IRT.informationCurves( object, h=.0001, iIndex=NULL, theta=NULL, ... ) ## S3 method for class 'tam.mml.mfr' IRT.informationCurves( object, h=.0001, iIndex=NULL, theta=NULL, ... ) ## S3 method for class 'tam.mml.3pl' IRT.informationCurves( object, h=.0001, iIndex=NULL, theta=NULL, ... ) ## S3 method for class 'IRT.informationCurves' plot(x, curve_type="test", ...)
object |
Object of class |
... |
Further arguments to be passed |
h |
Numerical differentiation parameter |
iIndex |
Indices of items for which test information should be computed. The default is to use all items. |
theta |
Optional vector of θ for which information curves should be computed. |
curve_type |
Type of information to be plotted. It can be |
x |
Object of class |
List with following entries
se_curve |
Standard error curves |
test_info_curve |
Test information curve |
info_curves_item |
Item information curves |
info_curves_categories |
Item-category information curves |
theta |
Used θ grid |
Muraki, E. (1993). Information functions of the generalized partial credit model. Applied Psychological Measurement, 17(4), 351-363. doi: 10.1177/014662169301700403
## Not run: ############################################################################# # EXAMPLE 1: Dichotomous data | data.read ############################################################################# data(data.read, package="sirt") dat <- data.read # fit 2PL model mod1 <- TAM::tam.mml.2pl( dat ) summary(mod1) # compute information curves at grid seq(-5,5,length=100) imod1 <- TAM::IRT.informationCurves( mod1, theta=seq(-5,5,len=100) ) str(imod1) # plot test information plot( imod1 ) # plot standard error curve plot( imod1, curve_type="se", xlim=c(-3,2) ) # cutomized plot plot( imod1, curve_type="se", xlim=c(-3,2), ylim=c(0,2), lwd=2, lty=3) ############################################################################# # EXAMPLE 2: Mixed dichotomous and polytomous data ############################################################################# data(data.timssAusTwn.scored, package="TAM") dat <- data.timssAusTwn.scored # select item response data items <- grep( "M0", colnames(dat), value=TRUE ) resp <- dat[, items ] #*** Model 1: Partial credit model mod1 <- TAM::tam.mml( resp ) summary(mod1) # information curves imod1 <- TAM::IRT.informationCurves( mod1, theta=seq(-3,3,len=20) ) #*** Model 2: Generalized partial credit model mod2 <- TAM::tam.mml.2pl( resp, irtmodel="GPCM") summary(mod2) imod2 <- TAM::IRT.informationCurves( mod2 ) #*** Model 3: Mixed 3PL and generalized partial credit model psych::describe(resp) maxK <- apply( resp, 2, max, na.rm=TRUE ) I <- ncol(resp) # specify guessing parameters, including a prior distribution est.guess <- 1:I est.guess[ maxK > 1 ] <- 0 guess <- .2*(est.guess >0) guess.prior <- matrix( 0, nrow=I, ncol=2 ) guess.prior[ est.guess > 0, 1] <- 5 guess.prior[ est.guess > 0, 2] <- 17 # fit model mod3 <- TAM::tam.mml.3pl( resp, gammaslope.des="2PL", est.guess=est.guess, guess=guess, guess.prior=guess.prior, control=list( maxiter=100, Msteps=10, fac.oldxsi=0.1, nodes=seq(-8,8,len=41) ), est.variance=FALSE ) summary(mod3) # information curves imod3 <- TAM::IRT.informationCurves( mod3 ) imod3 #*** estimate model in mirt package library(mirt) itemtype <- rep("gpcm", I) itemtype[ maxK==1] <- "3PL" mod3b <- mirt::mirt(resp, 1, itemtype=itemtype, verbose=TRUE ) print(mod3b) ## End(Not run)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.