calc_likelihood function

(C++) For multiple items, calculate likelihoods

(C++) For multiple items, calculate likelihoods

calc_likelihood() and calc_likelihood_function() are functions for calculating likelihoods.

calc_likelihood(x, item_parm, resp, ncat, model) calc_likelihood_function(theta_grid, item_parm, resp, ncat, model) calc_log_likelihood(x, item_parm, resp, ncat, model, prior, prior_parm) calc_log_likelihood_function( theta_grid, item_parm, resp, ncat, model, prior, prior_parm )

Arguments

  • x, theta_grid: the theta value. This must be a column vector in matrix form for calc_*_function() functions.

  • item_parm: a matrix containing item parameters. Each row should represent an item.

  • resp: a vector containing responses on each item.

  • ncat: a vector containing the number of response categories of each item.

  • model: a vector indicating item models of each item, using

    • 1: 1PL model
    • 2: 2PL model
    • 3: 3PL model
    • 4: PC model
    • 5: GPC model
    • 6: GR model
  • prior: an integer indicating the type of prior distribution, using

    • 1: normal distribution
    • 2: uniform distribution
  • prior_parm: a vector containing parameters for the prior distribution.

Details

calc_log_likelihood() and calc_log_likelihood_function() are functions for calculating log likelihoods.

These functions are designed for multiple items.

calc_*() functions accept a single theta value, and calc_*_function() functions accept multiple theta values.

Currently supports unidimensional models.

Examples

# item parameters item_parm <- matrix(c( 1, NA, NA, 1, 2, NA, 1, 2, 0.25, 0, 1, NA, 2, 0, 1, 2, 0, 2), nrow = 6, byrow = TRUE ) ncat <- c(2, 2, 2, 3, 3, 3) model <- c(1, 2, 3, 4, 5, 6) resp <- c(0, 1, 0, 1, 0, 1) x <- 3 l <- calc_likelihood(x, item_parm, resp, ncat, model) ll <- calc_log_likelihood(x, item_parm, resp, ncat, model, 2, NA) log(l) == ll x <- matrix(seq(-3, 3, .1)) l <- calc_likelihood_function(x, item_parm, resp, ncat, model) ll <- calc_log_likelihood_function(x, item_parm, resp, ncat, model, 2, NA) all(log(l) == ll)

References

Rasch, G. (1960). Probabilistic models for some intelligence and attainment tests.

Copenhagen: Danish Institute for Educational Research.

Lord, F. M. (1952). A theory of test scores (Psychometric Monograph No. 7). Richmond, VA: Psychometric Corporation.

Birnbaum, A. (1957). Efficient design and use of tests of mental ability for various decision-making problems

(Series Report No. 58-16. Project No. 7755-23). Randolph Air Force Base, TX: USAF School of Aviation Medicine.

Birnbaum, A. (1958). On the estimation of mental ability

(Series Report No. 15. Project No. 7755-23). Randolph Air Force Base, TX: USAF School of Aviation Medicine.

Birnbaum, A. (1958). Further considerations of efficiency in tests of a mental ability

(Series Report No. 17. Project No. 7755-23). Randolph Air Force Base, TX: USAF School of Aviation Medicine.

Birnbaum, A. (1968). Some latent trait models and their use in inferring an examinee's ability. In Lord, F. M., Novick, M. R. (eds.), Statistical Theories of Mental Test Scores, 397-479. Reading, MA: Addison-Wesley.

Masters, G. N. (1982). A Rasch model for partial credit scoring. Psychometrika, 47(2), 149-174.

Andrich, D. (1978). A rating formulation for ordered response categories. Psychometrika, 43(4), 561-573.

Muraki, E. (1992). A generalized partial credit model: Application of an EM algorithm. Applied Psychological Measurement, 16(2), 159-176.

Samejima, F. (1969). Estimation of latent ability using a response pattern of graded scores. Psychometrika Monograph, 17.

  • Maintainer: Seung W. Choi
  • License: GPL (>= 2)
  • Last published: 2024-08-22