mokken-package: Mokken Scale Analysis

mokken-packageR Documentation

Mokken Scale Analysis

Description

Mokken scale analysis (Mokken, 1971; Sijtsma & Molenaar, 2002; Sijtsma & Van der Ark, 2017) is a scaling procedure for both dichotomous and polytomous items. It consists of an item selection algorithm to partition a set of items into Mokken scales and several methods to check the assumptions of two nonparametric item response theory models: the monotone homogeneity model and the double monotonicity model. The output of this R-package resembles the output of the stand-alone program MSP (Molenaar & Sijtsma, 2000).

Details

Package: mokken
Type: Package
Version: 3.1.0
Date: 2023-06-23
License: GPL Version 2 or later

The package contains principal functions for Mokken scale analysis.

The package contains the following data sets

acl Scores on a personality checklist.
autonomySupport Scores from students on their teacher's autonomy support
balance Scores on balance taskts
cavalini Scores on an inventory on industrial malodor
DS14 Scores on a Type D test (bootstrap sample)
mcmi Scores on some items from the Dutch version of the Millon Clinical Multiaxial Inventory
SWMD Scores from pupils nested in classrooms on their well-being with teachers
SWMDK Scores from pupils nested in classrooms on their well-being with teachers and classmates
transreas Scores on a transitive reasoning test
transreas2 More scores on a transitive reasoning test

A guide for Mokken scale analysis in R for people who do not know R (Van der Ark, 2010) is available as a vignette from https://sites.google.com/a/tilburguniversity.edu/avdrark/mokken. The Mokken package was created by Andries van der Ark, who is also the maintainer. Significant parts have been developed by Letty Koopman (multilevel analysis) and Don van den Berg and Hendrik Straat (all C and C++ codes). Thanks are due to Michael Allerhand, Geert H. van Kollenburg, Renske E. Kuijpers, Rudy Ligtvoet, Hannah E. M. Oosterhuis, Daniel W. van der Palm, and Max Welz for contributing R code; to Geert H. van Kollenburg, Patrick Mair, and Don van Ravenswaaij for testing the software; to Wijbrandt van Schuur for comments on the vignette; to Michael Allerhand, Stephen Cubbellotti, Michael Dewey, Jasmin Durstin, Wilco H. M. Emons, Jue Huang, Michael Kubovy, Ivo Molenaar, Jonathan Rose, Tobias Schlaffer, Klaas Sijtsma, Iris Smits, Jia Jia Syu, Stefan Vermeent, Roger Watson, Max Welz, and Na Yang for reporting comments or bugs; to Diederick Stoel (ProfitWise) for financial support, to Samantha Bouwmeester, Pierre Cavalini, Johan Denollet, Gina Rossi, Harrie C. M. Vorst, for permission to use their data; to Robert J. Mokken for lending his last name.

Version 0 was introduced in Van der Ark (2007). It included the functions

coefH Scalability coefficients
coefZ Test statistics for scalability coefficients
check.monotonicity Investigate monotonicity assumptions
check.restscore Investigate nonintersection assumption using Method Restscore
check.pmatrix Investigate nonintersection assumption using Method Pmatrix
search.normal Mokken's automated item selection algorithm

The following major modifications have been made.

aisp More general automated item selection algorithm.
Function search has become obsolete (Version 2.0)
check.reliability Compute reliability coefficients (Version 2.0)
check.iio Investigate invariant item orderings (Version 2.4)
coefH Standard errors for scalability coefficients included (Version 2.6)

All updates until version 2.7 are described in Van der Ark (2012). The following modifications have been made in Version 2.7 in comparison to previous versions.

check.errors Inclusion new function to compute weighted Guttman errors for each person.
check.iio plot has been added.
check.monotonicity Computation of number of active pairs for dichotomous items has been corrected.
check.pmatrix Summary of the results has been corrected.
check.restscore Code pertaining to IIO has been deleted. The procedure is now equivalent to MSP.
coefH Option included to compare scalability coefficients across groups

The following modifications have been made in Version 2.7.1 in comparison to previous versions.

mokken Some legal issues

The following modifications have been made in Version 2.7.2 in comparison to previous versions.

