Skip to contents

Fits a Rasch or 2PL model using TAM and computes WLE and EAP reliability using the official WLErel() and EAPrel() functions.

Usage

compute_reliability_tam(resp, model = c("rasch", "2pl"), verbose = FALSE, ...)

Arguments

resp

Matrix or data.frame of item responses (0/1).

model

Character. "rasch" or "2pl".

verbose

Logical. If TRUE, print fitting messages.

...

Additional arguments passed to TAM fitting functions.

Value

A list with components:

rel_wle

WLE reliability.

rel_eap

EAP reliability.

mod

Fitted TAM model object.

wle

Output from TAM::tam.wle().

Details

WLE vs EAP Reliability

TAM defines these reliability coefficients differently:

  • WLE reliability: \(1 - \bar{s}^2 / V_{WLE}\), based on design effect

  • EAP reliability: \(V_{EAP} / (V_{EAP} + \bar{\sigma}^2)\), based on posterior variance

Mathematically, \(\rho_{EAP} \geq \rho_{WLE}\) always holds under TAM's definitions. EAP reliability more closely corresponds to MSEM-based population reliability. For conservative inference, treat WLE as a lower bound.

See also

simulate_response_data for generating test data, eqc_calibrate for calibration.

Examples

if (FALSE) { # \dontrun{
# Simulate response data from EQC results
sim_data <- simulate_response_data(eqc_result, n_persons = 500)

# Compute TAM reliability
tam_rel <- compute_reliability_tam(sim_data$response_matrix, model = "rasch")
cat(sprintf("WLE reliability: %.4f\n", tam_rel$rel_wle))
cat(sprintf("EAP reliability: %.4f\n", tam_rel$rel_eap))
} # }