Performs parametric bootstrapping for indirect equating to assess standard errors of the indirect equated scores.
Arguments
- fit_ab
A leunbach_ipf object for the A-B equating
- fit_bc
A leunbach_ipf object for the B-C equating
- direction_ab
Direction for A-B equating: "1to2" or "2to1"
- direction_bc
Direction for B-C equating: "1to2" or "2to1"
- nsim
Number of bootstrap samples (default: 1000)
- conf_level
Confidence level for intervals (default: 0.95)
- see_type
Type of SEE calculation: "rounded" or "expected"
- method
Optimization method: "optimize" (default) or "newton"
- parallel
Use parallel processing if mirai is available (default: TRUE)
- n_cores
Number of cores for parallel processing
- verbose
Print progress messages
- seed
Random seed for reproducibility
Value
A list of class "leunbach_indirect_bootstrap" containing:
indirect_eq: The observed indirect equating object
Bootstrap results and standard errors
Bootstrap p-values for LR and Gamma tests for both equatings
Examples
# \donttest{
set.seed(123)
n <- 300
theta1 <- rnorm(n)
a <- pmin(pmax(round(3 + 1.5 * theta1 + rnorm(n, sd = 0.8)), 0), 6)
b1 <- pmin(pmax(round(2.5 + 1.3 * theta1 + rnorm(n, sd = 0.7)), 0), 5)
theta2 <- rnorm(n)
b2 <- pmin(pmax(round(2.5 + 1.3 * theta2 + rnorm(n, sd = 0.7)), 0), 5)
cc <- pmin(pmax(round(3 + 1.4 * theta2 + rnorm(n, sd = 0.8)), 0), 6)
fit_ab <- leunbach_ipf(data.frame(a, b1), max_score1 = 6, max_score2 = 5)
fit_bc <- leunbach_ipf(data.frame(b2, cc), max_score1 = 5, max_score2 = 6)
boot <- leunbach_indirect_bootstrap(fit_ab, fit_bc,
direction_ab = "1to2",
direction_bc = "1to2",
nsim = 25, parallel = FALSE,
seed = 1)
print(boot)
#> Leunbach Indirect Equating - Parametric Bootstrap Results
#> ==========================================================
#>
#> Path: Test A -> Test B -> Test C
#> Bootstrap samples: 25 (25 valid)
#> Processing: sequential
#> Optimization method: optimize
#> SEE type: rounded scores
#>
#> Assessment of significance by parametric bootstrapping:
#>
#> Equating A-B (Test A -> Test B):
#> 1. Likelihood Ratio Test:
#> Observed LR = 18.05 (df = 21)
#> Asymptotic p-value: p = 0.6460
#> Bootstrap p-value: p = 0.2400
#> 2. Goodman-Kruskal Gamma Test (one-sided):
#> Observed Z = 0.02
#> Asymptotic p-value: p = 0.4925
#> Bootstrap p-value: p = 0.4400
#>
#> Equating B-C (Test B -> Test C):
#> 1. Likelihood Ratio Test:
#> Observed LR = 25.94 (df = 21)
#> Asymptotic p-value: p = 0.2086
#> Bootstrap p-value: p = 0.0400
#> 2. Goodman-Kruskal Gamma Test (one-sided):
#> Observed Z = -0.07
#> Asymptotic p-value: p = 0.5262
#> Bootstrap p-value: p = 0.8800
#>
#> Indirect Equating: Test A -> Test C (with 95% CI)
#> =======================================================================================
#>
#> Frequency of bootstrap errors
#> Score Rounded Expected 95% CI SEE -2 -1 0 +1 +2 Failed%
#> --------------------------------------------------------------------------------------------------------
#> 0 0 0.00 [ 0.00, 0.00] 0.00 0.0 0.0 100.0 0.0 0.0 0.0%
#> 1 1 1.13 [ 0.80, 1.50] 0.20 0.0 0.0 96.0 4.0 0.0 0.0%
#> 2 2 2.00 [ 1.79, 2.25] 0.00 0.0 0.0 100.0 0.0 0.0 0.0%
#> 3 3 2.98 [ 2.75, 3.20] 0.00 0.0 0.0 100.0 0.0 0.0 0.0%
#> 4 4 3.88 [ 3.63, 4.09] 0.00 0.0 0.0 100.0 0.0 0.0 0.0%
#> 5 5 4.92 [ 4.56, 5.18] 0.00 0.0 0.0 100.0 0.0 0.0 0.0%
#> 6 6 6.00 [ 6.00, 6.00] 0.00 0.0 0.0 100.0 0.0 0.0 0.0%
#> --------------------------------------------------------------------------------------------------------
#> Average SEE: 0.03
# }