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

aispR Documentation

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 et al., 2013; Koopman et al., in press a); "RP": Range-preserving z-score, also based on the delta method (Koopman, et al., in press b); "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., in press a).

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.

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.

Author(s)

L. A. van der Ark L.A.vanderArk@uva.nl, J. H. Straat, L. Koopman

References

Koopman, L., Zijlstra, B. J. H., & Van der Ark, L. A. (in press a). A two-step, test-guided Mokken scale analysis for nonclustered and clustered data. Quality of Life Research. (advanced online publication) \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1007/s11136-021-02840-2")}

Koopman, L., Zijlstra, B. J. H., & Van der Ark, L. A. (in press b). Range-preserving confidence intervals and significance tests for scalability coefficients in Mokken scale analysis. In M. Wiberg, D. Molenaar, J. Gonzalez, & Kim, J.-S. (Eds.), Quantitative Psychology; The 1st Online Meeting of the Psychometric Society, 2020. Springer. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1007/978-3-030-74772-5_16")}

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. \Sexpr[results=rd]{tools:::Rd_expr_doi("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. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1007/s00357-013-9122-y")}

Van der Ark, L. A. (2007). Mokken scale analysis in R. Journal of Statistical Software. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.18637/jss.v020.i11")}

Van der Ark, L. A. (2012). New developments in Mokken scale analysis in R. Journal of Statistical Software, 48. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.18637/jss.v048.i05")}

See Also

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

Examples

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], se = FALSE)

# 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

 scales <- aisp(Communality, lowerbound = seq(0, .55, .05))
 scales


# 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)


mokken documentation built on July 9, 2023, 7:24 p.m.