Learn R Programming

sirt (version 4.1-15)

likelihood.adjustment: Adjustment and Approximation of Individual Likelihood Functions

Description

Approximates individual likelihood functions \(L(\bold{X}_p | \theta)\) by normal distributions (see Mislevy, 1990). Extreme response patterns are handled by adding pseudo-observations of items with extreme item difficulties (see argument extreme.item. The individual standard deviations of the likelihood, used in the normal approximation, can be modified by individual adjustment factors which are specified in adjfac. In addition, a reliability of the adjusted likelihood can be specified in target.EAP.rel.

Usage

likelihood.adjustment(likelihood, theta=NULL, prob.theta=NULL,
     adjfac=rep(1, nrow(likelihood)), extreme.item=5, target.EAP.rel=NULL,
     min_tuning=0.2, max_tuning=3, maxiter=100, conv=1e-04,
     trait.normal=TRUE)

Value

Object of class IRT.likelihood.

Arguments

likelihood

A matrix containing the individual likelihood \(L(\bold{X}_p | \theta)\) or an object of class IRT.likelihood.

theta

Optional vector of (unidimensional) \(\theta\) values

prob.theta

Optional vector of probabilities of \(\theta\) trait distribution

adjfac

Vector with individual adjustment factors of the standard deviations of the likelihood

extreme.item

Item difficulties of two extreme pseudo items which are added as additional observed data to the likelihood. A large number (e.g. extreme.item=15) leaves the likelihood almost unaffected. See also Mislevy (1990).

target.EAP.rel

Target EAP reliability. An additional tuning parameter is estimated which adjusts the likelihood to obtain a pre-specified reliability.

min_tuning

Minimum value of tuning parameter (if ! is.null(target.EAP.rel) )

max_tuning

Maximum value of tuning parameter (if ! is.null(target.EAP.rel) )

maxiter

Maximum number of iterations (if ! is.null(target.EAP.rel) )

conv

Convergence criterion (if ! is.null(target.EAP.rel) )

trait.normal

Optional logical indicating whether the trait distribution should be normally distributed (if ! is.null(target.EAP.rel) ).

References

Mislevy, R. (1990). Scaling procedures. In E. Johnson & R. Zwick (Eds.), Focusing the new design: The NAEP 1988 technical report (ETS RR 19-20). Princeton, NJ: Educational Testing Service.

See Also

CDM::IRT.likelihood, TAM::tam.latreg

Examples

Run this code
if (FALSE) {
#############################################################################
# EXAMPLE 1: Adjustment of the likelihood | data.read
#############################################################################

library(CDM)
library(TAM)
data(data.read)
dat <- data.read

# define theta grid
theta.k <- seq(-6,6,len=41)

#*** Model 1: fit Rasch model in TAM
mod1 <- TAM::tam.mml( dat, control=list( nodes=theta.k) )
summary(mod1)

#*** Model 2: fit Rasch copula model
testlets <- substring( colnames(dat), 1, 1 )
mod2 <- sirt::rasch.copula2( dat, itemcluster=testlets, theta.k=theta.k)
summary(mod2)

# model comparison
IRT.compareModels( mod1, mod2 )

# extract EAP reliabilities
rel1 <- mod1$EAP.rel
rel2 <- mod2$EAP.Rel
# variance inflation factor
vif <- (1-rel2) / (1-rel1)
  ##  > vif
  ##  [1] 1.211644

# extract individual likelihood
like1 <- IRT.likelihood( mod1 )
# adjust likelihood from Model 1 to obtain a target EAP reliability of .599
like1b <- sirt::likelihood.adjustment( like1, target.EAP.rel=.599 )

# compare estimated latent regressions
lmod1a <- TAM::tam.latreg( like1, Y=NULL )
lmod1b <- TAM::tam.latreg( like1b, Y=NULL )
summary(lmod1a)
summary(lmod1b)
}

Run the code above in your browser using DataLab