check.iio Violations of IIO for dichotomous items are now tested using a z-test rather than a t-test.

The following modifications have been made in Version 2.7.3 in comparison to previous versions.

plot.iio.class Confidence envelopes around estimated response functions
plot.monotonicity.class Confidence envelopes around estimated response functions
plot.restscore.class Confidence envelopes around estimated response functions

The following modifications have been made in Version 2.8.1 in comparison to previous versions.

aisp Startsets have been added

The following modifications have been made in Version 2.8.2 in comparison to previous versions.

recode New
check.ca New
check.norms New
check.errors Outlier score O+ has been included

The following modifications have been made in Version 2.8.3 in comparison to previous versions.

twoway New
DS14 New data set
check.errors Outlier cutoff scores have been included

The following modifications have been made in Version 2.8.4 in comparison to previous versions.

check.iio New code for computing HT for large samples

The following modifications have been made in Version 2.8.5 in comparison to previous versions.

MLcoefH New code for computing two-level scalability coefficients and standard errors
autonomySupport New two-level data set.

The following modifications have been made in Version 2.8.9 and 2.8.10 in comparison to previous versions.

coefH Included possibility to include a fixed item-step order
MLcoefH Code updated
check.errors Code updated

The following modifications have been made in Version 2.8.11 in comparison to previous versions.

plot The level of tranparancy of the plotted confidence intervals can be adjusted manually
MLcoefH Code updated

The following modifications have been made in Version 2.8.12 in comparison to previous versions.

check.monotonicity Z statistic adjusted (Molenaar & Sijtsma, 2000. p. 72 )
check.norms Z Output corrected for nice.output = FALSE

The following modifications have been made in Version 2.9.0 in comparison to previous versions.

coefH Z Solution of Koopman et al. (2017) implemented to solve the problem of equal item steps and code updated
MLcoefH Z Solution of Koopman et al. (2017) implemented to solve the problem of equal item steps and code updated

The following modifications have been made in Version 3.0.0 in comparison to previous versions.

aisp Genetic algorithm has been reprogrammed and is now much faster.
Argument lowerbound can now be a vector, enabling the investigation of several lower bounds simultaneously.
Extra argument to specify which standard errors should be used in Z-test (Koopman et al., 2020).
Extra argument to indicate which null-hypothesis should be used to test Hi (i.e., Hi = c or Hi = 0)(Koopman et al., 2020).
Extra argument to handle nested data (Koopman et al., 2020).
check.iio Computation of Coefficient HT for large samples is now much faster.
coefH New standard errors for nested data (Koopman et al. in press a).
coefZ Extra argument to compute the Z-score using lowerbound as the null hypothesis (Koopman et al., 2020).
Extra argument to compute Z-score using delta method standard error, but the original method remains available (Koopman et al., 2020).
Extra argument to compute Z-score in nested data (Koopman et al., 2020).
ICC New function for ICCs in two-level Mokken scale analysis (Koopman et al. in press a)
MLcoefH Extra argument for weighted proportions. Reduces bias in two-level standard errors (Koopman et al. in press a)
Extra argument for a fixed item-step order
SWMD New data file (Koopman et al. in press a)

The following modifications have been made in Version 3.0.3 in comparison to previous versions.

coefZ Error handling added
The delta test uses range-preserving asymptotic theory (Koopman,et al., in press b)
coefH Range-preserving confidence intervals added (Koopman et al., in press b)
Extra argument to print variance-covariance matrices of estimated coefficients
Error handling added for more than 10 response categories
MLcoefH Range-preserving confidence intervals added (Koopman et al., in press b)
Extra argument to print variance-covariance matrices of estimated coefficients
MLcoefZ New function for z-scores of two-level scalability coefficients (Koopman et al., in press b)
aisp type.se default adjusted and additional error handling added
check.errors Repaired bug in check.errors
mcmi New data file (Sijtsma & van der Ark, 2020)
All functions A warning has been added if items have different numbers of response categories

The following modifications have been made in Version 3.0.4 in comparison to previous versions.

