Fits paired comparisons when judges belong to panels and objects belong to linked sets whose units or origins can differ. It combines the Bradley–Terry–Luce model with Humphry's extended frame of reference structure.
Arguments
- data
A data frame with one comparison per row.
- object_a, object_b
Names of the columns holding the two compared objects. Columns used for objects, winners, judges, and panel membership must be distinct.
- winner
Name of the winner column. A value must match one of the two objects in that row.
"tie"and"draw"mark ties; other values are treated as missing.- judge
Name of the judge column (clusters the stage-one standard errors and defines the panels when
panelsis a judge attribute).- panels
Either the name of a judge-attribute column in
dataor a named vector mapping every judge in the comparisons exactly once to a panel.- object_sets
A named list mapping set names to character vectors of object names. Set names must be unique, and every compared object must occur exactly once in exactly one set. The alphabetically first set is the reference, with \(\alpha=1\) and \(\kappa=0\). Changing this reference can change the cross-set unit restriction, not just the labels.
- response
Not supported: this first implementation fits dichotomous winner data only. Supplying it raises an informative error.
- ties
"drop"(default, removed with a note) or"error".- min_link
Minimum number of cross-set comparisons a set pair must supply to be used for linking; sets not reachable from the reference set through sufficient cross-set pairs raise an error.
- se_method
Method used for standard errors. The default,
"judge_bootstrap", resamples judges within panels and retains dependence among a judge's comparisons."bootstrap"instead draws independent outcomes from fitted probabilities. Both stages are refitted."conditional"uses analytic stage-one standard errors forbetaandphi; the panel-unit covariance retains dependence across sets judged by the same people. It uses inverse observed information foralphaandkappaconditional on the stage-one estimates. It is faster, but does not propagate stage-one uncertainty into the linking parameters; unit probabilities and omnibus tests are therefore withheld.- boot_reps
Number of replicates for
se_method = "bootstrap"or"judge_bootstrap"; at least 30 are required. Inference is returned only when at least 30 and more than half of the requested replicates are usable, and the requested count must exceed the number of independent directions in the largest covariance block used by the fit.- workers
Number of judge-bootstrap workers. The default is four, reduced when the system limit is lower. The parametric bootstrap remains serial because its refits are inexpensive.
- seed
Optional bootstrap seed. The caller's random-number state is restored when estimation finishes.
- progress
Optional function called as
progress(stage, current, total)during estimation.- cancel
Optional zero-argument function checked between bootstrap batches. Returning
TRUEstops with arasch_cancelledcondition.- maxit, tol
Scoring iteration cap and convergence tolerance.
Value
An object of class "rasch_btl_efrm". It contains the object
estimates, group- and set-unit tables, origin shifts, omnibus unit tests,
unit-specific judge support, frame definitions, convergence information,
and analysis notes. n_cross records each set-pair count and whether
it met min_link and entered the fit. boot_reps_requested,
boot_reps_used
and boot_reps_failed report the bootstrap accounting.
total_chisq and total_df describe the pooled pair residuals;
total_p is NA because the corresponding row-independent
chi-square reference is not valid for repeated comparisons by judges.
A non-converged fit retains its final estimates and residual patterns for
diagnosis but withholds standard errors and inferential probabilities.
Details
For object \(k\) in set \(s\), let $$v_k=\alpha_s\beta_k+\kappa_s,$$ where \(\beta_k\) is its within-set location, \(\alpha_s>0\) is the set unit — in Humphry and Andrich's (2008) sense a unit ratio, the reference unit over the set's own, so a value above one means the finer natural unit — and \(\kappa_s\) is the set origin. A comparison in panel \(g\) has logit $$\phi_g(\beta_a-\beta_b)$$ for objects in the same set, and $$\phi_g(v_a-v_b)$$ for objects in different sets. Cross-set comparisons identify the common scale. The first set fixes \(\alpha=1\) and \(\kappa=0\); panel units have geometric mean one.
Estimation has two stages. Within-set comparisons estimate object locations
and panel-unit ratios. Weighted least squares reconciles the ratios over the
panel-by-set linking graph, using each set's covariance for its precision
weight. The analytic covariance of the reconciled panel units is a joint
judge-cluster sandwich: influence contributions with the same judge label
are aligned across sets, while disjoint judge pools have zero cross-set
covariance. Cross-set comparisons then estimate the set
units and origins. Unlike the person-by-item EFRM, this linking step uses
only comparison outcomes and does not require a distribution of persons.
The paired-comparison form is an extension of Humphry's model implemented in
this package.
A within-set panel-ratio fit must have a small score and negative curvature
of the exact likelihood Hessian in all free directions. Failed fits do not
enter the panel-unit reconciliation; the remaining sets must link all panels.
The same rule applies to bootstrap refits. It checks an identified local
maximum, not a global maximum.
Cross-set outcomes are checked for complete and quasi-complete separation,
including designs where only some comparisons become deterministic.
Separated links have no finite estimate. Reaching maxit without
satisfying the convergence criterion is reported as non-convergence.
The default judge bootstrap resamples judges within panels and refits both
stages. The parametric bootstrap draws independent outcomes from the fitted
probabilities and uses normal and chi-square reference distributions.
se_method = "conditional" uses analytic stage-one
errors and conditions the linking errors on stage one; it is intended for
preliminary inspection. Its unit probabilities and omnibus tests are
withheld because it does not propagate stage-one uncertainty. Bootstrap
failures and boundary estimates are reported in notes.
The total pairwise chi-square and its nominal degrees of freedom are retained
as descriptive summaries. Its row-based chi-square probability is withheld
because judges are the sampling units and contribute repeated comparisons.
With one set, the model contains panel units only. With one set and one
panel, its likelihood and finite interior estimates reduce to
btl. Boundary handling differs: btl() can set aside an
undefeated or winless object and report an extrapolated location, whereas
btl_efrm() treats every declared object as part of the frame design
and refuses a within-set outcome separation rather than deleting or
extrapolating an object. Omnibus Wald probabilities are
Holm-adjusted across the panel-unit, set-unit and set-origin families.
Individual estimated units form a separate Holm-adjusted follow-up family
across all three parameter types. Structurally fixed reference coordinates
are not hypotheses. With two panels the centring constraint makes the two
reported panel units a single hypothesis: it enters that family once, and
both rows report its adjusted probability. An unavailable estimated unit
remains in its predeclared family; an omnibus is withheld rather than
reduced when one of its requested coordinates is unavailable.
Judge-bootstrap probabilities require at least six judges and 5.5 effective
judges in every contributing panel. Each non-reference set also requires
eight judges and eight effective judges along a supported path to the
reference set. With redundant links, the path with the strongest bottleneck
is used. The support is returned in unit_support; estimates remain
descriptive when a probability is withheld. Fits with fewer than eight
effective judges per panel or 9.5 along a set's reference path retain
probabilities but report a caution.
Set-unit estimates can also be attenuated when each object pair has little
comparison information. In simulation, log-unit bias declined from about
-0.11 with 10 repetitions per pair to less than -0.01 with 100 repetitions.
A set whose within-set locations have no numerical spread has an
unidentified unit: its reported unit is NA, and the conventional
unit one is used only to place its objects. In contrast, a positive linking
unit driven to zero by the cross-set outcomes is an unsupported boundary
link and raises an error. Such boundary links are also rejected in
bootstrap refits; they are never replaced by unit one.
References
Andrich, D. (1978). Relationships between the Thurstone and Rasch approaches to item scaling. Applied Psychological Measurement, 2(3), 451–462.
Bradley, R. A. and Terry, M. E. (1952). Rank analysis of incomplete block designs: I. The method of paired comparisons. Biometrika, 39, 324–345.
David, H. A. (1988). The Method of Paired Comparisons (2nd ed.). Griffin.
Humphry, S. M. (2005). Maintaining a common arbitrary unit in social measurement. PhD thesis, Murdoch University.
Humphry, S. M. (2012). Item set discrimination and the unit in the Rasch model. Journal of Applied Measurement, 13(2), 165–180.
Humphry, S. M. and Andrich, D. (2008). Understanding the unit in the Rasch model. Journal of Applied Measurement, 9(3), 249–264.
Luce, R. D. (1959). Individual Choice Behavior: A Theoretical Analysis. Wiley.
Thurstone, L. L. (1927). A law of comparative judgment. Psychological Review, 34, 273–286.
See also
btl, rasch_efrm,
plot_btl_units, and simulate_btl_efrm.
Examples
# \donttest{
d <- simulate_btl_efrm(n_objects_per_set = 6, n_sets = 2, n_panels = 2,
set_units = c(1, 1.4), set_origins = c(0, 0.8),
seed = 1)
fit <- btl_efrm(d, "object_a", "object_b", winner = "winner",
judge = "judge", panels = "panel",
object_sets = attr(d, "truth")$object_sets,
se_method = "conditional")
fit$alpha_table
#> set alpha se_log_alpha t df p p_adj significant
#> set1 1.000
#> set2 1.466 0.081
# }