Learn R Programming

mokken (version 3.0.4)

aisp: Automated Item Selection Procedure (AISP) for Mokken Scale Analysis

Description

Returns a matrix with as many rows as there are items, indicating to which scale an item belongs for each lowerbound.

Usage

aisp(X, lowerbound=.3, search="normal", alpha=.05, StartSet=FALSE, popsize=20, 
         maxgens=default.maxgens, pxover=0.5, pmutation=0.1, verbose=FALSE, 
         type.z = "Z", test.Hi = FALSE, level.two.var = NULL)

Arguments

X

matrix or data frame of numeric data containing the responses of nrow(X) respondents to ncol(X) items. Missing values are not allowed

search

Type of item selection procedure: "normal": Mokken's automated item selection procedure (Mokken, 1971; Molenaar & Sijtsma, 2000; Sijtsma & Molenaar, 2002); "ga": item selection using a genetic algorithm (Straat, van der Ark, & Sijtsma, 2013). The default is "normal".

lowerbound

Value or vector with numeric scaling criteria; 0 <= lowerbound < 1. The default is 0.3.

alpha

Type I error level. The default is 0.05.

StartSet

Startset of items for the first scale. Vector of item numbers. If StartSet == FALSE no startset is provided (default).

popsize

Size of the population of items in genetic. algorithm The default is 20.

maxgens

Number of generations in genetic algorithm. The default is 10^(log2(ncol(X)/5)) * 1000.

pxover

Cross-over probability in genetic algorithm. The default is 0.5.

pmutation

Mutation probability in genetic algorithm. The default is 0.1.

verbose

Logical, indicating whether should output to the screen the results of the model. If FALSE, no output is produced. The default is TRUE.

type.z

Indicates which type of Z-test is used to evaluate whether coefficients meet the scaling criteria: "WB": Wald-based z-score based on standard errors as approximated by the delta method (Kuijpers, Van der Ark, Kroon, 2013; Koopman, Zijlstra, Van der Ark, 2020a); "RP": Range-preserving z-score, also based on the delta method (Koopman, Zijlstra, Van der Ark, 2020b); "Z": uses original Z-test (Mokken, 1971; Molenaar & Sijtsma, 2000; Sijtsma & Molenaar, 2002). The default is "Z", but is changed to "WB" for test.Hi == TRUE or if a level.two.var is given.

test.Hi

If FALSE: tests if Hi is significantly larger than zero; If TRUE tests if Hi is significantly larger than lowerbound. The default is FALSE.

level.two.var

vector of length nrow(X) or matrix with number of rows equal to nrow(X) that indicates the level two variable for nested data (Koopman et al., 2020).

Value

An matrix with J rows. Each entry refers to an item. Items with same integer belong to the same Mokken scale. A zero indicates an unscalable item. If n is the largest integer, then n Mokken scales were found.

Details

Each scale must consist of at least two items, hence the number of Mokken scales cannot exceed ncol(X)/2. Procedure may be slow for large data sets. Especially if the genetic algorithm is used. There is not yet an option search="extended". aisp replaces the function search.normal in earlier versions.

References

Koopman, L. Zijlstra, B. J. H, & Van der Ark, L. A. (2020). A two-step procedure for scaling multilevel data using Mokken's scalability coefficients. Manuscript submitted for publication.

Kuijpers, R. E., Van der Ark, L. A., & Croon, M. A. (2013). Standard errors and confidence intervals for scalability coefficients in Mokken scale analysis using marginal models. Sociological Methodology, 43, 42-69. https://doi.org/10.1177/0081175013481958

Mokken, R. J. (1971) A Theory and Procedure of Scale Analysis. De Gruyter.

Molenaar, I.W., & Sijtsma, K. (2000) User's Manual MSP5 for Windows [Software manual]. IEC ProGAMMA.

Sijtsma, K., & Molenaar, I. W. (2002) Introduction to nonparametric item response theory. Sage.

Straat, J. H., Van der Ark, L. A., & Sijtsma, K. (2013). Comparing optimization algorithms for item selection in Mokken scale analysis. Journal of Classification, 30, 72-99. https://doi.org/10.1007/s00357-013-9122-y

Van der Ark, L. A. (2007). Mokken scale analysis in R. Journal of Statistical Software. https://www.jstatsoft.org/article/view/v020i11

Van der Ark, L. A. (2012). New developments in Mokken scale analysis in R. Journal of Statistical Software, 48. https://www.jstatsoft.org/article/view/v048i05

See Also

coefH, check.iio, check.monotonicity, check.pmatrix, check.reliability,check.restscore

Examples

Run this code
# NOT RUN {
data(acl)

# Select the scale Communality consisting of 10 items.
Communality <- acl[,1:10]

# Partition these 10 items into mokken scales using Mokken's automated item selection procedure.
scale <- aisp(Communality)
coefH(Communality[,scale==1])

# Same but using items 1 and 2 in the startset.
scale <- aisp(Communality, StartSet = c(1, 2), verbose = TRUE)
coefH(Communality[,scale==1])

# Perform aisp for increasing lowerbounds
# }
# NOT RUN {
scales <- aisp(Communality, lowerbound = seq(0, .55, .05))
scales
# }
# NOT RUN {
# Use a significant test for criteria Hi > c (rather than the point estimate)
scale <- aisp(Communality, type.z = "WB", test.Hi = TRUE, verbose = TRUE)
coefH(Communality[,scale==1])

# Partition these 10 items into mokken scales using a genetic algorithm.
scale <- aisp(Communality,search="ga",maxgens=1000) 
coefH(Communality[,scale==1])

# Perform aisp on two-level data
data(autonomySupport)
scores <- autonomySupport[, -1]
classes <- autonomySupport[, 1]
scale <- aisp(scores, type.z = "WB", level.two.var = classes)
coefH(scores[, scale==1], level.two.var = classes)

# }

Run the code above in your browser using DataLab