Estimation of the Generalizaed Partial Credit Model
Estimate the GPCM using the joint or marginal maximum likelihood estimation
model_gpcm_eap
scores response vectors using the EAP method
model_gpcm_map
scores response vectors using the MAP method
model_gpcm_jmle
estimates the parameters using the joint maximum likelihood estimation (JMLE) method
model_gpcm_mmle
estimates the parameters using the marginal maximum likelihood estimation (MMLE) method
model_gpcm_eap(u, a, b, d, D = 1.702, priors = c(0, 1), bounds_t = c(-4, 4)) model_gpcm_map(u, a, b, d, D = 1.702, priors = c(0, 1), bounds_t = c(-4, 4), iter = 30, conv = 0.001) model_gpcm_dv_Pt(t, a, b, d, D) model_gpcm_dv_Pa(t, a, b, d, D) model_gpcm_dv_Pb(t, a, b, d, D) model_gpcm_dv_Pd(t, a, b, d, D) model_gpcm_dv_jmle(u_ix, dvp) model_gpcm_jmle(u, t = NA, a = NA, b = NA, d = 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), bounds_d = c(-4, 4), priors = list(t = c(0, 1)), decay = 1, verbose = FALSE, true_params = NULL) model_gpcm_dv_mmle(u_ix, quad, pdv) model_gpcm_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), bounds_d = 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_gpcm_fitplot(u, t, a, b, d, D = 1.702, d0 = NULL, index = NULL, intervals = seq(-3, 3, 0.5))
u
: the observed response matrix, 2d matrixa
: discrimination parameters, 1d vector (fixed value) or NA (freely estimate)b
: difficulty parameters, 1d vector (fixed value) or NA (freely estimate)d
: category parameters, 2d matrix (fixed value) or NA (freely estimate)D
: the scaling constant, 1.702 by defaultpriors
: a list of prior distributionsbounds_t
: bounds of ability parametersiter
: the maximum iterationsconv
: the convergence criterion of the -2 log-likelihoodt
: ability parameters, 1d vector (fixed value) or NA (freely estimate)u_ix
: the 3d indicesdvp
: the derivatives of Pnr_iter
: the maximum iterations of newton-raphsonscale
: the scale of theta parametersbounds_a
: bounds of discrimination parametersbounds_b
: bounds of location parametersbounds_d
: bounds of category parametersdecay
: decay rateverbose
: TRUE to print debuggin informationtrue_params
: a list of true parameters for evaluating the estimation accuracyquad_degree
: the number of quadrature pointsscore_fn
: the scoring method: 'eap' or 'map'd0
: insert an initial category valueindex
: the indices of items being plottedintervals
: intervals on the x-axismodel_gpcm_eap
returns theta estimates and standard errors in a list
model_gpcm_map
returns theta estimates in a list
model_gpcm_jmle
returns estimated t, a, b, d parameters in a list
model_gpcm_mmle
returns estimated t, a, b, d parameters in a list
model_gpcm_fitplot
returns a ggplot
object
with(model_gpcm_gendata(10, 40, 3), cbind(true=t, est=model_gpcm_eap(u, a, b, d)$t)) with(model_gpcm_gendata(10, 40, 3), cbind(true=t, est=model_gpcm_map(u, a, b, d)$t)) # generate data x <- model_gpcm_gendata(1000, 40, 3) # free calibration, 40 iterations y <- model_gpcm_jmle(x$u, true_params=x, iter=40, verbose=TRUE) # generate data x <- model_gpcm_gendata(1000, 40, 3) # free estimation, 40 iterations y <- model_gpcm_mmle(x$u, true_params=x, iter=40, verbose=TRUE) with(model_gpcm_gendata(1000, 20, 3), model_gpcm_fitplot(u, t, a, b, d, index=c(1, 3, 5)))