| compute_information | R Documentation |
Calculates design-weighted score-variance curves across the latent
trait (theta) for a fitted RSM many-facet Rasch model. Returns both
an overall precision curve ($tif) and per-facet-level contribution
curves ($iif) based on the realized observation pattern.
compute_information(fit, theta_range = c(-6, 6), theta_points = 201L)
fit |
Output from |
theta_range |
Numeric vector of length 2 giving the range of theta
values. Default |
theta_points |
Integer number of points at which to evaluate
information. Default |
For a polytomous Rasch model with K+1 categories, the score variance at theta for one observed design cell is:
I(\theta) = \sum_{k=0}^{K} P_k(\theta) \left(k - E(\theta)\right)^2
where P_k is the category probability and E(\theta) is the
expected score at theta. In mfrmr, these cell-level variances are then
aggregated with weights taken from the realized observation counts in
fit$prep$data.
The resulting total curve is therefore a design-weighted precision screen
rather than a pure textbook test-information function for an abstract fixed
item set. The associated standard error summary is still
SE(\theta) = 1 / \sqrt{I(\theta)} for positive information values.
An object of class mfrm_information (named list) with:
tif: tibble with columns Theta, Information, SE. The
Information column stores the design-weighted precision value.
iif: tibble with columns Theta, Facet, Level, Information,
and Exposure. Here too, Information stores a design-weighted
contribution value retained under that column name for compatibility.
theta_range: the evaluated theta range.
tif and iif mean hereIn mfrmr, this helper currently supports only RSM fits. The total
curve ($tif) is the sum of design-weighted cell contributions across all
non-person facet levels in the fitted model. The facet-level contribution
curves ($iif) keep those weighted contributions separated, so you can see
which observed rater levels, criteria, or other facet levels are driving
precision at different parts of the scale.
It is not a textbook many-facet test-information function for an abstract fixed item set.
It should not be used as if it were design-free evidence about a form's precision independent of the realized observation pattern.
It does not currently extend to PCM fits; the helper stops for
model = "PCM".
Use compute_information() when you want a design-weighted precision screen
for an RSM fit along the latent continuum. In practice:
start with the total precision curve for overall targeting across the realized observation pattern
inspect facet-level contribution curves when you want to see which raters, criteria, or other facet levels account for more of that design-weighted precision
widen theta_range if you expect extreme measures and want to inspect the
tails explicitly
The defaults (theta_range = c(-6, 6), theta_points = 201) work well for
routine inspection. Expand the range if person or facet measures extend into
the tails, and increase theta_points only when you need a smoother grid
for reporting or custom graphics.
$tif: design-weighted precision curve data with theta, Information, and SE.
$iif: design-weighted facet-level contribution curves for an RSM fit.
Higher information implies more precise measurement at that theta.
SE is inversely related to information.
Peaks in the total curve show the trait region where the realized calibration is most informative.
Facet-level curves help explain which observed facet levels contribute to those peaks; they are not standalone item-information curves and should be read as design contributions.
Theta: point on the latent continuum where the curve is evaluated.
Information: design-weighted precision value at that theta.
SE: approximate 1 / sqrt(Information) summary for positive values.
Exposure: total realized observation weight contributing to a facet-level
curve in $iif.
Compare the precision peak with person/facet locations from a Wright map or
related diagnostics. If you need to decide how strongly SE/CI language can
be used in reporting, follow with precision_audit_report().
Fit a model with fit_mfrm().
Run compute_information(fit).
Plot with plot_information(info, type = "tif").
If needed, inspect facet contributions with
plot_information(info, type = "iif", facet = "Rater").
fit_mfrm(), plot_information()
toy <- load_mfrmr_data("example_core")
fit <- fit_mfrm(toy, "Person", c("Rater", "Criterion"), "Score",
method = "JML", model = "RSM", maxit = 25)
info <- compute_information(fit)
head(info$tif)
info$tif$Theta[which.max(info$tif$Information)]
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.