fitI2L_ls0 {lazy.irt}R Documentation

Conversion of LRT to IRT

Description

Conversion of LRT to IRT

Usage

fitI2L_ls0(V, print = 0, plot = 0, title = NULL, wtype = 0,
  maxiter = 1000, eps = 1e-06, SQUAREM = 3, nSQUAREM = 1,
  minalpha = -999, maxalpha = -1, always = 1, reset1 = 0, reset2 = 1)

Arguments

V

item x class probability matrix

print

= 1 to print the estimated IRT item parameters
= 2 to print the irf.

plot

= 1 to plot the main result
= 2 to plot irf of each item.

title

title string

wtype

= 1 to use dnomr(theta) as the weight
= 0 to use no weight.

maxiter

Max # of iterations.

eps

Convergence criterion for optim.

SQUAREM

= 3 : See the help of iSQUAREM in lazy.accel package.

nSQUAREM

when to star iSQUAREM

minalpha

= -999 : See the help of iSQUAREM in lazy.accel package.

maxalpha

= -1 : See the help of iSQUAREM in lazy.accel package.

always

= 0 : See the help of iSQUAREM in lazy.accel package.

reset1

= 1 : See the help of iSQUAREM in lazy.accel package.

reset2

= 2 : See the help of iSQUAREM in lazy.accel package.

Details

The LS criterion:
ssq( t(V) - irf(theta|item parameters) )
will be minimized with respect to theta and item parameters.

Value

A list of:
theta The estimated theta value for each latent rank
param IRT item parameter data.frame
rmse The rmse stat.
wtype The type of weight.

Examples

#
#### In the following examples, maxiter is set to 20 which is
#### not large enough to obtain convergence.
####
#
#
#
set.seed(1701)

param <- paramB1[c(1:3,7:9,13:15),]
thmin <- -2; thmax <- 2; npoint <- 5
N <- 1000

# discrete theta
# theta0 <- seq(thmin,thmax,length=npoint)
theta0 <- c(-2, -1, 0, 2, 3)
theta <- unlist(lapply( theta0, rep, round(N/npoint) ))
res2 <- gendataIRT( 1, paramB1, theta=theta, compress=1 )
Uc <- as.data.frame(res2$U)
ncat <- res2$ncat
type <- res2$type

# lrt parameters
nclass <- 5
resm1 <- uLRT( Uc, nclass=nclass, estrho=1, monotone=1, alpha=20
                                  , maxiter=20, plot=1, print=1 )
V1 <- resm1$V[,seq(2,2*resm1$nitems,2)]

# conversion
res <- fitI2L_ls( t(V1), print=1, plot=1, wtype=1, maxiter=50 )
plot(theta0, res$theta,type="b", main="original theta vs recovered theta")


[Package lazy.irt version 0.1.3 Index]