Calculate conventional SSR as 1 - mean(se^2) / stats::var(theta) and
expose its variance components. The observed variance uses the sample
denominator n - 1. Estimates and SEs must use the same scale and item order.
Value
A list with observed_variance, mean_squared_se,
true_score_variance (observed variance minus mean squared SE), ssr,
n_items, n_finite, valid, and status. Successful calculations have
valid = TRUE and status "ok" or "negative_true_score_variance".
Invalid inputs or nonfinite calculated components raise an error; no items
are dropped and no coefficient is returned for an undefined calculation.
Details
Negative SSR and negative estimated true-score variance are retained, not clipped. They indicate that mean squared uncertainty exceeds observed score variance. SSR depends on the estimator, its SE convention, and the estimated score variance; it is not an estimator-free measure of recovery or accuracy.
Examples
scale_separation_reliability(c(-1, 0, 1), c(0.2, 0.3, 0.4))
#> $observed_variance
#> [1] 1
#>
#> $mean_squared_se
#> [1] 0.09666667
#>
#> $true_score_variance
#> [1] 0.9033333
#>
#> $ssr
#> [1] 0.9033333
#>
#> $n_items
#> [1] 3
#>
#> $n_finite
#> [1] 3
#>
#> $valid
#> [1] TRUE
#>
#> $status
#> [1] "ok"
#>