# Ability estimation (dichotomous and polytomous models)

### Description

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, Bayes modal (MAP), expected a posteriori (EAP) and weighted likelihood.

### Usage

1 2 3 4 |

### Arguments

`it` |
numeric: a suitable matrix of item parameters. See |

`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 |

`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 |

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

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.

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 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.

The `range`

argument permits to limit the interval of investigation for the ML, BM and WL 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.

### Value

The estimated ability level.

### Note

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.

### Author(s)

David Magis

Department of Education, University of Liege, Belgium

david.magis@ulg.ac.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. (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 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

`eapEst`

, `semTheta`

, `genPolyMatrix`

### Examples

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 | ```
## 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")
# 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)
``` |

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker. Vote for new features on Trello.