Stata 15 help for irt 3pl

[IRT] irt 3pl -- Three-parameter logistic model


irt 3pl varlist [if] [in] [weight] [, options]

options Description ------------------------------------------------------------------------- Model listwise drop observations with any missing items sepguessing estimate a separate pseudoguessing parameter for each item

SE/Robust vce(vcetype) vcetype may be oim, robust, cluster clustvar, bootstrap, or jackknife

Reporting level(#) set confidence level; default is level(95) notable suppress coefficient table noheader suppress output header display_options control columns and column formats

Integration intmethod(intmethod) integration method intpoints(#) set the number of integration points; default is intpoints(7)

Maximization maximize_options control the maximization process; seldom used

startvalues(svmethod) method for obtaining starting values noestimate do not fit the model; show starting values instead dnumerical use numerical derivative techniques coeflegend display legend instead of statistics -------------------------------------------------------------------------

intmethod Description ------------------------------------------------------------------------- mvaghermite mean-variance adaptive Gauss-Hermite quadrature; the default mcaghermite mode-curvature adaptive Gauss-Hermite quadrature ghermite nonadaptive Gauss-Hermite quadrature -------------------------------------------------------------------------

bootstrap, by, jackknife, statsby, and svy are allowed; see prefix. Weights are not allowed with the bootstrap prefix. vce() and weights are not allowed with the svy prefix. fweights, iweights, and pweights are allowed; see weight. startvalues(), noestimate, dnumerical, and coeflegend do not appear in the dialog box. See [IRT] irt 3pl postestimation for features available after estimation.


Statistics > IRT (item response theory)


irt 3pl fits three-parameter logistic (3PL) models to binary items. In the 3PL model, items vary in their difficulty and discrimination and the possibility of guessing is allowed.


+-------+ ----+ Model +------------------------------------------------------------

listwise handles missing values through listwise deletion, which means that the entire observation is omitted from the estimation sample if any of the items are missing for that observation. By default, all nonmissing items in an observation are included in the likelihood calculation; only missing items are excluded.

sepguessing specifies that a separate pseudoguessing parameter be estimated for each item. This is a seldom used option; see the technical note in [IRT] irt 3pl.

+-----------+ ----+ SE/Robust +--------------------------------------------------------

vce(vcetype) specifies the type of standard error reported, which includes types that are derived from asymptotic theory (oim), that are robust to some kinds of misspecification (robust), that allow for intragroup correlation (cluster clustvar), and that use bootstrap or jackknife methods (bootstrap, jackknife); see [R] vce_option.

+-----------+ ----+ Reporting +--------------------------------------------------------

level(#); see [R] estimation options.

notable suppresses the estimation table, either at estimation or upon replay.

noheader suppresses the output header, either at estimation or upon replay.

display_options: noci, nopvalues, cformat(fmt), pformat(%fmt), sformat(%fmt), and nolstretch; see [R] estimation options.

+-------------+ ----+ Integration +------------------------------------------------------

intmethod(intmethod) specifies the integration method to be used for computing the log likelihood. mvaghermite performs mean and variance adaptive Gauss-Hermite quadrature; mcaghermite performs mode and curvature adaptive Gauss-Hermite quadrature; and ghermite performs nonadaptive Gauss-Hermite quadrature.

The default integration method is mvaghermite.

intpoints(#) sets the number of integration points for quadrature. The default is intpoints(7), which means that seven quadrature points are used to compute the log likelihood.

The more integration points, the more accurate the approximation to the log likelihood. However, computation time increases with the number of integration points.

+--------------+ ----+ Maximization +-----------------------------------------------------

maximize_options: difficult, technique(algorithm_spec), iterate(#), [no]log, trace, gradient, showstep, hessian, showtolerance, tolerance(#), ltolerance(#), nrtolerance(#), nonrtolerance, and from(init_specs); see [R] maximize. Those that require special mention for irt are listed below.

from() accepts a properly labeled vector of initial values or a list of coefficient names with values. A list of values is not allowed.

The following options are available with irt but are not shown in the dialog box:

startvalues() specifies how starting values are to be computed. Starting values specified in from() override the computed starting values.

startvalues(zero) specifies that all starting values be set to 0. This option is typically useful only when specified with the from() option.

startvalues(constantonly) builds on startvalues(zero) by fitting a constant-only model for each response to obtain estimates of intercept and cutpoint parameters.

startvalues(fixedonly) builds on startvalues(constantonly) by fitting a full fixed-effects model for each response variable to obtain estimates of coefficients along with intercept and cutpoint parameters. You can also add suboption iterate(#) to limit the number of iterations irt allows for fitting the fixed-effects model.

startvalues(ivloadings) builds on startvalues(fixedonly) by using instrumental-variable methods with the generalized residuals from the fixed-effects models to compute starting values for latent-variable loadings. This is the default behavior.

noestimate specifies that the model is not to be fit. Instead, starting values are to be shown (as modified by the above options if modifications were made), and they are to be shown using the coeflegend style of output. An important use of this option is before you have modified starting values at all; you can type the following:

. irt ..., ... noestimate

. matrix b = e(b)

. ... (modify elements of b) ...

. irt ..., ... from(b)

dnumerical specifies that during optimization, the gradient vector and Hessian matrix be computed using numerical techniques instead of analytical formulas. By default, irt uses analytical formulas for computing the gradient and Hessian for all integration methods.

coeflegend; see [R] estimation options.


Setup . webuse masc1

Fit a 3PL model to binary items q1-q9 . irt 3pl q1-q9

Replay the table of estimated IRT parameters, sorting the output by parameter instead of by item and in ascending order of difficulty . estat report, byparm sort(b)

Use the 3PL parameters to plot the item characteristic curves of the most difficult item . irtgraph icc q7, blocation ylabel(0 0.09 0.545 1)

Use the 3PL parameters to plot the test characteristic curves . irtgraph tcc, thetalines(-1.96 0 1.96)

Video example

Item response theory using Stata: Three-parameter logistic (3PL) models

Stored results

irt 3pl stores the following in e():

Scalars e(N) number of observations e(k) number of parameters e(k_eq) number of equations in e(b) e(k_dv) number of dependent variables e(k_rc) number of covariances e(k_rs) number of variances e(irt_k_eq) number of IRT model groups e(k_items1) number of items in first IRT model group e(sepguess1) 1 if model contains a separate pseudoguessing parameter e(ll) log likelihood e(N_clust) number of clusters e(n_quad) number of integration points e(rank) rank of e(V) e(ic) number of iterations e(rc) return code e(converged) 1 if target model converged, 0 otherwise

Macros e(cmd) gsem e(cmd2) irt e(cmdline) command as typed e(model1) 3pl e(items1) names of items in first IRT model group e(depvar) names of all item variables e(wtype) weight type e(wexp) weight expression e(title) title in estimation output e(clustvar) name of cluster variable e(family#) family for the #th item e(link#) link for the #th item e(intmethod) integration method e(vce) vcetype specified in vce() e(vcetype) title used to label Std. Err. e(opt) type of optimization e(which) max or min; whether optimizer is to perform maximization or minimization e(method) estimation method: ml e(ml_method) type of ml method e(user) name of likelihood-evaluator program e(technique) maximization technique e(datasignature) the checksum e(datasignaturevars) variables used in calculation of checksum e(properties) b V e(estat_cmd) program used to implement estat e(predict) program used to implement predict e(covariates) list of covariates e(footnote) program used to implement the footnote display

Matrices e(_N) sample size for each item e(b) coefficient vector, slope-intercept parameterization e(b_pclass) parameter class e(Cns) constraints matrix e(ilog) iteration log (up to 20 iterations) e(gradient) gradient vector e(V) variance-covariance matrix of the estimators e(V_modelbased) model-based variance

Functions e(sample) marks estimation sample

© Copyright 1996–2018 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   What's new   |   Site index