calcHessian is a function for calculating the second derivative of the log-likelihood function.

calcHessian(object, theta, resp)

# S4 method for item_1PL,numeric,numeric
calcHessian(object, theta, resp)

# S4 method for item_2PL,numeric,numeric
calcHessian(object, theta, resp)

# S4 method for item_3PL,numeric,numeric
calcHessian(object, theta, resp)

# S4 method for item_PC,numeric,numeric
calcHessian(object, theta, resp)

# S4 method for item_GPC,numeric,numeric
calcHessian(object, theta, resp)

# S4 method for item_GR,numeric,numeric
calcHessian(object, theta, resp)

# S4 method for item_1PL,matrix,numeric
calcHessian(object, theta, resp)

# S4 method for item_2PL,matrix,numeric
calcHessian(object, theta, resp)

# S4 method for item_3PL,matrix,numeric
calcHessian(object, theta, resp)

# S4 method for item_PC,matrix,numeric
calcHessian(object, theta, resp)

# S4 method for item_GPC,matrix,numeric
calcHessian(object, theta, resp)

# S4 method for item_GR,matrix,numeric
calcHessian(object, theta, resp)

# S4 method for item_pool,numeric,numeric
calcHessian(object, theta, resp)

# S4 method for item_pool_cluster,numeric,list
calcHessian(object, theta, resp)

Arguments

object

an item or an item_pool object.

theta

theta values to use.

resp

the response data to use. This must be a single value for an item, or a length ni vector for an item_pool.

Value

item object:

calcHessian returns a length nq vector containing the second derivative of the log-likelihood function, of observing the response at each theta.

item_pool object:

calcHessian returns a (nq, ni) matrix containing the second derivative of the log-likelihood function, of observing the response at each theta.

Details

notations
  • nq denotes the number of theta values.

  • ni denotes the number of items in the item_pool object.

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.

Examples


item_1    <- new("item_1PL", difficulty = 0.5)
item_2    <- new("item_2PL", slope = 1.0, difficulty = 0.5)
item_3    <- new("item_3PL", slope = 1.0, difficulty = 0.5, guessing = 0.2)
item_4    <- new("item_PC", threshold = c(-1, 0, 1), ncat = 4)
item_5    <- new("item_GPC", slope = 1.2, threshold = c(-0.8, -1.0, 0.5), ncat = 4)
item_6    <- new("item_GR", slope = 0.9, category = c(-1, 0, 1), ncat = 4)

h_item_1 <- calcHessian(item_1, seq(-3, 3, 1), 0)
h_item_2 <- calcHessian(item_2, seq(-3, 3, 1), 0)
h_item_3 <- calcHessian(item_3, seq(-3, 3, 1), 0)
h_item_4 <- calcHessian(item_4, seq(-3, 3, 1), 0)
h_item_5 <- calcHessian(item_5, seq(-3, 3, 1), 0)
h_item_6 <- calcHessian(item_6, seq(-3, 3, 1), 0)
h_pool   <- calcHessian(
  itempool_science, seq(-3, 3, 1),
  rep(0, itempool_science@ni)
)