Read mfrmr_output_guide("gpcm_capabilities") (view = "workflows",
"scores", or "unavailable") to check which GPCM workflows can be used
in mfrmr, the limits that apply to each workflow, and the recommended
alternative when a route is not available.
The matrix is intended for route selection before or after fitting and is
limited to workflow availability, interpretive constraints, and the route
to use next.
Except for the multiple-slope and EM rows, the table describes one facet
supplying relative discriminations. The provisional two-family route has
a separate scope below. The one-family model uses one slope facet. MML permits
a different facet for category steps; JML requires slope_facet == step_facet.
It has one substantive ability dimension. Separate-owner MML supports
fitted-object scoring, information, slope/curve uncertainty, matched PCM
comparison and saved inference. Weighting reviews and simulation/design
workflows still require the same owner; same-design bootstrap_mfrm_gpcm()
supports separate owners. Numerical eligibility is not a coverage guarantee. These structural choices are stated separately from the
availability of each output. An available probability or descriptive comparison does
not establish eligibility for a confidence interval or model-selection rule.
JML fits estimate relative slopes but do not support the MML slope interval,
bootstrap, curve-uncertainty or inferential comparison routes described here.
Their available facet/location SEs are exploratory observation-table
approximations, not slope SEs or nuisance-adjusted joint-information SEs.
Local curvature checks do not establish bias control or interval coverage.
Fitted-object
JML scoring uses post-hoc EAP with a default standard-normal reference prior
or an explicit scoring_prior; it is not ML/WLE scoring. Portable GPCM extraction
supports MML and shared-owner JML within their distinct source-check scopes.
JML local checks leave incomplete global audits unchanged. See fit_mfrm()
for JML estimation and boundary
conventions and predict_mfrm_units() for conditional scoring.
Details
In mfrmr_output_guide("gpcm_capabilities"), Status has the following
user-facing meanings:
supported: the helper is available within the stated boundary;supported_with_caveat: the helper runs, but its interpretation is restricted as described inBoundary;blocked: the helper intentionally stops for aGPCMfit;deferred: no publicmfrmrroute is currently available.
Read Boundary before interpreting a caveated result. For a blocked or
deferred row, use RecommendedRoute to choose a supported analysis or a
Rasch-family alternative.
In the score view (view = "scores"), available_with_caveat denotes an available quantity
within its Limitation, supporting_route denotes related evidence or a
reference model rather than a replacement for that quantity, and
unavailable denotes a quantity not supplied. Package-native GPCM scores
and uncertainty are not FACETS score-side equivalents. These statuses are
kept separate from the general workflow statuses to preserve their meaning.
Use mfrmr_output_guide("gpcm_capabilities") as the single public entry for
all three GPCM views (view = "workflows", view = "scores", and
view = "unavailable"). Each view retains its column schema and status
meanings. These tables describe supported routes; they do not inspect a
particular fit or certify its inferential eligibility.
Connected outputs and unavailable extensions
For the current one-slope-family model, use summary(fit) to review the
model and numerical status, plot(fit, type = ...) for available location,
fit and category views, and stats::confint() / mfrm_curve_intervals() for
separately checked MML uncertainty. An interval result has its own print()
and plot() methods; attach selected results to mfrm_results() for
mfrm_report() and export_mfrm_results(). A plot of locations or fit
statistics is not a plot of slope uncertainty.
mfrm_facet_intervals() separately supplies native-scale model-information
Wald intervals for one-family MML locations and within-facet contrasts.
Direct fixed/adaptive MML, centered additive facets/steps and unit weights
are required, with an estimated intercept-only normal population or the
explicit fixed-N(0,1) restriction. Shared/separate slope and step owners are
supported. Full-information and finer-grid checks preserve refusal reasons;
regular asymptotic validity assumes a correctly specified, identified
interior marginal model with nonsingular limiting information.
Finite-sample coverage is not guaranteed. Explicit zero-sum contrasts can
be standardized by the same fit's population SD using the full delta method;
individual standardized-location intervals are not supplied.
Portable calibration has its own row and mfrmr_output_guide("calibration_capabilities")
gives estimator-specific source restrictions. Two slope families are available
provisionally through fit_mfrm() with fixed-standard-normal MML, two
slope facets among the declared additive facets, no anchors and unit weights.
Step ownership, noncentered location and the named slope reference are
separate roles. Extended roles use native output, portable format 7 and
Stan export from an existing fit via export_mfrm_model(). Posterior draws
support contrasts, intervals, plots and reports; new-Person posterior scoring
and direct data/spec export remain unsupported for two-family models.
Log-slope priors depend on the source fit's geometric-mean-one reference;
changing that reference with fresh independent priors changes the Bayesian model.
Choose fixed-grid EM or adaptive
direct MML explicitly; see fit_mfrm(). Use summary(fit), then
inspect adaptive initialization in fit$opt$mml_initialization: the default
compares neutral and EM-derived starts with the same adaptive likelihood,
retaining failed starts and the selected candidate's convergence status.
The saved initialization policy also follows quadrature-order refits. Use
curves <- mfrm_curve_intervals(fit, newdata) and plot(curves). Despite the
function name, this route returns fitted values with unavailable intervals.
Attach them with mfrm_results(fit, intervals = curves) for reports and
saved exports. Without attachments, mfrm_results(fit) collects the saved
fit and its numerical status; neither call calculates new diagnostics.
Separately use ci <- confint(fit, parm = "slopes") for experimental component log-Wald intervals
and attach intervals = list(slopes = ci, curves = curves). Local numerical
checks do not establish global identification or sampling coverage; failed
checks retain missing bounds.
An explicit confint(fit, parm = "slopes", method = "profile", slope = c(Task = "t1"))
profiles one two-family component, using the actual owner/level names.
It preserves the fitted fixed or adaptive integration method; adaptive nodes,
scales and Jacobians are recomputed throughout the constrained searches.
It retains nuisance reoptimization, numerical checks, unavailable endpoints
and a same-target Wald comparison. Neither method has qualified coverage.
Use mml_quadrature_sensitivity() to compare
refits with the same engine and integration method. Both routes retain
each order's experimental log-Wald checks. Optional adaptive_quad_points also adds fixed-calibration
integration checks for two families; the posterior moments in that review
are numerical diagnostics, not a Person-scoring workflow. Person-score
comparisons remain unavailable for two families.
For both engines, mfrm_response_diagnostics() supplies same-data posterior
predictive residuals with fixed calibration, including descriptive Infit/Outfit
without reference cutoffs. It retains the fitted integration method and
complete Person conditioning record, including when selecting output rows.
Attach the saved object through response_diagnostics
to the results call above for plots, reports and exports.
predict_mfrm_units() separately supplies experimental conditional new-Person
EAP, posterior SD and continuous posterior intervals under the retained
N(0,1) prior, with source/batch numerical checks and no calibration uncertainty.
extract_mfrm_calibration() provides portable two-family format 6 with the
same fixed prior and separate source/batch checks.
mfrm_facet_intervals() supplies separately checked experimental normal
intervals for either owner's locations or prespecified within-facet contrasts.
It uses the constrained location block of the inverse full marginal information;
failed numerical checks retain point estimates with missing intervals.
Attach the result as intervals = list(locations = ci) for saved reports and
plots. Coverage is unqualified; location differences are not uniform rating
differences when slopes or steps vary. Ordinary fit diagnostics, step/curve
intervals and model ranking
remain unavailable. Shared-owner corrected
JML has an explicit experimental point-estimation and reporting route through
jml_correction_order; formal structural intervals remain unavailable.
Its descriptive response diagnostics and conditional EAP scoring use their
own saved identities and source checks. Portable corrected calibration uses
file format 5; no ordinary JML likelihood checks or structural intervals
are inherited. Separate slope and step owners alone still
define one slope family.
Model, estimation and algorithm
RSM, PCM and GPCM describe response probabilities, not a particular fitting
algorithm. MML integrates over an ability distribution; JML estimates the
training persons' abilities jointly with the other parameters. EM and direct
optimization are numerical ways to fit an MML model. RSM/PCM can therefore
also use MML–EM. In this package, MML defaults to direct optimization;
RSM/PCM EM and hybrid support additive, fixed-population models with fixed
integration (population = NULL). One-family GPCM EM/hybrid requests fall back to direct
and record the engine in fit$summary.
The provisional two-slope-family GMFRM route uses fixed-standard-normal MML
with fixed-grid generalized EM (mml_engine = "em") or adaptive direct
optimization (mml_engine = "direct", mml_integration = "adaptive").
mml_integration = "auto" preserves the selected engine and increases
integration points up to mml_accuracy_control = list(max_points = ...),
including reference rules, while retaining the numerical and information
checks. Fixed integration remains the package default; two-family direct
fitting requires explicit adaptive or automatic integration. Adaptive EM
and two-family hybrid fitting are unavailable. EM is not a defining property
of GMFRM. See the GPCM
scope vignette for the distinction between the model, estimation method
and algorithm, with links to Muraki, TAM and sirt.
Applications of two slope families
In a speaking assessment, task difficulty and assessor severity describe shifts in ratings, whereas task and assessor slopes describe how responses change with ability. Their product is the effective slope for a rating. For example, 0.8 times 1.2 gives 0.96; it is a log-odds multiplier, not an accuracy percentage or a score weight. The same roles can use piece/judge or station/examiner labels, provided the single-ability assumption is appropriate. Two slope families do not create two latent abilities or a separate free slope for every task-by-assessor pair.
Potential uses include task review and assessor feedback. A high assessor
slope is not a competence threshold, and a low task slope is not a rule for
deleting content. Read category and information curves over the relevant
ability range, inspect uncertainty and assignment overlap, and bring in
reference ratings or substantive evidence for accuracy claims. The vignette
explains these uses and a provisional two-family fitting example. It does
not yet provide a two-family model comparison or qualified feedback decision.
It also shows how to import the empirical writing table
sirt::data.ratings1 from that separately installed package, preserve its
categories, and review unequal assignment. The example distinguishes new
fitted response curves from evidence of predictive accuracy. The original
fixed-grid fits had integration-sensitive curves and incomplete residual
summaries. A subsequent adaptive fit resolved the retained numerical example;
that agreement does not validate model fit or feedback decisions. All score
datasets bundled with mfrmr are synthetic.
Rankings and consequential decisions
An official competition result, highest latent ability and a future winner are different targets. The scope vignette reviews actual figure-skating score protocols, changing judge panels and advancement to a final. Individual score intervals, high rank correlation or a high G coefficient do not establish the probability of selecting the correct champion. Differences need covariance and selection-aware uncertainty; independently drawing from printed SEs omits shared calibration uncertainty. There is no winner-probability or simultaneous Person-rank confidence-set API. Available one-family and experimental two-family new-Person EAP intervals condition on the calibration and prior; they do not provide a validated winner-selection procedure. Preserve competition-specific aggregation, rounding, tie rules and advancement separately from modelled ability. Do not interpret sensitivity to a judge's marks as proof of bias.
Local independence, testlets and random effects
Two fixed slope families change response sensitivity; they do not by themselves remove dependence between ratings from the same performance. A testlet effect is itself a random effect, defined by its sharing unit. A testlet model assumes independence conditional on ability and its local effect, with dependence remaining after the effect is integrated out. One substantive ability can therefore coexist with additional latent dependence variables.
fit_mfrm_testlet() supplies a Person-local RSM block effect; reusing a
block label for another Person creates a different effect.
fit_mfrm_random_rater() instead supplies a rater severity effect shared
across persons. These separate RSM routes neither add effects to GPCM nor
jointly estimate shared-rater and testlet effects. Random discrimination is
also different from estimating two fixed slope families.
The GPCM scope vignette explains effect-sharing units, observed versus new
block/rater prediction and the distinction from multivariate G-theory.
A testlet variance does not diagnose halo or enforce equal task weights.
Interpreting the former bounded GPCM label
Use GPCM as the model name and state the structure and output restrictions explicitly. The older label described limited implementation scope, not a distinct unidimensional response model. Positive log-parameterized relative slopes retain their geometric-mean-one identification; there is no extra user-facing finite slope box. Rejection of numerical overflow/underflow is not clipping to a valid estimate. Separate owners, MML inference/comparison and portable calibration are available within their respective scopes; two-family fitting provides provisional estimates and conditional curves, with separately checked experimental component-slope intervals. JML slope intervals remain unavailable. A data-specific boundary or unbounded interval is a separate statistical issue, and retirement of the label does not certify interval coverage.
Estimates, intervals and comparisons
For free slopes, these are different questions:
What did the numerical fit return?
fit$slopes$OptimizerEstimateretains the fitted relative slopes for descriptive sensitivity analysis. The compatibility columnEstimatecontains the same numerical values; it does not overrideParameterStatusorPrimaryEstimate.How uncertain is a slope?
confint(fit, parm = "slopes")returns approximate pointwise intervals for eligible GPCM MML fits.diagnose_mfrm(fit)$parameter_uncertainty$slopessupplies the same 95% calculation withCIEligibleandInferenceReview. Ineligible solutions retain missing ordinary bounds and explicitly labelledOptimizer*diagnostic quantities. Old eligibility flags do not authorize an interval.Which model should be selected? MML information criteria may be retained numerically.
compare_mfrm()ranks GPCM MML candidates when its separate solution and comparison checks pass.ICSelectabledescribes likelihood and integration requirements;ICFitEligibledescribes the fit's solution check;ICComparableis the final comparison decision. The weighting review preserves this decision without making an operational-scoring recommendation. Withnested = TRUE, it can also request the separately checked PCM/GPCM equal-slope test.
The inference restrictions above concern the current package implementation; they are not a claim that GPCM inference is impossible in general. A local rank or curvature check does not by itself assess competing solutions, numerical integration error or the performance of an interval procedure. Relative-slope intervals have their own checks. A PCM/GPCM LRT requires the matched comparison described below; more iterations or quadrature points alone do not establish its structural assumptions.
Different requirements for intervals and model comparison
These decisions are separate, and do not follow from unidimensionality:
Slope intervals:
confint.mfrm_fit()withparm = "slopes"uses the inverse joint observed information, including estimated population parameters, and the sum-zero log-slope transformation. It checks likelihood consistency, convergence, positive unregularized information, unit weights and a grid of at least 31 points. The exponentiated log-Wald limits are pointwise model-based approximations for geometric-mean-one relative slopes by default. Explicit options add population-SD-standardized slopes, named ratios or differences, Bonferroni adjustment and independent-cluster sandwich covariance. An experimentalmethod = "profile"with one namedslopereoptimizes all nuisance parameters, including the normal population, and retains endpoint failures and a saved likelihood plot. Its initial scope excludes anchors, interactions, covariates and standardized targets. Profile coverage and superiority over Wald have not been established. Small samples and misspecification can still affect coverage. Failed checks retain missing limits and a reason.bootstrap_mfrm_gpcm()provides fitted-model bootstrap intervals or a matched PCM/GPCM test;mfrm_curve_intervals()propagates calibration uncertainty to curves. Probability-curve intervals showed undercoverage in a saved-fit study of small incomplete designs, including finite-grid Bonferroni families. Numerical availability and multiplicity adjustment do not certify nominal coverage; bootstrap coverage requires separate evidence too. Saved results supportapa_table(),plot_data()andas_ggplot(); attach selected intervals tomfrm_results()for reports and exports. Their targets remain separate from Wright/Pathway location and fit displays.Information criteria: AIC/BIC compare maximized likelihoods on the same response data, with appropriate free-parameter counts and numerical accuracy. They do not require a slope confidence interval or nested models. The GPCM MML solution check reevaluates the retained likelihood, terminal gradient and positive unregularized local information without refitting. It uses the existing numerical-gradient tolerance (at most \(10^{-4}\)) and information-inversion eigenvalue tolerance. The existing joint information calculation is shared with slope intervals and governed by
options(mfrmr.max_information_bytes = 256 * 1024^2)rather than an 80-coordinate cutoff. The budget estimates dense matrix workspace, not total process memory. An unavailable check gives a reason, not permission to rank. Local checks do not prove global optimality or integration accuracy; inspect different starts andmml_quadrature_sensitivity()when the decision is close.PCM/GPCM likelihood-ratio test: with the same population model, step structure and other constraints, setting all relative slopes to one gives PCM. One is an interior positive slope value, not a variance-zero boundary. With \(G\) slope levels and no other differing free parameters, the null imposes \(G-1\) independent log-slope restrictions. A chi-square reference additionally requires identified, regular solutions and adequate sample information.
compare_mfrm()withnested = TRUEchecks the matched model settings, G-1 free dimensions and regular local MML solutions before reporting an asymptotic chi-square p-value. Default PCM and GPCM calls can use different population models: supplypopulation_formula = ~1and the same person data to both fits to compare estimated-normal models. Small or sparse samples can give inaccurate asymptotic p-values; examine starting-value and quadrature sensitivity and report the test's assumptions.
The official R AIC documentation describes likelihood comparability. The mirt model documentation documents GPCM and information-matrix SEs, and its model-comparison documentation describes likelihood-ratio and information-criterion comparisons. These are examples of supported statistical methods, not validation of mfrmr's many-facet implementation.
Comparing models with ConQuest and TAM
Match the response formula before comparing estimates. In mfrmr, the selected positive slope multiplies ability, facet locations and the category step together. A slope multiplying ability alone, with separately additive rater severity, generally specifies a different many-facet model.
TAM's tam.mml.mfr() does not estimate slopes itself, but its documented
Example 14, Model 14c combines a facet intercept design with grouped slopes
in tam.mml.2pl(irtmodel = "GPCM.design"). ConQuest estimates GPCM scores
with scoresfree; its default slopes belong to combinations of facets
(generalized items), with further grouping available through a scoring
design. Neither construction automatically reproduces mfrmr's single
slope family and complete-predictor multiplication. See the
TAM fitting documentation
and ConQuest Note 8.
A matched item-only, positive-slope GPCM with an estimated normal population can be expressed on either scale. mfrmr fixes the geometric mean of relative slopes \(\alpha_i\) to one and estimates the population SD \(\sigma\) conditional on any population covariates. On the unit-variance scale the slopes become \(a_i=\sigma\alpha_i\). Locations, steps and any population regression also need transformation. This equivalence does not include imposing both unit variance and geometric-mean-one slopes: together they impose an additional restriction.
Transformed intervals require the joint parameter covariance. Multiplying
relative-slope interval endpoints by an estimated population SD omits its
uncertainty and covariance with the slopes. Use confint.mfrm_fit() with
parm = "slopes", scale = "standardized" for the full transformation; with covariates the SD
is the residual population SD. TAM's documented tam.se() omits
parameter covariances; ConQuest distinguishes the covariance of parameter
estimates from the latent-population covariance. Neither marginal SEs nor
a latent-population covariance matrix replace the required joint matrix.
Numerical replication requires matching data, model and identification.
IC selection can compare different, nonnested models on compatible
likelihoods; verify each model's free-parameter count and integration
accuracy. A likelihood-ratio test additionally requires a nested null.
Consult online GPCM scope guide for examples, sources and the scope
of existing numerical comparisons. These do not supply a general GPCM
import or comparison API.
Conditional Person uncertainty
Person posterior SDs and intervals, where returned, condition on the fitted calibration; they are not slope intervals or calibration-aware confidence intervals. An unstable calibration also limits their interpretation.
Typical workflow
Call
mfrmr_output_guide("gpcm_capabilities")before usingGPCMin a new workflow.For
supported_with_caveat, readBoundarybefore interpreting output.For
blockedordeferred, followRecommendedRouteinstead.
Examples
mfrmr_output_guide("gpcm_capabilities")
#> mfrmr GPCM workflow availability
#> Most rows describe one slope family; two-family MML has a separate provisional scope.
#> MML IC comparison and PCM/GPCM tests have separate checks; relative-slope intervals use separate MML checks.
#>
#> Status Routes
#> supported 2
#> supported_with_caveat 19
#> blocked 1
#> deferred 2
#>
#> Route preview
#> Area Status
#> Core fitting and summaries supported_with_caveat
#> Exploratory diagnostics and residual follow-up supported_with_caveat
#> Fitted-object posterior scoring and information supported
#> Core curve and category views supported
#> Checklist and summary-table appendix route supported_with_caveat
#> Operational misfit casebook supported_with_caveat
#> Weighting review and model-choice review supported_with_caveat
#> Operational linking synthesis supported_with_caveat
#>
#> ... 16 more route(s).
#>
#> Filter by status, for example mfrmr_output_guide("gpcm_capabilities", "supported_with_caveat").
#> Read Boundary and RecommendedRoute before interpreting a caveated or unavailable route.
mfrmr_output_guide("gpcm_capabilities", "supported")
#> mfrmr GPCM workflow availability
#> Most rows describe one slope family; two-family MML has a separate provisional scope.
#> MML IC comparison and PCM/GPCM tests have separate checks; relative-slope intervals use separate MML checks.
#>
#> Status Routes
#> supported 2
#>
#> Route preview
#> Area Status
#> Fitted-object posterior scoring and information supported
#> Core curve and category views supported
#>
#> Filter by status, for example mfrmr_output_guide("gpcm_capabilities", "supported_with_caveat").
#> Read Boundary and RecommendedRoute before interpreting a caveated or unavailable route.
mfrmr_output_guide("gpcm_capabilities", "blocked")
#> mfrmr GPCM workflow availability
#> Most rows describe one slope family; two-family MML has a separate provisional scope.
#> MML IC comparison and PCM/GPCM tests have separate checks; relative-slope intervals use separate MML checks.
#>
#> Status Routes
#> blocked 1
#>
#> Route preview
#> Area Status
#> FACETS output-contract score-side review blocked
#>
#> Filter by status, for example mfrmr_output_guide("gpcm_capabilities", "supported_with_caveat").
#> Read Boundary and RecommendedRoute before interpreting a caveated or unavailable route.
mfrmr_output_guide("gpcm_capabilities", view = "scores")
#> Capability Status
#> 1 Package-native score estimand available_with_caveat
#> 2 Slope-aware expected-score fields available_with_caveat
#> 3 Native score uncertainty available_with_caveat
#> 4 FACETS-compatible score uncertainty unavailable
#> 5 Structural fair-average uncertainty supporting_route
#> 6 Equal-discrimination PCM reference supporting_route
#> 7 Package-native scorefile export available_with_caveat
#> 8 Full FACETS score-side review unavailable
#> 9 Reporting interpretation available_with_caveat
#> Limitation
#> 1 Expected-score and residual quantities are package-native GPCM outputs, not Rasch measure-to-score or FACETS-equivalent quantities.
#> 2 Expected-score fields use the fitted slope structure and therefore depend on the declared step and slope facets.
#> 3 Uncertainty fields require the relevant MML diagnostics; otherwise the scorefile reports an explicit unavailable status.
#> 4 No FACETS-compatible free-discrimination score-side uncertainty definition is currently available.
#> 5 Structural fair-average SEs condition on Person EAP/reference means and remain diagnostic-only (FairCIEligible = FALSE); full-refit coverage and FACETS score-side equivalence are unverified.
#> 6 Unit-slope agreement with PCM is an interpretation reference, not evidence that every free-slope score quantity is Rasch-equivalent.
#> 7 The exported scorefile is package-native and must retain its GPCM caveat fields.
#> 8 The full FACETS-style score-side review is unavailable for free-discrimination GPCM.
#> 9 GPCM score-side output is sensitivity evidence, not an automatic operational scoring decision.
#> Alternative
#> 1 Use `facets_output_file_bundle(include = "score")` and report the package-native estimand explicitly.
#> 2 Inspect the fitted step and slope summaries before interpreting exported expected scores or residuals.
#> 3 Use an MML fit when uncertainty is required, or report the explicit unavailable status without substituting another SE.
#> 4 Use the package-native scorefile with caveats; use an `RSM` or `PCM` fit when a full FACETS score-side review is required.
#> 5 Use `fair_average_table(fit, fair_se = TRUE)` directly and label the result as slope-aware element-conditional diagnostic uncertainty.
#> 6 Fit a `PCM` reference when equal-discrimination score semantics are required for comparison.
#> 7 Use `facets_output_file_bundle(include = "score")` and retain all status and caveat columns.
#> 8 Keep full `facets_output_contract_review()` work on the `RSM` or `PCM` route.
#> 9 Report GPCM as a slope-aware sensitivity analysis and keep operational claims separate.
mfrmr_output_guide("gpcm_capabilities", "unavailable", view = "scores")
#> Capability Status
#> 1 FACETS-compatible score uncertainty unavailable
#> 2 Full FACETS score-side review unavailable
#> Limitation
#> 1 No FACETS-compatible free-discrimination score-side uncertainty definition is currently available.
#> 2 The full FACETS-style score-side review is unavailable for free-discrimination GPCM.
#> Alternative
#> 1 Use the package-native scorefile with caveats; use an `RSM` or `PCM` fit when a full FACETS score-side review is required.
#> 2 Keep full `facets_output_contract_review()` work on the `RSM` or `PCM` route.
mfrmr_output_guide("gpcm_capabilities", view = "unavailable")
#> Area
#> 1 FACETS output-contract score-side review
#> 2 Native MCMC and posterior-predictive sampling
#> 3 Formal structural confidence intervals for corrected JML
#> Helper Status
#> 1 facets_output_contract_review() blocked
#> 2 <NA> deferred
#> 3 <NA> deferred
#> Boundary
#> 1 Limited to direct scorefile export rather than the full FACETS-style output-contract review. Direct scorefile export is available with caveats, but contract-wide coverage and metric claims still require a broader free-discrimination score-side review contract.
#> 2 mfrmr does not run native GPCM MCMC or posterior-predictive sampling. export_mfrm_model() writes Stan/brms code for eligible one-family MML sources and Stan code for two-family sources, adding explicit structural priors and retaining supported fixed constraints. Conditional posterior response diagnostics are a different, non-MCMC calculation.
#> 3 Formal corrected-JML structural intervals are unavailable. The explicit corrected estimator reports local adjusted-equation RootSE, not established structural coverage. Uncorrected JML location SEs and post-hoc Person intervals answer different questions. None is a bias-corrected structural confidence interval.
#> RecommendedRoute
#> 1 Use direct fair-average tables and graph-only compatibility outputs; use package-native scorefile export with its stated caveats, and keep full FACETS output-contract reviews on the `RSM` / `PCM` route.
#> 2 Use MML and conditional posterior scoring for their stated targets. Use export_mfrm_model(format = 'stan' or 'brms') for eligible one-family sources, or format = 'stan' for two-family sources. Then review priors, sampler diagnostics and posterior fit; code export is not native Bayesian estimation.
#> 3 Use current JML outputs within their descriptive scope, or explicitly choose MML inference if its population assumptions suit the analysis; do not transfer MML intervals to JML.
