mle is a function for computing maximum likelihood estimates of theta.

mle(
  object,
  select = NULL,
  resp,
  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 class 'item_pool'
mle(
  object,
  select = NULL,
  resp,
  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
)

MLE(
  object,
  select = NULL,
  start_theta = NULL,
  max_iter = 100,
  crit = 0.001,
  theta_range = c(-4, 4),
  truncate = FALSE,
  max_change = 1,
  do_Fisher = TRUE
)

# S4 method for class 'test'
MLE(
  object,
  select = NULL,
  start_theta = NULL,
  max_iter = 100,
  crit = 0.001,
  theta_range = c(-4, 4),
  truncate = FALSE,
  max_change = 1,
  do_Fisher = TRUE
)

# S4 method for class 'test_cluster'
MLE(object, select = NULL, start_theta = NULL, max_iter = 100, crit = 0.001)

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.

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

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

Examples

mle(itempool_fatigue, resp = resp_fatigue_data[10, ])
#> $th
#> [1] -0.1112582
#> 
#> $se
#> [1] 0.06490829
#> 
#> $conv
#> [1] TRUE
#> 
#> $trunc
#> [1] FALSE
#> 
mle(itempool_fatigue, select = 1:20, resp = resp_fatigue_data[10, 1:20])
#> $th
#> [1] -0.1573182
#> 
#> $se
#> [1] 0.1329886
#> 
#> $conv
#> [1] TRUE
#> 
#> $trunc
#> [1] FALSE
#>