
Pool common facet targets across imputed rating analyses
Source:R/api-imputed-estimation.R, R/api-plotting-imputed.R
pool_mfrm_imputed.RdCombine results such as rater severity or a prespecified difference between raters across completed-data fits. Rubin's rules include uncertainty within each fit and variation between imputations. The calculation uses the full covariance for one non-Person facet; it does not pool Person ability scores.
Usage
pool_mfrm_imputed(
x,
facet,
contrasts = NULL,
ci_level = 0.95,
df_complete = Inf
)
# S3 method for class 'mfrm_pooled'
print(x, ...)
# S3 method for class 'mfrm_pooled'
summary(object, ...)
# S3 method for class 'mfrm_pooled'
plot(
x,
draw = TRUE,
preset = "standard",
title = paste("Pooled", x$settings$facet, "estimates and contrasts"),
subtitle = sprintf("%d imputations | %.0f%% pointwise MI intervals",
x$settings$imputations, 100 * x$settings$ci_level),
...
)Arguments
- x
For
pool_mfrm_imputed(): Output fromfit_mfrm_imputed(). All completions must have inference-ready RSM/PCM MML fits and unregularized observed information.For
plot(): Output frompool_mfrm_imputed().- facet
A non-person facet column name, for example
"Rater".- contrasts
Optional numeric matrix with one named row per target and columns named by all facet levels. For example, a row with coefficients
c(1, -1, 0)estimates the first rater minus the second. Without it, each facet level is reported. Columns are aligned by level, not position.- ci_level
Confidence level, strictly between zero and one.
- df_complete
Complete-data degrees of freedom, a positive number or
Inf(default).Infuses the large-sample complete-data approximation. A finite value applies the Barnard–Rubin adjustment. No residual degrees of freedom are inferred from rating-row counts: ratings within a person are not independent sampling units. A supplied finite value requires a defensible complete-data reference distribution for the chosen target.- ...
Unused.
- object
An object returned by
pool_mfrm_imputed().- draw
Logical. With
FALSE, return the exact plot data without opening a graphics device.- preset
A package plotting preset, such as
"standard"or"monochrome".- title, subtitle
Optional text;
NULLomits it. The default subtitle retains a notice when complete-data information is weak. Full cautions remain in the returned plot data even with custom or omitted text.
Value
An mfrm_pooled object containing table, within, between
and total covariance matrices, estimates by imputation, each
complete_covariance, the exact contrasts, facet_levels, settings
and source analyses. MonteCarloSE is the estimated Monte Carlo SE of
the pooled point estimate, sqrt(B / m); it is not its inferential SE.
MissingVarianceFraction is (1 + 1/m) B / T, not the raw missing-rate.
Fixed targets retain their value and zero variance, but no inferential
interval or degrees of freedom. No imputation is omitted.
information_review retains any numerical-refinement review at each
imputation's list position. cautions identifies affected imputations;
when present, InferenceCaution also accompanies the pooled table.
IntervalReason distinguishes available intervals, fixed targets,
numerical resolution loss and intervals outside the numeric range.
An unavailable interval retains its point estimate and variance.
notes records the imputation and inference assumptions for saved reuse.
For plot(): Invisibly, a ggplot object; plot_data() extracts the
plotted table, exact contrast coefficients and inference settings.
The plot uses the saved pointwise MI interval
endpoints; it does not substitute normal intervals from the standard errors.
Default and component = "table" retain the complete interval view.
Target order, contrasts, degrees of freedom, confidence level and
complete-data information cautions remain attached through plot_data().
Numerical interval-availability reasons and saved inference notes are
retained. Both base and ggplot views show a cross for a missing interval.
Fixed targets have open diamonds without intervals. In ggplot conversion,
infinite endpoints have arrows (their tips are display limits, not finite
bounds); missing intervals have crosses at the saved estimate. Missing
point estimates cause an error rather than being placed at zero.
Use source title/subtitle arguments or ggplot2::labs() to change text;
hiding headings does not remove the attached inference cautions.
Details
For a common target, Qbar is the mean completed-data estimate,
Ubar the mean complete-data covariance and B their between-imputation
covariance. The total is T = Ubar + (1 + 1/m) B. The scalar t-reference
degrees of freedom are (m - 1) / lambda^2, with
lambda = (1 + 1/m) B / T, before any finite complete-data adjustment.
A zero between-imputation variance has infinite large-sample degrees of
freedom. Full covariances are transformed before scalar inference, so
rater differences include covariance between the two estimates.
The finite-data adjustment uses
\(\nu_{obs}=\nu_{com}(\nu_{com}+1)/(\nu_{com}+3)\,\bar U/T\)
and \(1/\nu=1/\nu_{old}+1/\nu_{obs}\). These t references are
approximations, not exact finite-sample pivots for an MFRM.
Positive interval widths that cannot be distinguished from zero at the
returned estimate, and endpoints outside floating-point range, are withheld
with a reason rather than reported as zero uncertainty or infinite bounds.
All fits must share categories, facet levels, signs, anchors, interactions
and identification. Known anchors are fixed and their uncertainty is
excluded. Singular or regularized free-parameter information and any
failed/ineligible completion prevent pooling. A target fixed by a constraint
is labelled "fixed"; it is not evidence of perfect precision.
A verified unregularized inverse of ill-conditioned information can be used
with a warning identifying the affected imputations. Rubin pooling does not
repair unreliable complete-data approximations. Review interval widths,
boundary proximity and quadrature sensitivity before interpreting the pool.
The intervals are pointwise model-based multiple-imputation intervals,
conditional on adequate proper imputations and complete-data inference.
They are not robust intervals, simultaneous rater decisions or general
coverage guarantees. Do not pool EAPs, posterior SDs, fit statistics, cluster
labels or likelihood-ratio tests with this function. See the executable
assigned-score example in online response-imputation guide.
It compares joint RSM predictive completions with direct observed-score
inference. Proper calibration priors in the imputer and MML estimates in
the completed-data analyses do not give exactly identical Bayesian moments:
that interpretation is a large-sample approximation requiring review.
The finite-imputation correction and MonteCarloSE assume independent
completed-data draws. Repeating completions is not additional Monte Carlo
evidence; correlated MCMC draws require sampling review. Identical completed
values can occur legitimately and are not automatically rejected.
Congeniality concerns the imputation distribution and the complete-data analysis together, including its variance estimator. Preserving categories or including coefficient uncertainty in an ordinal imputer does not prove congeniality with an adjacent-category MFRM. Under incompatibility or model misspecification, Rubin intervals can be too narrow or too wide. Bootstrapping only the imputation-model training data, then completing and analyzing the original roster, is not bootstrap inference for the whole MI analysis. Bartlett and Hughes (2020) study the latter; their results require conditions including a consistent point estimator and appropriate resampling units. This function implements Rubin pooling, not that outer bootstrap procedure.
plot() method: Plot pooled facet estimates or prespecified contrasts
For plot(): Plots use the stored pointwise multiple-imputation intervals and
preserve target order. Open diamonds identify fixed targets without an
inferential interval. A zero reference line does not define a practical
importance threshold. The plot does not refit, select significant raters,
adjust for multiplicity or turn severity differences into rater quality.
Bounded evaluation
A joint-RSM imputation example was examined using 200 independent datasets, each analyzed with MAR and low-score-dependent MNAR missingness. The design had 80 Persons, three fixed raters, two criteria, scores 0–2, forty completions and a correctly specified known N(0,1) Person distribution. Under MAR, fixed-rater contrast coverage was 96.5 percent among 198 available nominal 95 percent intervals (95 percent Monte Carlo bounds 92.9–98.6). Two imputation posteriors missed the sampling-diagnostic threshold; counting them as unsuccessful gives 191/200 available-and-covered trials (95.5 percent). Under MNAR, coverage was 26.0 percent (Monte Carlo bounds 20.1–32.7) and bias was +0.574 logits, although both missing fractions were near 14 percent. The MAR imputer cannot correct selection depending on missing scores. These results concern that imputer, contrast and design, not arbitrary supplied completions or general coverage. See the assigned-score vignette for direct-MML/Bayesian comparisons, interval widths and failure accounting.
Session plot defaults
See mfrmr_visual_diagnostics for options(mfrmr.plot_preset), argument
precedence, and appearance when saving or reusing a plot.
References
Rubin, D. B. (1987). Multiple Imputation for Nonresponse in Surveys. Wiley. Barnard, J. and Rubin, D. B. (1999). Small-sample degrees of freedom with multiple imputation. Biometrika, 86, 948–955. doi:10.1093/biomet/86.4.948 .
Bartlett, J. W. and Hughes, R. A. (2020). Bootstrap inference for multiple imputation under uncongeniality and misspecification. Statistical Methods in Medical Research, 29, 3533–3546. doi:10.1177/0962280220932189 .
See also
mice::pool.scalar(), review_mfrm_imputations(), fit_mfrm_imputed()
pool_mfrm_imputed()