semTheta {mstR} | R Documentation |
Standard error of ability estimation (dichotomous and polytomous models)
Description
This command returns the estimated standard error of 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.
Usage
semTheta(thEst, it, x = NULL, model = NULL, D = 1, method = "BM",
priorDist = "norm", priorPar = c(0, 1), parInt = c(-4, 4, 33),
constantPatt = NULL)
Arguments
thEst |
numeric: the ability estimate. |
it |
numeric: a suitable matrix of item parameters. See Details. |
x |
numeric: a vector of item responses (default is |
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 |
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 eitehr |
Details
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.
Four 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)and the weighted likelihood (WL) estimator (Warm, 1989). The selected estimator is specified by the method
argument, with values "ML"
, "BM"
, "EAP"
and "WL"
respectively.
For the BM and EAP estimators, three prior distributions are available: the normal distribution, the uniform distribution and the 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 eapPar
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.
Note that in the current version, the ability estimate must be specified through the thEst
argument. Moreover, the response pattern must be specified through the x
argument to compute the standard error of the EAP estimate. For the other estimation methods, this is not necessary, and x
is set to NULL
by default for this purpose.
Note also that if specific stepsize adjustment was required for constant patterns with the constantPatt
argument (that is, if it takes value "fixed4"
, "fixed7"
or "var"
) then an infinite value Inf
is being returned.
Value
The estimated standard error of the ability level.
Note
Currently the standard error of the WL estimator is computed with the same formula as that of the ML estimator (up to the plug-in of the WL estimate instead of the ML estimate). Version of catR
prior to 3.0 holds a different formula mentioned in Magis and raiche (2012), but it appeared that this formula can lead to negative values of the square of the standard error. So the usual suggestion by Warm (1989) of using the same asymptotic formulas for ML and WL is currently in application until a corrected formula can be provided.
Author(s)
David Magis
Department of Psychology, University of Liege, Belgium
david.magis@uliege.be
References
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., 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. URL http://www.jstatsoft.org/v48/i08/
Warm, T.A. (1989). Weighted likelihood estimation of ability in item response models. Psychometrika, 54, 427-450. doi: 10.1007/BF02294627
See Also
eapSem
, thetaEst
, genPolyMatrix
Examples
## Dichotomous models ##
# Generation of an item bank under 3PL with 100 items
m.3PL <- genDichoMatrix(100, model = "3PL")
m.3PL <- as.matrix(m.3PL)
# Creation of a response pattern (true ability level 0)
set.seed(1)
x <- genPattern(0, m.3PL)
# ML estimation
th <- thetaEst(m.3PL, x, method = "ML")
c(th, semTheta(th, m.3PL, method = "ML"))
# BM estimation, standard normal prior distribution
th <- thetaEst(m.3PL, x)
c(th, semTheta(th, m.3PL))
# BM estimation, uniform prior distribution upon range [-2,2]
th <- thetaEst(m.3PL, x, method = "BM", priorDist = "unif",
priorPar = c(-2, 2))
c(th, semTheta(th, m.3PL, method = "BM", priorDist = "unif",
priorPar = c(-2, 2)))
# BM estimation, Jeffreys' prior distribution
th <- thetaEst(m.3PL, x, method = "BM", priorDist = "Jeffreys")
c(th, semTheta(th, m.3PL, method = "BM", priorDist = "Jeffreys"))
# EAP estimation, standard normal prior distribution
th <- thetaEst(m.3PL, x, method = "EAP")
c(th, semTheta(th, m.3PL, x, method = "EAP"))
# EAP estimation, uniform prior distribution upon range [-2,2]
th <- thetaEst(m.3PL, x, method = "EAP", priorDist = "unif",
priorPar = c(-2, 2))
c(th, semTheta(th, m.3PL, x, method = "EAP", priorDist = "unif",
priorPar = c(-2, 2)))
# EAP estimation, Jeffreys' prior distribution
th <- thetaEst(m.3PL, x, method = "EAP", priorDist = "Jeffreys")
c(th, semTheta(th, m.3PL, x, method = "EAP", priorDist = "Jeffreys"))
# WL estimation
th <- thetaEst(m.3PL, x, method = "WL")
c(th, semTheta(th, m.3PL, method = "WL"))
# 'fixed4' adjustment for constant pattern
th <- thetaEst(m.3PL, rep(0, nrow(m.3PL)), constantPatt = "fixed4")
c(th, semTheta(th, m.3PL, constantPatt = "fixed4"))
## 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
th <- thetaEst(m.GRM, x, model = "GRM", method = "ML")
c(th, semTheta(th, m.GRM, model = "GRM", method = "ML"))
# BM estimation, standard normal prior distribution
th <- thetaEst(m.GRM, x, model = "GRM")
c(th, semTheta(th, m.GRM, model = "GRM"))
# BM estimation, uniform prior distribution upon range [-2,2]
th <- thetaEst(m.GRM, x, model = "GRM", method = "BM", priorDist = "unif",
priorPar = c(-2, 2))
c(th, semTheta(th, m.GRM, model = "GRM", method = "BM", priorDist = "unif",
priorPar = c(-2, 2)))
# BM estimation, Jeffreys' prior distribution
th <- thetaEst(m.GRM, x, model = "GRM", method = "BM", priorDist = "Jeffreys")
c(th, semTheta(th, m.GRM, model = "GRM", method = "BM", priorDist = "Jeffreys"))
# EAP estimation, standard normal prior distribution
th <- thetaEst(m.GRM, x, model = "GRM", method = "EAP")
c(th, semTheta(th, m.GRM, x, model = "GRM", method = "EAP") )
# EAP estimation, uniform prior distribution upon range [-2,2]
th <- thetaEst(m.GRM, x, model = "GRM", method = "EAP", priorDist = "unif",
priorPar = c(-2, 2))
c(th, semTheta(th, m.GRM, x, model = "GRM", method = "EAP", priorDist = "unif",
priorPar = c(-2, 2)))
# EAP estimation, Jeffreys' prior distribution
th <- thetaEst(m.GRM, x, model = "GRM", method = "EAP", priorDist = "Jeffreys")
c(th, semTheta(th, m.GRM, x, model = "GRM", method = "EAP", priorDist = "Jeffreys"))
# WL estimation
th <- thetaEst(m.GRM, x, model = "GRM", method = "WL")
c(th, semTheta(th, m.GRM, 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
th <- thetaEst(m.PCM, x, model = "PCM", method = "ML")
c(th, semTheta(th, m.PCM, model = "PCM", method = "ML"))
# BM estimation, standard normal prior distribution
th <- thetaEst(m.PCM, x, model = "PCM")
c(th, semTheta(th, m.PCM, model = "PCM"))
# BM estimation, uniform prior distribution upon range [-2,2]
th <- thetaEst(m.PCM, x, model = "PCM", method = "BM", priorDist = "unif",
priorPar = c(-2, 2))
c(th, semTheta(th, m.PCM, model = "PCM", method = "BM", priorDist = "unif",
priorPar = c(-2, 2)))
# BM estimation, Jeffreys' prior distribution
th <- thetaEst(m.PCM, x, model = "PCM", method = "BM", priorDist = "Jeffreys")
c(th, semTheta(th, m.PCM, model = "PCM", method = "BM", priorDist = "Jeffreys"))
# EAP estimation, standard normal prior distribution
th <- thetaEst(m.PCM, x, model = "PCM", method = "EAP")
c(th, semTheta(th, m.PCM, x, model = "PCM", method = "EAP"))
# EAP estimation, uniform prior distribution upon range [-2,2]
th <- thetaEst(m.PCM, x, model = "PCM", method = "EAP", priorDist = "unif",
priorPar = c(-2, 2))
c(th, semTheta(th, m.PCM, x, model = "PCM", method = "EAP", priorDist = "unif",
priorPar = c(-2, 2)))
# EAP estimation, Jeffreys' prior distribution
th <- thetaEst(m.PCM, x, model = "PCM", method = "EAP", priorDist = "Jeffreys")
c(th, semTheta(th, m.PCM, x, model = "PCM", method = "EAP", priorDist = "Jeffreys"))
# WL estimation
th <- thetaEst(m.PCM, x, model = "PCM", method = "WL")
c(th, semTheta(th, m.PCM, model = "PCM", method = "WL"))
## End(Not run)