Learn R Programming

kcirt (version 0.6.0)

kcirt.fitEE: Least Squares k-Cube Thurstonian IRT Fitting

Description

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

Usage

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.

Value

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

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.

See Also

See Also kcirt.fitMSS.

Examples

Run this code
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)

Run the code above in your browser using DataLab