Least Squares k-Cube Thurstonian IRT Fitting

Description

k-Cube Thurstonian IRT Fitting using a least-squares expectation-expectation algorithm.

Usage

1
kcirt.fitEE(model, mxHatLambda, maxIter = 40, lambda.ridge = 0.3, Seta.ridge=0.01)

Arguments

model

A kcirt model. A named list of class 'kcube.irt.model'.

mxHatLambda

An initial guess for the Hyperparameters.

maxIter

Maximum number of iterations.

lambda.ridge

Non-negative real-valued scalar. Amount of Ridge shrinkage on hatLambda crossproduct for LS stages.

Seta.ridge

Non-negative real-valued scalar. Amount of Ridge shrinkage on SEta crossproduct for LS stages.

Details

This function can be thought of as an expectation-expectation procedure. The starting Hyperparameters, mxHatLambda, are used to predict mxEta (this prediction is commonly called mxHatEta is this package), and so on, back and forth. The procedure stops when either the L2 cost first bottoms out, or maxIter is met.

In many cases, this function alone produces excellent-performing estimates/predictions. The user may pass the returned model to kcirt.fitMSS for further refinement.

Value

A kcirt model. A named list of class 'kcube.irt.model'.

Author(s)

Dave Zes, Korn/Ferry International

See Also

See Also kcirt.fitMSS.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
constructMap.ls <- list(
c(1,1,2,2),
c(1,1,3,3),
c(2,2,3,3),
c(1,1,2,2),
c(1,1,3,3),
c(2,2,3,3)
)

qTypes <- rep("R", length(constructMap.ls))

mod <- kcirt.model(constructMap.ls=constructMap.ls, qTypes=qTypes, mxLambda=NULL)

N <- 300
set.seed(99999)
mod <- kcirt.sim(model=mod, N=N)

ikcirt.df1(mod, "self")

mxHatLambda <- mod$mxLambda - matrix( rnorm( sum(mod$ns)^2, 0, 0.3 ), sum(mod$ns), sum(mod$ns) )

mod2 <- kcirt.fitEE(model=mod, mxHatLambda=mxHatLambda, maxIter=40)