The linear logistic test model (LLTM; Fischer, 1973) explains dichotomous item locations using observed item characteristics. The linear partial credit model (LPCM; Fischer and Ponocny, 1994) extends the same formulation to polytomous thresholds. Both retain the common discrimination and conditional Rasch structure.
For category \(k\) of item \(i\),
\[ \log\frac{P(X_{ni}=k)}{P(X_{ni}=k-1)} =\theta_n-\delta_{ik}, \qquad \delta_{ik}=\mathbf z_{ik}^{\mathsf T}\gamma . \]
The vector \(\mathbf z_{ik}\)
contains the nominated item or threshold characteristics. An interaction
permits the effect of one characteristic to differ according to another.
The scale origin is fixed at mean item location zero, as in
rasch(); the formula intercept is therefore absorbed by the
origin constraint.
Item predictors
Item-level metadata contain one row per item. This example explains eight dichotomous item locations by the operation required and the response format.
set.seed(1)
item_design <- data.frame(
item = paste0("I", 1:8),
operation = rep(c("recall", "inference"), each = 4),
format = rep(c("selected", "constructed"), 4)
)
difficulty <- 0.8 * (item_design$operation == "inference") +
0.4 * (item_design$format == "constructed")
theta <- rnorm(500)
X <- sapply(difficulty, function(delta)
rbinom(length(theta), 1, plogis(theta - delta)))
colnames(X) <- item_design$item
fit <- rasch_explanatory(
X,
predictors = item_design,
formula = ~ operation + format,
level = "item"
)
fit$est$coefficients
#> term estimate se z p p_adj
#> operationrecall -0.825 0.072 -11.414 < 0.001 < 0.001
#> formatselected -0.350 0.073 -4.797 < 0.001 < 0.001Predictors may be continuous, categorical or ordinal. Numeric vectors are continuous and unordered factors are categorical. An ordered factor is scored with successive contrasts: each coefficient is the change between two adjacent levels in the declared order. Character vectors are converted to unordered factors; the first factor level is the reference category. For example:
item_design$demand <- as.numeric(item_design$demand)
item_design$format <- factor(item_design$format)
item_design$complexity <- ordered(
item_design$complexity,
levels = c("low", "moderate", "high")
)This coding uses the order without assuming equal spacing and does
not fit polynomial contrasts. Use an unordered factor for comparisons
with a single reference category, or a numeric predictor when the
spacing has a substantive scale. Selected interactions can be added, for
example
~ demand + format + complexity + format:complexity.
Threshold predictors
For an LPCM, item metadata may still be supplied once per item. The
reserved factor threshold identifies the within-item
threshold and can be used in the formula:
lpcm <- rasch_explanatory(
responses,
predictors = item_design,
formula = ~ operation + format + threshold + format:threshold,
level = "item"
)Use level = "threshold" when a predictor varies within
an item. The metadata must then contain item,
threshold, and one row for every observed item threshold.
threshold_number is also available as an integer
predictor.
Comparing the restriction with a free calibration
rasch_explanatory() retains a free partial credit
calibration of the same responses. explanatory_test()
compares it with the active explanatory model. Pairwise conditional
estimation produces a composite likelihood, so the reported inferential
result is the first-order Kent-adjusted chi-square rather than an
ordinary likelihood-ratio test. The same table reports calibration \(R^2\), the proportion of variation in the
free threshold calibration reproduced by the explanatory thresholds.
Comparative judgement uses the corresponding free object
calibration.
explanatory_test(fit)
#> model parameters free_parameters r_squared r_squared_adj r2_basis
#> LLTM 2 7 0.967 0.954 threshold calibration
#> chisq df p_naive chisq_kent p p_kent
#> 19.917 5 0.001 5.191 0.393 0.393A non-significant result does not establish that the explanatory structure is true. It indicates that the free calibration has not detected a departure at the available precision. Coefficients should be interpreted together with their standard errors, item fit, targeting, and the study design.
Fixed departures
rasch_explanatory() begins with the exact explanatory
restriction. Its error formulation uses nominated fixed departures
rather than a random item effect, so it does not introduce an item
population distribution. An explanatory model can be too restrictive for
a small number of items. explanatory_diagnostics() adds
each available departure separately and adjusts the complete family of
probabilities by Holm’s method.
departures <- explanatory_diagnostics(fit)
head(departures)
#> item component parameters_added departure deviance_reduction df p
#> I6 Item location 1 0.205 9.201 1 0.128
#> I8 Item location 1 -0.195 8.582 1 0.138
#> I1 Item location 1 0.141 4.645 1 0.257
#> I3 Item location 1 -0.135 4.272 1 0.283
#> I5 Item location 1 -0.097 2.247 1 0.455
#> I7 Item location 1 0.093 2.056 1 0.465
#> p_adj
#> 1.000
#> 1.000
#> 1.000
#> 1.000
#> 1.000
#> 1.000An item-location departure moves all thresholds of an item together. A threshold-structure departure changes their relative locations and is available only for polytomous items. A departure should be accepted on substantive grounds, not selected solely because it has the smallest probability.
fit <- relax_explanatory(fit, item = "I4", component = "location")The refit remains a fixed-effects Rasch model: no item distribution or random effect is introduced. Item locations, person measures, residuals, fit statistics and subsequent analyses are all recomputed. Item deletion, DIF splitting and superitem construction retain the explanatory structure and add the required fixed departures for changed items. Response-dependence resolution does the same for its resolved item copies. With keyed multiple-choice data, unchanged and split items retain their raw responses for distractor analysis.
The same workflow is available under Explanatory in the Shiny application. Predictor type is selected explicitly in the application; ordinal predictors also require their level order. The project file records the predictor metadata, formula and accepted departures, and the displayed R code reproduces the analysis.
Comparative judgement
btl_explanatory() constrains object rather than item
locations. Predictor metadata contain one row per object and an
object column. The formulation is
\[ \log\frac{P(a\succ b)}{P(b\succ a)} =\beta_a-\beta_b, \qquad \beta_i=\mathbf z_i^{\mathsf T}\gamma . \]
cj <- btl_explanatory(
comparisons,
predictors = object_design,
formula = ~ domain + format + domain:format,
object_a = "object_a",
object_b = "object_b",
winner = "winner",
judge = "judge"
)
explanatory_test(cj)
explanatory_diagnostics(cj)An ordered response may be supplied instead of
winner. Its symmetric response thresholds are estimated
jointly with the explanatory object effects. Judge-clustered covariance
and its existing availability rules continue to apply.
relax_btl_explanatory() adds a nominated fixed
object-location departure and repeats the complete fit.
Validation
Regression checks compare the LLTM and LPCM calibrations with
eRm. In the simulation study, coefficient bias was at most
0.005 logits, empirical standard deviations divided by mean reported
standard errors ranged from 0.99 to 1.03, and 95% coverage ranged from
0.938 to 0.955 across LLTM, LPCM, dichotomous comparative judgement,
ordered comparative judgement and judge-clustered comparative judgement
conditions. Kent-adjusted null rejection ranged from 4.2% to 6.0% (1,000
replicates per condition). Holm familywise error for fixed-departure
diagnostics was 4.3% to 4.7%, with 98.3% to 100% power for a planted
0.8-logit departure (300 replicates per condition). A further
1,000-replicate study covered mixed maximum scores and four-category
LPCMs at 300 to 2,000 persons. SE ratios were 0.993 to 1.026, coverage
was 0.942 to 0.954, Kent-adjusted null rejection was 4.3% to 5.8%, and
mean calibration \(R^2\) was 0.872 to
0.994. The unscaled probability rejected 98.6% to 100% and is therefore
returned only as p_naive. No fit in these four conditions
was refused or failed to converge. Scripts and full result tables are
under tools/simval/ in the source repository.
References
Fischer, G. H. (1973). The linear logistic test model as an instrument in educational research. Acta Psychologica, 37(6), 359–374.
Fischer, G. H., and Ponocny, I. (1994). An extension of the partial credit model with an application to the measurement of change. Psychometrika, 59(2), 177–192.
Mair, P., and Hatzinger, R. (2007). Extended Rasch modeling: The eRm package for the application of IRT models in R. Journal of Statistical Software, 20(9), 1–20. doi:10.18637/jss.v020.i09.