mlef-methods: Compute maximum likelihood estimates of theta using fence...

mlefR Documentation

Compute maximum likelihood estimates of theta using fence items

Description

mlef is a function to compute maximum likelihood estimates of theta using fence items.

Usage

mlef(
  object,
  select = NULL,
  resp,
  fence_slope = 5,
  fence_difficulty = c(-5, 5),
  start_theta = NULL,
  max_iter = 100,
  crit = 0.001,
  truncate = FALSE,
  theta_range = c(-4, 4),
  max_change = 1,
  use_step_size = FALSE,
  step_size = 0.5,
  do_Fisher = TRUE
)

## S4 method for signature 'item_pool'
mlef(
  object,
  select = NULL,
  resp,
  fence_slope = 5,
  fence_difficulty = c(-5, 5),
  start_theta = NULL,
  max_iter = 50,
  crit = 0.005,
  truncate = FALSE,
  theta_range = c(-4, 4),
  max_change = 1,
  use_step_size = FALSE,
  step_size = 0.5,
  do_Fisher = TRUE
)

Arguments

object

an item_pool object.

select

(optional) if item indices are supplied, only the specified items are used.

resp

item response on all (or selected) items in the object argument. Can be a vector, a matrix, or a data frame. length(resp) or ncol(resp) must be equal to the number of all (or selected) items.

fence_slope

the slope parameter to use on fence items. Can be one value, or two values for the lower and the upper fence respectively. (default = 5)

fence_difficulty

the difficulty parameter to use on fence items. Must have two values for the lower and the upper fence respectively. (default = c(-5, 5))

start_theta

(optional) initial theta values. If not supplied, EAP estimates using uniform priors are used as initial values. Uniform priors are computed using the theta_range argument below, with increments of .1.

max_iter

maximum number of iterations. (default = 100)

crit

convergence criterion to use. (default = 0.001)

truncate

set TRUE to impose a bound using theta_range on the estimate. (default = FALSE)

theta_range

a range of theta values to bound the estimate. Only effective when truncate is TRUE. (default = c(-4, 4))

max_change

upper bound to impose on the absolute change in theta between iterations. Absolute changes exceeding this value will be capped to max_change. (default = 1.0)

use_step_size

set TRUE to use step_size. (default = FALSE)

step_size

upper bound to impose on the absolute change in initial theta and estimated theta. Absolute changes exceeding this value will be capped to step_size. (default = 0.5)

do_Fisher

set TRUE to use Fisher scoring instead of Newton-Raphson method. (default = TRUE)

Value

mlef returns a list containing estimated values.

  • th theta value.

  • se standard error.

  • conv TRUE if estimation converged.

  • trunc TRUE if truncation was applied on th.

References

Han, K. T. (2016). Maximum likelihood score estimation method with fences for short-length tests and computerized adaptive tests. Applied Psychological Measurement, 40(4), 289-301.

Examples

mlef(itempool_fatigue, resp = resp_fatigue_data[10, ])
mlef(itempool_fatigue, select = 1:20, resp = resp_fatigue_data[10, 1:20])

TestDesign documentation built on Feb. 16, 2023, 7:19 p.m.