thetaEst | R Documentation |
This command returns the ability estimate for a given response pattern and a given matrix of item parameters, either under the 4PL model or any suitable polytomous IRT model. Available estimators are maximum likelihood (ML), Bayes modal (BM), expected a posteriori (EAP), weighted likelihood (WL) and robust estimator (ROB).
thetaEst(it, x, model = NULL, D = 1, method = "BM", priorDist = "norm", priorPar = c(0, 1), weight = "Huber", tuCo = 1, range = c(-4, 4), parInt = c(-4, 4, 33), constantPatt = NULL, current.th = 0, bRange = c(-2, 2))
it |
numeric: a suitable matrix of item parameters. See Details. |
x |
numeric: a vector of item responses. Can also hold missing data (coded as |
model |
either |
D |
numeric: the metric constant. Default is |
method |
character: the ability estimator. Possible values are |
priorDist |
character: specifies the prior distribution. Possible values are |
priorPar |
numeric: vector of two components specifying the prior parameters (default is |
weight |
character: the type of weight function for the robust estimator. Possible values are |
tuCo |
numeric: the value of the tuning constant for the weight function (default is 1, suitable with |
range |
numeric: vector of two components specifying the range wherein the ability estimate must be looked for (default is |
parInt |
numeric: vector of three components, holding respectively the values of the arguments |
constantPatt |
character: the method to estimate ability in case of constant pattern (i.e. only correct or only incorrect responses). Can be either |
current.th |
numeric: the current ability estimate (default is zero). Required for ability estimation in presence of constant pattern. Ignored if |
bRange |
numeric: vector of two componentns with the range of difficulty parameters in the parent item bank (default is |
Dichotomous IRT models are considered whenever model
is set to NULL
(default value). In this case, it
must be a matrix with one row per item and four columns, with the values of the discrimination, the difficulty, the pseudo-guessing and the inattention parameters (in this order). These are the parameters of the four-parameter logistic (4PL) model
(Barton and Lord, 1981).
Polytomous IRT models are specified by their respective acronym: "GRM"
for Graded Response Model, "MGRM"
for Modified Graded Response Model, "PCM"
for Partical Credit Model, "GPCM"
for Generalized Partial Credit Model, "RSM"
for Rating Scale Model and "NRM"
for Nominal Response Model. The it
still holds one row per item, end the number of columns and their content depends on the model. See genPolyMatrix
for further information and illustrative examples of suitable polytomous item banks.
The vector of response patterns x
can also hold missing responses (more useful in linear testing, not in CAT). In this case the missing responses must be coded as NA
values. They are discarded from the ability estimation process.
Five ability estimators are available: the maximum likelihood (ML) estimator (Lord, 1980), the Bayes modal (BM) estimator (Birnbaum, 1969), the expected a posteriori (EAP) estimator (Bock and Mislevy, 1982), the weighted likelihood (WL) estimator (Warm, 1989) and the robust estimator (Schuster & Yuan, 2011). The selected estimator is specified by the method
argument, with values "ML"
, "BM"
, "EAP"
, "WL"
and "ROB"
respectively.
For the BM and EAP estimators, three prior distributions are available: the normal distribution, the uniform distribution and Jeffreys' prior distribution (Jeffreys, 1939, 1946). The prior distribution is specified by the argument priorPar
, with values "norm"
, "unif"
and "Jeffreys"
, respectively. The priorPar
argument is ignored if method="ML"
or method="WL"
.
The argument priorPar
determines either the prior mean and standard deviation of the normal prior distribution (if
priorDist="norm"
), or the range for defining the prior uniform distribution (if priorDist="unif"
). This argument
is ignored if priorDist="Jeffreys"
.
The parInt
argument sets the range and the number of quadrature points for numerical integration in the EAP process. By default, it takes the vector value (-4, 4, 33), that is, 33 quadrature points on the range [-4; 4] (or, by steps of 0.25). See eapEst
for further details.
Robust estimation requires an appropriate weight function that depends on an accurate tuning constant. Suggested functions are the Huber weight (Schuester and Yuan, 2011) and the Tukey weight (Mosteller and Tukey, 1977). Both can be set by the weight
argument, with respective values "Huber"
and "Tukey"
. Default function is Huber. Moreover, the tuCo
argument specifies the tuning constant for the weight function. Default value is 1 and suggested for Huber weight (also by default), and value 4 is suggested for Tukey weight (Schuester and Yuan, 2011).
The range
argument permits to limit the interval of investigation for the ML, BM, WL and ROB ability estimates (in particular, to avoid infinite ability estimates). The default range
is [-4, 4].
Specific ability estimation methods are available in presence of constant patterns (that is with only correct or only incorrect responses) under dichotomous IRT models. These methods are specified by the argument constantPatt
. By default it is set to NULL
and hence ability is estimated with the specified method
(even in presence of constant pattern). Six methods are currently available for constant patterns: "BM"
, "EAP"
and "WL"
that call for Bayes modal, expected a posteriori and weighted likelihood estimation respectively; "fixed4"
and "fixed7"
that perform fixed stepsize adjustment (i.e. increase or decrease of constant magnitude) with step 0.4 and 0.7 respectively; and "var"
for variable stepsize adjustment. Note that in case odf stepsize adjustment, the range of difficultyu parameters must be provided through the bRange
argument, as vector of two components (default value being c(-2,2)
). See Dodd, De Ayala, and Koch (1995) for further details.
The estimated ability level.
1) It has been shown that in some cases the weighted likelihood estimator and the Bayes modal estimator with Jeffreys prior return exactly the same ability estimates. This is the case under the 2PL model, and subsequently the 1PL model (Warm, 1989) as well as under all polytomous models currently available (Magis, 2015). Nevertheless, both estimators remain available since (a) Jeffreys prior can also be considered with the EAP estimator, and (b) the 3PL and 4PL models are also available.
2) So far the robust estimator is available for dichotomous IRT models only.
David Magis
Department of Psychology, University of Liege, Belgium
david.magis@uliege.be
Lianne Ippel
Department of Psychology, University of Liege, Belgium
g.j.e.ippel@gmail.com
Barton, M.A., and Lord, F.M. (1981). An upper asymptote for the three-parameter logistic item-response model. Research Bulletin 81-20. Princeton, NJ: Educational Testing Service.
Birnbaum, A. (1969). Statistical theory for logistic mental test models with a prior distribution of ability. Journal of Mathematical Psychology, 6, 258-276. doi: 10.1016/0022-2496(69)90005-4
Bock, R. D., and Mislevy, R. J. (1982). Adaptive EAP estimation of ability in a microcomputer environment. Applied Psychological Measurement, 6, 431-444. doi: 10.1177/014662168200600405
Dodd, B. G., De Ayala, R. J., and Koch, W. R. (1995) . Computerized adaptive testing with polytomous items. Applied Psychological Measurement, 19, 5-22. doi: 10.1177/014662169501900103
Haley, D.C. (1952). Estimation of the dosage mortality relationship when the dose is subject to error. Technical report no 15. Palo Alto, CA: Applied Mathematics and Statistics Laboratory, Stanford University.
Jeffreys, H. (1939). Theory of probability. Oxford, UK: Oxford University Press.
Jeffreys, H. (1946). An invariant form for the prior probability in estimation problems. Proceedings of the Royal Society of London. Series A, Mathematical and Physical Sciences, 186, 453-461.
Lord, F.M. (1980). Applications of item response theory to practical testing problems. Hillsdale, NJ: Lawrence Erlbaum.
Magis, D. (2015). A note on weighted likelihood and Jeffreys modal estimation of proficiency levels in polytomous item response models. Psychometrika, 80, 200-204. doi: 10.1007/S11336-013-9378-5
Magis, D. and Barrada, J. R. (2017). Computerized Adaptive Testing with R: Recent Updates of the Package catR. Journal of Statistical Software, Code Snippets, 76(1), 1-18. doi: 10.18637/jss.v076.c01
Magis, D., and Raiche, G. (2012). Random Generation of Response Patterns under Computerized Adaptive Testing with the R Package catR. Journal of Statistical Software, 48 (8), 1-31. doi: 10.18637/jss.v048.i08
Mosteller, F., and Tukey, J. (1977). Exploratory data analysis and regression. Reading, MA: Addison-Wesley.
Schuester, C., and Yuan, K.-H. (2011). Robust estimation of latent ability in item response models. Journal of Educational and Behavioral Statistics, 36, 720)735.doi: 10.3102/1076998610396890
Warm, T.A. (1989). Weighted likelihood estimation of ability in item response models. Psychometrika, 54, 427-450. doi: 10.1007/BF02294627
eapEst
, semTheta
, genPolyMatrix
## Dichotomous models ## # Loading the 'tcals' parameters data(tcals) # Selecting item parameters only tcals <- as.matrix(tcals[,1:4]) # Creation of a response pattern (tcals item parameters, true ability level 0) set.seed(1) x <- genPattern(0, tcals) # ML estimation thetaEst(tcals, x, method = "ML") # With first two responses missing x.mis <- x x.mis[1:2] <- NA thetaEst(tcals, x.mis, method = "ML") # BM estimation, standard normal prior distribution thetaEst(tcals, x) # BM estimation, uniform prior distribution upon range [-2,2] thetaEst(tcals, x, method = "BM", priorDist = "unif", priorPar = c(-2, 2)) # BM estimation, Jeffreys' prior distribution thetaEst(tcals, x, method = "BM", priorDist = "Jeffreys") # EAP estimation, standard normal prior distribution thetaEst(tcals, x, method = "EAP") # EAP estimation, uniform prior distribution upon range [-2,2] thetaEst(tcals, x, method = "EAP", priorDist = "unif", priorPar = c(-2, 2)) # EAP estimation, Jeffreys' prior distribution thetaEst(tcals, x, method = "EAP", priorDist = "Jeffreys") # WL estimation thetaEst(tcals, x, method = "WL") # Robust estimation, Huber weight with tuning constant 1 (default) thetaEst(tcals, x, method = "ROB") # Robust estimation, Huber weight with tuning constant 2 thetaEst(tcals, x, method = "ROB", tuCo = 2) # Robust estimation, Tukey weight with tuning constant 4 thetaEst(tcals, x, method = "ROB", weight = "Tukey", tuCo = 4) # Creation of two constant patterns and estimation with WL, # 'fixed4', 'fixed7' and 'var' stepsize adjustments x0 <- rep(0,nrow(tcals)) x1 <- x0 + 1 thetaEst(tcals, x0, constantPatt = "WL") # equivalent to thetaEst(tcals, x0, method = "WL") thetaEst(tcals, x1, constantPatt = "WL") # equivalent to thetaEst(tcals, x1, method = "WL") thetaEst(tcals, x0, constantPatt = "fixed4") thetaEst(tcals, x1, constantPatt = "fixed4") thetaEst(tcals, x0, constantPatt = "fixed7") thetaEst(tcals, x1, constantPatt = "fixed7") thetaEst(tcals, x0, constantPatt = "var") thetaEst(tcals, x1, constantPatt = "var") ## Not run: ## Polytomous models ## # Generation of an item bank under GRM with 100 items and at most 4 categories m.GRM <- genPolyMatrix(100, 4, "GRM") m.GRM <- as.matrix(m.GRM) # Creation of a response pattern (true ability level 0) set.seed(1) x <- genPattern(0, m.GRM, model = "GRM") # ML estimation thetaEst(m.GRM, x, model = "GRM", method = "ML") # BM estimation, standard normal prior distribution thetaEst(m.GRM, x, model = "GRM") # BM estimation, uniform prior distribution upon range [-2,2] thetaEst(m.GRM, x, model = "GRM", method = "BM", priorDist = "unif", priorPar = c(-2, 2)) # BM estimation, Jeffreys' prior distribution thetaEst(m.GRM, x, model = "GRM", method = "BM", priorDist = "Jeffreys") # EAP estimation, standard normal prior distribution thetaEst(m.GRM, x, model = "GRM", method = "EAP") # EAP estimation, uniform prior distribution upon range [-2,2] thetaEst(m.GRM, x, model = "GRM", method = "EAP", priorDist = "unif", priorPar = c(-2, 2)) # EAP estimation, Jeffreys' prior distribution thetaEst(m.GRM, x, model = "GRM", method = "EAP", priorDist = "Jeffreys") # WL estimation thetaEst(m.GRM, x, model = "GRM", method = "WL") # Generation of an item bank under PCM with 20 items and 4 categories m.PCM <- genPolyMatrix(20, 4, "PCM", same.nrCat = TRUE) m.PCM <- as.matrix(m.PCM) # Creation of a response pattern (true ability level 0) set.seed(1) x <- genPattern(0, m.PCM, model = "PCM") # ML estimation thetaEst(m.PCM, x, model = "PCM", method = "ML") # BM estimation, standard normal prior distribution thetaEst(m.PCM, x, model = "PCM") # BM estimation, uniform prior distribution upon range [-2,2] thetaEst(m.PCM, x, model = "PCM", method = "BM", priorDist = "unif", priorPar = c(-2, 2)) # BM estimation, Jeffreys' prior distribution thetaEst(m.PCM, x, model = "PCM", method = "BM", priorDist = "Jeffreys") # EAP estimation, standard normal prior distribution thetaEst(m.PCM, x, model = "PCM", method = "EAP") # EAP estimation, uniform prior distribution upon range [-2,2] thetaEst(m.PCM, x, model = "PCM", method = "EAP", priorDist = "unif", priorPar = c(-2, 2)) # EAP estimation, Jeffreys' prior distribution thetaEst(m.PCM, x, model = "PCM", method = "EAP", priorDist = "Jeffreys") # WL estimation thetaEst(m.PCM, x, model = "PCM", method = "WL") ## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.