npltree function

Parametric Logisitic (n-PL) IRT Model Trees

Parametric Logisitic (n-PL) IRT Model Trees

Recursive partitioning (also known as trees) based on parametric logistic (n-PL) item response theory (IRT) models for global testing of differential item functioning (DIF).

npltree(formula, data, type = c("Rasch", "1PL", "2PL", "3PL", "3PLu", "4PL"), start = NULL, weights = NULL, grouppars = FALSE, vcov = TRUE, method = "BFGS", maxit = 500L, reltol = 1e-10, deriv = "sum", hessian = TRUE, full = TRUE, minsize = NULL, ...) ## S3 method for class 'npltree' plot(x, type = c("profile", "regions"), terminal_panel = NULL, tp_args = list(...), tnex = 2L, drop_terminal = TRUE, ...)

Arguments

  • formula: A symbolic description of the model to be fit. This should be of type y ~ x1 + x2 where y should be an item response matrix and x1 and x2 are used as partitioning variables. For the models estimated using marginal maximum likelihood (MML), it is additionally poosible to allow for impact of a group variable so that different ability distributions are estimated in each group. This can be specified by extending the previous formula by a group factor g as y ~ g | x1 + x2.

  • data: a data frame containing the variables in the model.

  • type: character, specifying either the type of IRT model in npltree (see also nplmodel) or the type of visualization to be used in the plot method, respectively.

  • start: an optional vector or list of starting values (see raschmodel

    or nplmodel).

  • weights: an optional vector of weights (interpreted as case weights).

  • grouppars: logical. Should the estimated distributional group parameters of a multiple-group model be included in the model parameters? (See nplmodel.)

  • vcov: logical or character specifying the type of variance-covariance matrix (if any) computed for the final models when fitted using MML (see nplmodel).

  • method: control parameter for the optimizer used by mirt for the EM algorithm when models are fitted using MML (see nplmodel).

  • maxit: control parameter for the optimizer used by raschmodel or nplmodel (see raschmodel, nplmodel).

  • reltol: control parameter for the optimizer used by raschmodel or nplmodel (see raschmodel, nplmodel).

  • deriv: character. Which type of derivatives should be used for computing gradient and Hessian matrix when fitting Rasch models with the conditional maximum likelihood (CML) method (see raschmodel)?

  • hessian: logical. Should the Hessian be computed for Rasch models fitted with the CML method (see raschmodel)?

  • full: logical. Should a full model object be returned for Rasch models fitted with the CML method (see raschmodel)?

  • minsize: The minimum number of observations in each node, which is passed to mob_control. If not set, it is 300 for 2PL models and 500 for 3PL, 3PLu, and 4PL models.

  • ...: arguments passed to mob_control for npltree, and to the underlying plot method.

  • x: an object of class npltree.

  • terminal_panel, tp_args, tnex, drop_terminal: arguments passed to mob.

Details

Parametric logistic (n-PL) model trees are an application of model-based recursive partitioning (implemented in mob) to item response theory (IRT) models (implemented in raschmodel and nplmodel). While the "Rasch"

model is estimated by conditional maximum likelihood (CML) all other n-PL models are estimated by marginal maximum likelihood (MML) via the standard EM algorithm. The latter allow the specification of multiple-group model to capture group impact on the ability distributions.

Various methods are provided for "npltree" objects, most of them inherit their behavior from "modelparty" objects (e.g., print, summary). Additionally, dedicated extractor functions or provided for the different groups of model parameters in each node of the tree: itempar (item parameters), threshpar (threshold parameters), guesspar (guessing parameters), upperpar (upper asymptote parameters).

Returns

An object of S3 class "npltree" inheriting from class "modelparty".

See Also

mob, nplmodel, rstree, pctree, raschtree, gpcmtree

Examples

o <- options(digits = 4) # fit a Rasch (1PL) tree on the SPISA data set library("psychotree") data("SPISA", package = "psychotree") nplt <- npltree(spisa[, 1:9] ~ age + gender + semester + elite + spon, data = SPISA, type = "Rasch") nplt # visualize plot(nplt) # compute summaries of the models fitted in nodes 1 and 2 summary(nplt, 1:2) options(digits = o$digits)
  • Maintainer: Achim Zeileis
  • License: GPL-2 | GPL-3
  • Last published: 2024-04-11

Useful links