Description Usage Arguments Details Value Author(s) See Also Examples
Use metaheuristic stochastic search to locate k-Cube Thurstonian IRT hyperparameters and states.
1 2 3 | kcirt.fitMSS(model, lambdaConstraint = "self", kcpus = 2, penalty = "logit",
usetruesigma = TRUE, mss.sd = 0.2, nsearch = 19, l2zvarpow = 0,
xmu.shrink=0, xlambda.shrink=0, xeta.shrink=0.4)
|
model |
A kcirt model; a named list of |
lambdaConstraint |
Scalar string specifying how to constrain Lambda during fitting. See Details. |
kcpus |
Scalar positive integer telling |
penalty |
Scalar string. How to measure quality of fit? Currently either 'logit', 'L2', 'L2c', 'miscat'. |
usetruesigma |
Scalar boolean. Use actual (assumed) system variance? |
mss.sd |
Scalar positive number or vector of length 3. Size of search function standard deviation for, in order, |
nsearch |
Scalar positive integer. How many candidate values to draw from under the MSS function. Typically 14-20. |
l2zvarpow |
Scalar positive integer. Only used when |
xmu.shrink |
Scalar non-negative real-valued. Only used when |
xlambda.shrink |
Scalar non-negative real-valued. Only used when |
xeta.shrink |
Scalar non-negative real-valued. Only used when |
Note: As of kcirt version >= 0.6, the argument logitshrinkcoef has been removed. Use xeta.shrink instead.
lambdaConstraint defines the model k-cube, i.e., the item crosstalk space. Currently accepts self, only diagonal elements of Lambda; withinx, additionally includes within block items pointing to exogenous constructs; withini, additionally includes items within block pointing to same construct. betweenx, diagonal elements and all other items that point to different constructs; betweeni, additionally includes items that point to same construct. priorx is similar to betweenx except that only previous items crosstalk with item, i.e., Lambda is lower-block-diagonal; priori additionally permits crosstalk between prior items pointing to same construct.
penalty defines the objective function to be minimized. logit minimizes the logistic deviance. L2 minimizes sum of squares between 2*Y-1 and 2*Yhat-1. L2c is similar to L2, except that it pre-projects (up to a constant) 2*Y-1 and 2*Yhat-1 using var(2*Y-1). Note that NA values in Y are replaced with 0.5. Finally, miscat, minimizes the misclassification rate using a confusion table between the observations, Y, and the predicted states (scales), hatEta, split at zero.
Excepting very adventurous explorations with this model, the defaults for lambdaConstraint and penalty will likely best serve the user.
A kcirt model. A named list of class 'kcube.irt.model'.
Dave Zes, Korn/Ferry International
See Also kcirt.fitEE.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | 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),
c(1,2),
c(2,3),
c(1,3)
)
qTypes <- rep("R", length(constructMap.ls))
mod <- kcirt.model(constructMap.ls=constructMap.ls, qTypes=qTypes, mxLambda=NULL)
N <- 200
set.seed(99999)
mod <- kcirt.sim(model=mod, N=N)
ikcirt.df1(mod, "self")
####### create initial guess for hyperparameters (aka loadings)
mod$mxHatLambda <- mod$mxLambda - matrix( rnorm( sum(mod$ns)^2, 0, 0.3 ), sum(mod$ns), sum(mod$ns) )
####### need to assign hat states and utilities
mod$mxHatEta <- matrix(0, N, sum(mod$nuc))
mod$hatMu <- rep(0, sum(mod$ns))
## Not run:
###### run MSS fit -- performance is R^2 btwn true and pred states (aka scales)
mod <- kcirt.fitMSS(model=mod, lambdaConstraint="self", kcpus=2, penalty="L2",
usetruesigma=TRUE, mss.sd=1)
mod$performance
###### run again ...
mod <- kcirt.fitMSS(model=mod, lambdaConstraint="self", kcpus=2, penalty="L2",
usetruesigma=TRUE, mss.sd=1)
mod$performance
###### run a few more times ... ...
## End(Not run)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.