inst/validation/external-parameter-recovery-simulation-0.2.0.md

External parameter-recovery simulation evidence for mfrmr 0.2.0

Review date: 2026-05-17.

This file records the package-maintainer review of the separate Parameter_Recovery_Simulation workflow. The workflow itself is not bundled with the package because it contains large generated datasets, engine outputs, HTML reports, and optional FACETS batch files. This summary preserves the release-relevant evidence and the limits of that evidence. The companion script external-recovery-audit.R can be sourced to re-audit a local copy of the external workflow outputs, check the expected CSV schemas, record file fingerprints, and regenerate the compact summary tables.

Scope reviewed

The external workflow is a common-data simulation framework for comparing many-facet Rasch-family recovery across R, Python, Julia, and optionally FACETS. The reviewed first-phase outputs focus on RSM / PCM fits with JMLE.

The reviewed analysis outputs came from:

To refresh the review from a local external-workflow directory:

source(system.file("validation", "external-recovery-audit.R", package = "mfrmr"))
review <- mfrmr_review_external_recovery_simulation(
  "/path/to/Parameter_Recovery_Simulation"
)
summary(review)

The main analysis manifest contains five classroom-writing datasets: baseline, nonrandom_missing, rater_drift, central_tendency, and weak_bridge, each with one rater per person. Dataset sizes range from 434 to 473 observed ratings, with observed density from 0.904 to 0.985. The generator includes criterion-level discrimination differences, while the reviewed RSM and PCM fits intentionally do not estimate discrimination. This is useful misspecification evidence, not a claim that the equal-discrimination models are adequate under all stress patterns.

Structural checks

The smoke summary reported 52 of 52 expected output checks passing. The engine status summary covered 30 engine/model/design groups:

Observed median runtime ranges in the reviewed output were:

The runtime evidence supports the smoke/agreement workflow as a fast independent check. It should not be read as CRAN-time package evidence, because the workflow is external and uses separate generated data.

Engine agreement evidence

R/Python/Julia agreement is strong for centered estimates, steps, standard errors, and most separation summaries. In the reviewed engine_parity_overview.csv:

| Source | Maximum RMSE across agreement groups | Review groups | |---|---:|---:| | level recovery | 0.0052 | 0 / 480 | | step recovery | 0.0034 | 0 / 360 | | fit statistics | 0.0162 | 32 / 1200 | | separation | 0.0127 | 4 / 1200 |

The larger review counts occur mainly in fit-standardization and separation summaries, especially standardized fit quantities where degrees-of-freedom conventions are known to matter. This supports the package's documentation choice to treat FACETS-style fit comparison as a convention-aware review rather than a simple numerical identity claim.

Stress-pattern findings

The automatically ranked key findings identify the expected weak points of the one-rater sparse classroom-writing design:

These findings are not package failures. They are design and misspecification warnings that should remain visible in user guidance: successful convergence and cross-engine agreement do not imply that a sparse or stressed design gives adequate recovery for every facet.

Sample-size D-study evidence

The reviewed sample-size D-study outputs are a compact smoke run over person count and rater-pool count, again for classroom-writing RSM fits across R/Python/Julia. It is useful for checking that the reporting pipeline produces decision-oriented summaries, but it is not a final operating-characteristic study because it uses one replication per cell.

In the reviewed outputs:

The package should therefore describe sample-size output as a decision support surface that needs replication, uncertainty bands, and design-specific thresholds before being used for operational planning.

Release implications

This external simulation evidence supports the 0.2.0 release boundary in three ways.

First, it strengthens the distinction between direct recovery and design endorsement. evaluate_mfrm_recovery() and assess_mfrm_recovery() should stay framed as parameter-recovery checks under a stated data-generating design.

Second, it supports the warning that model fit, convergence, and agreement are not enough. The reviewed stress cases converge and agree across engines while still showing recovery, coverage, precision, and role-bias risks.

Third, it supports keeping GPCM planning and broader score-side workflows deferred until their estimands and uncertainty behavior are validated. The reviewed first-phase evidence is strongest for RSM / PCM JMLE agreement and stress-pattern sensitivity, not for unrestricted GPCM operational reporting.

Review limits



Try the mfrmr package in your browser

Any scripts or data that you put into this service are public.

mfrmr documentation built on June 13, 2026, 1:07 a.m.