estimate_grm function

Estimation of the Graded Response Model

Estimation of the Graded Response Model

Estimate the GRM using the joint or marginal maximum likelihood estimation

model_grm_eap scores response vectors using the EAP method

model_grm_map scores response vectors using the MAP method

model_grm_jmle estimates the parameters using the joint maximum likelihood estimation (JMLE) method

model_grm_mmle estimates the parameters using the marginal maximum likelihood estimation (MMLE) method

model_grm_eap(u, a, b, D = 1.702, priors = c(0, 1), bounds_t = c(-4, 4)) model_grm_map(u, a, b, D = 1.702, priors = c(0, 1), bounds_t = c(-4, 4), iter = 30, conv = 0.001) model_grm_dv_Pt(t, a, b, D) model_grm_dv_Pa(t, a, b, D) model_grm_dv_Pb(t, a, b, D) model_grm_dv_jmle(u_ix, dvp) model_grm_jmle(u, t = NA, a = NA, b = NA, D = 1.702, iter = 100, nr_iter = 10, conv = 0.001, scale = c(0, 1), bounds_t = c(-4, 4), bounds_a = c(0.01, 2.5), bounds_b = c(-4, 4), priors = list(t = c(0, 1)), decay = 1, verbose = FALSE, true_params = NULL) model_grm_dv_mmle(u_ix, quad, pdv) model_grm_mmle(u, t = NA, a = NA, b = NA, d = NA, D = 1.702, iter = 100, nr_iter = 10, conv = 0.001, bounds_t = c(-4, 4), bounds_a = c(0.01, 2.5), bounds_b = c(-4, 4), priors = list(t = c(0, 1)), decay = 1, quad_degree = "11", score_fn = c("eap", "map"), verbose = FALSE, true_params = NULL) model_grm_fitplot(u, t, a, b, D = 1.702, index = NULL, intervals = seq(-3, 3, 0.5))

Arguments

  • u: the observed response matrix, 2d matrix
  • a: discrimination parameters, 1d vector (fixed value) or NA (freely estimate)
  • b: difficulty parameters, 2d matrix (fixed value) or NA (freely estimate)
  • D: the scaling constant, 1.702 by default
  • priors: a list of prior distributions
  • bounds_t: bounds of ability parameters
  • iter: the maximum iterations
  • conv: the convergence criterion for the -2 log-likelihood
  • t: ability parameters, 1d vector (fixed value) or NA (freely estimate)
  • u_ix: the 3d indices
  • dvp: the derivatives of P
  • nr_iter: the maximum newton-raphson iterations, default=10
  • scale: the scale of theta parameters
  • bounds_a: bounds of discrimination parameters
  • bounds_b: bounds of location parameters
  • decay: decay rate
  • verbose: TRUE to print debuggin information
  • true_params: a list of true parameters for evaluating the estimation accuracy
  • quad_degree: the number of quadrature points
  • score_fn: the scoring method: 'eap' or 'map'
  • index: the indices of items being plotted
  • intervals: intervals on the x-axis

Returns

model_grm_eap returns theta estimates and standard errors in a list

model_grm_map returns theta estimates in a list

model_grm_jmle returns estimated t, a, b parameters in a list

model_grm_mmle returns estimated t, a, b parameters in a list

model_grm_fitplot returns a ggplot object

Examples

with(model_grm_gendata(10, 50, 3), cbind(true=t, est=model_grm_eap(u, a, b)$t)) with(model_grm_gendata(10, 50, 3), cbind(true=t, est=model_grm_map(u, a, b)$t)) # generate data x <- model_grm_gendata(1000, 40, 3) # free calibration, 40 iterations y <- model_grm_jmle(x$u, true_params=x, iter=40, verbose=TRUE) # generate data x <- model_grm_gendata(1000, 40, 3) # free estimation, 40 iterations y <- model_grm_mmle(x$u, true_params=x, iter=40, verbose=TRUE) with(model_grm_gendata(1000, 20, 3), model_grm_fitplot(u, t, a, b, index=c(1, 3, 5)))
  • Maintainer: Xiao Luo
  • License: GPL (>= 3)
  • Last published: 2019-10-23