aisp Argument type.z replaces type.se to accommodate three types of z scores (Mokken's Z, Wald-based, and range-preserving)
search.normal Argument type.z replaces type.se to accommodate three types of z scores (Mokken's Z, Wald-based, and range-preserving)
coefZ Argument type.z replaces type.se to accommodate three types of z scores (Mokken's Z, Wald-based, and range-preserving)
MLcoefZ Argument type.z is added to accommodate two types of z scores (Wald-based and range-preserving)
coefH Argument type.ci is added to accommodate two types of confidence intervals (Wald-based and range-preserving)
Argument print.to.screen is replaced by results
MLcoefH Argument type.ci is added to accommodate two types of confidence intervals (Wald-based and range-preserving)
SWMDK New data file (Koopman et al., in press a)
All functions A warning has been added if items have different numbers of response categories

The following modifications have been made in Version 3.1.0 in comparison to previous versions.

check.monotonicity Condition N > 500 to determined the default value of minsize has been changed to N >= 500 to match the help file.
check.restscore Condition N > 500 to determined the default value of minsize has been changed to N >= 500 to match the help file.
check.iio Condition N > 500 to determined the default value of minsize has been changed to N >= 500 to match the help file.
check.iio For dichtomous items, a z-test is used (rather than a t-test) to test violations of manifest invariant item ordering.
check.iio For polytomous items, a paired t-test (rather than independent two-sample t-test) is now performed for testing violations of manifest invariant item ordering.
check.monotonicity Argument level.two.var is added to enable two-level model fit checks (Koopman et al., 2023a,b).
summary.monotonicity.class Adjusted to handle two-level fit results from check.monotonicity.
plot.monotonicity.class Adjusted to handle two-level fit results from check.monotonicity.
check.iio Argument level.two.var is added to enable two-level model fit checks (Koopman et al., 2023a,b).
summary.iio.class Adjusted to handle two-level fit results from check.iio.
plot.iio.class Adjusted to handle two-level fit results from check.iio.

Author(s)

L. Andries van der Ark & L. Koopman Maintainer: L. Andries van der Ark <L.A.vanderArk@uva.nl>.

References

Koopman, L., Zijlstra, B. J. H., & Van der Ark, L. A. (2023a). Assumptions and Properties of Two-Level Nonparametric Item Response Theory Models. Manuscript submitted for publication.

Koopman, L., Zijlstra, B. J. H., & Van der Ark, L. A. (2023b). Evaluating Model Fit in Two-Level Mokken Scale Analysis. Manuscript submitted for publication.

Koopman, L., Zijlstra, B. J. H., & Van der Ark, L. A. (2020). New advances in Mokken scale analysis. Paper presented at the online meeting of the Psychometric Society, July, 2020.

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")}

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.

Sijtsma, K., & Van der Ark, L. A. (2017). A tutorial on how to do a Mokken scale analysis on your test and questionnaire data. British Journal of Mathematical and Statistical Psychology, 70, 137-158. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1111/bmsp.12078")}

Sijtsma, K., & Van der Ark, L. A. (2020), Measurement models for psychological attributes. Boca Raton, FL: Chapman and Hall/CRC Press. https://www.routledge.com/Measurement-Models-for-Psychological-Attributes/Sijtsma-Ark/p/book/9780367424527

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

Van der Ark, L. A. (2010). Getting started with Mokken scale analysis in R. Unpuablished manuscript. https://sites.google.com/a/tilburguniversity.edu/avdrark/mokken

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

Examples


# Personality test
data(acl)               

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

# Compute scalability coefficients
coefH(Communality)

# Investigate the assumption of monotonicity
monotonicity.list <- check.monotonicity(Communality)
summary(monotonicity.list)
plot(monotonicity.list)

# Investigate the assumption of non-intersecting ISRFs using method restscore
restscore.list <- check.restscore(Communality)
summary(restscore.list)
plot(restscore.list)

# Investigate the assumption of non-intersecting ISRFs using method pmatrix
pmatrix.list <- check.pmatrix(Communality)
summary(pmatrix.list)
plot(pmatrix.list)

# Investigate the assumption of IIO using method MIIO
iio.list <- check.iio(Communality)
summary(iio.list)
plot(iio.list)

# Compute the reliability of the scale
check.reliability(Communality)

# Partition the the scale into mokken scales
aisp(Communality)


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