Compares fitted parameters with the generating values from a
simulate_* function (carried on the data as
attr(sim, "truth")): item difficulties and person abilities for a
Rasch fit, object locations for a paired-comparison fit, rater severities
(with item and person measures) for a many-facet fit, set and group units
for a Rasch frames fit, and common object locations, panel and set units,
and set origins for a paired-comparison frames fit. Locations are
mean-centred where the model identifies them only up to an origin. An
externally anchored Rasch or paired-comparison fit retains its identified
origin, so recovery and bias are reported on the anchored scale.
The fit must be from these simulated responses and model family, and must
have converged. Row and item order do not matter; response values and the
person, judge, facet and frame allocations do. A fit given no id
column labels its persons by row number, which are not identifiers: the
responses are still verified, but person recovery and the EFRM group units
are withheld with a note rather than compared against an unverified
person allocation; the EFRM set units are still reported, with the note
recording that the fitted group allocation is unchecked.
Pass id = when fitting to recover them.
Legacy truth without identifiers can be matched by unique response rows,
provided its person truth remains in the simulation data's original order.
Duplicate response patterns leave legacy person recovery unavailable.
An item the estimator dropped, such as one everyone answered identically,
is named in the note and left out of the comparison.
Recovery is unavailable when fitting removes or merges generating response
categories, because the fitted locations then describe a different scale.
For a many-facet simulation, the planted rater facet must be identifiable
uniquely by its name or level labels.
EFRM set parameters are matched by their item or object membership, not by
the spelling of the set labels; a different fitted partition is refused.
Paired-comparison frames align generating origins to the fitted reference
set. That set must have a generating unit of one: fixing another unit to
one imposes a different cross-set restriction, so recovery is refused.
A common generating discrimination changes only the logit unit, so ordinary
Rasch recovery uses the equivalently rescaled item thresholds and person
locations. When the generator includes a departure that the fitted model
does not represent, the comparisons are labelled as descriptive rather
than as recovery of a single correctly specified target. This includes,
for example, heterogeneous item discriminations in an ordinary Rasch fit.
Arguments
- fit
A fit of the simulated data (
rasch,btl,rasch_mfrm,rasch_efrm, orbtl_efrm).- sim
The simulated data (from a
simulate_*function).
Value
A list of class "rasch_recovery": summary (per
parameter type: n, correlation, RMSE, bias) and pieces (the true
and estimated values behind each). note identifies unrepresented
generating departures, an unverifiable original response scale,
generated items the fit does not estimate, and comparisons withheld
because the fit carries no person identifiers.
Examples
d <- simulate_rasch(500, 12, seed = 1)
sim_recovery(rasch(d, id = "id"), d)$summary
#> parameter n correlation rmse bias
#> 1 item difficulty 12 0.9980002 0.1703475 NA
#> 2 person ability 500 0.8177074 0.6756437 NA