Sample approximate plausible values under a fixed MML calibration
Source:R/api-prediction.R
sample_mfrm_plausible_values.RdSample approximate plausible values under a fixed MML calibration
Usage
sample_mfrm_plausible_values(
fit,
new_data,
person = NULL,
facets = NULL,
score = NULL,
weight = NULL,
n_draws = 5,
interval_level = 0.95,
seed = NULL
)Arguments
- fit
Output from
fit_mfrm()withmethod = "MML".- new_data
Long-format data for the future or partially observed units to be scored.
- person
Optional person column in
new_data. Defaults to the person column recorded infit.- facets
Optional facet-column mapping for
new_data. Supply either an unnamed character vector in the calibrated facet order or a named vector whose names are the calibrated facet names and whose values are the column names innew_data.- score
Optional score column in
new_data. Defaults to the score column recorded infit.- weight
Optional weight column in
new_data. Defaults to the weight column recorded infit, if any.- n_draws
Number of posterior draws per person. Must be a positive integer.
- interval_level
Posterior interval level passed to
predict_mfrm_units()for the accompanying EAP summary table.- seed
Optional seed for reproducible posterior draws.
Value
An object of class mfrm_plausible_values with components:
values: one row per person per drawestimates: companion posterior EAP summariesaudit: row-preparation auditinput_data: cleaned canonical scoring rows retained fromnew_datasettings: scoring settingsnotes: interpretation notes
Details
sample_mfrm_plausible_values() is a thin public wrapper around
predict_mfrm_units() that exposes the fixed-calibration posterior draws as
a standalone object. It is useful when downstream workflows want repeated
latent-value imputations rather than just one posterior EAP summary.
In the current mfrmr implementation these are approximate plausible
values drawn from the fitted quadrature-grid posterior under a fixed MML
calibration. They should be interpreted as posterior uncertainty summaries
for the scored persons, not as deterministic future truth values and not as
a full many-facet plausible-values procedure with additional population
modeling.
Interpreting output
valuescontains one row per person per draw.estimatescontains the companion posterior EAP summaries frompredict_mfrm_units().summary()reports draw counts and empirical draw summaries by person.
What this does not justify
This helper does not update the calibration, estimate new non-person facet levels, or provide exact future true values. It samples from the fixed-grid posterior implied by the existing MML fit.
References
The underlying posterior scoring follows the usual MML/EAP framework of Bock and Aitkin (1981). The interpretation of multiple posterior draws as plausible-value-style summaries follows the general logic discussed by Mislevy (1991), while the current implementation remains a practical fixed- calibration approximation rather than a full published many-facet plausible- values method.
Bock, R. D., & Aitkin, M. (1981). Marginal maximum likelihood estimation of item parameters: Application of an EM algorithm. Psychometrika, 46(4), 443-459.
Mislevy, R. J. (1991). Randomization-based inference about latent variables from complex samples. Psychometrika, 56(2), 177-196.
Examples
toy <- load_mfrmr_data("example_core")
keep_people <- unique(toy$Person)[1:18]
toy_fit <- suppressWarnings(
fit_mfrm(
toy[toy$Person %in% keep_people, , drop = FALSE],
"Person", c("Rater", "Criterion"), "Score",
method = "MML",
quad_points = 5,
maxit = 15
)
)
new_units <- data.frame(
Person = c("NEW01", "NEW01"),
Rater = unique(toy$Rater)[1],
Criterion = unique(toy$Criterion)[1:2],
Score = c(2, 3)
)
pv <- sample_mfrm_plausible_values(toy_fit, new_units, n_draws = 3, seed = 1)
summary(pv)$draw_summary
#> # A tibble: 1 × 6
#> Person Draws MeanValue SDValue LowerValue UpperValue
#> <chr> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 NEW01 3 0 0 0 0