fitI2L_ls {lazy.irt}R Documentation

Conversion of LRT to IRT by Weighted LS

Description

Conversion of LRT to IRT by Weighted LS

Usage

fitI2L_ls(
  V,
  print = 0,
  plot = 0,
  title = NULL,
  wtype = 0,
  useoptim = 1,
  maxiter = 1000,
  eps = 1e-06,
  maxiter2 = 9,
  method = "BFGS",
  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.

useoptim

= 0 to use optimize instead.

maxiter

Max # of iterations.

eps

Convergence criterion for optim.

maxiter2

Max # of inner ietrations.

method

Method for optim: NULL for the default method.

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, param, 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 )
plot(theta0, res$theta,type="b", main="original theta vs recovered theta")


[Package lazy.irt version 0.1.6 ]