eba {eba}R Documentation

Elimination-by-Aspects (EBA) Models


Fits a (multi-attribute) probabilistic choice model by maximum likelihood.


eba(M, A = 1:I, s = rep(1/J, J), constrained = TRUE)

OptiPt(M, A = 1:I, s = rep(1/J, J), constrained = TRUE)

## S3 method for class 'eba'
summary(object, ...)

## S3 method for class 'eba'
anova(object, ..., test = c("Chisq", "none"))



a square matrix or a data frame consisting of absolute choice frequencies; row stimuli are chosen over column stimuli


a list of vectors consisting of the stimulus aspects; the default is 1:I, where I is the number of stimuli


the starting vector with default 1/J for all parameters, where J is the number of parameters


logical, if TRUE (default), parameters are constrained to be positive


an object of class eba, typically the result of a call to eba


should the p-values of the chi-square distributions be reported?


additional arguments; none are used in the summary method; in the anova method they refer to additional objects of class eba.


eba is a wrapper function for OptiPt. Both functions can be used interchangeably. See Wickelmaier and Schmid (2004) for further details.

The probabilistic choice models that can be fitted to paired-comparison data are the Bradley-Terry-Luce (BTL) model (Bradley, 1984; Luce, 1959), preference tree (Pretree) models (Tversky and Sattath, 1979), and elimination-by-aspects (EBA) models (Tversky, 1972), the former being special cases of the latter.

A represents the family of aspect sets. It is usually a list of vectors, the first element of each being a number from 1 to I; additional elements specify the aspects shared by several stimuli. A must have as many elements as there are stimuli. When fitting a BTL model, A reduces to 1:I (the default), i.e. there is only one aspect per stimulus.

The maximum likelihood estimation of the parameters is carried out by nlm. The Hessian matrix, however, is approximated by nlme::fdHess. The likelihood functions L.constrained and L are called automatically.

See group.test for details on the likelihood ratio tests reported by summary.eba.



a vector of parameter estimates


same as coefficients


the log-likelihood of the fitted model


the log-likelihood of the saturated (binomial) model


the goodness of fit statistic including the likelihood ratio fitted vs. saturated model (-2logL), the degrees of freedom, and the p-value of the corresponding chi-square distribution


the unnormalized utility scale of the stimuli; each utility scale value is defined as the sum of aspect values (parameters) that characterize a given stimulus


the Hessian matrix of the likelihood function


the covariance matrix of the model parameters


the Pearson chi-square goodness of fit statistic


the fitted paired-comparison matrix


the data vector of the upper triangle matrix


the data vector of the lower triangle matrix


the number of observations per pair (y1 + y0)


the predicted choice probabilities for the upper triangle


the number of pairs


Florian Wickelmaier


Bradley, R.A. (1984). Paired comparisons: Some basic procedures and examples. In P.R. Krishnaiah & P.K. Sen (eds.), Handbook of Statistics, Volume 4. Amsterdam: Elsevier. doi: 10.1016/S0169-7161(84)04016-5

Luce, R.D. (1959). Individual choice behavior: A theoretical analysis. New York: Wiley.

Tversky, A. (1972). Elimination by aspects: A theory of choice. Psychological Review, 79, 281–299. doi: 10.1037/h0032955

Tversky, A., & Sattath, S. (1979). Preference trees. Psychological Review, 86, 542–573. doi: 10.1037/0033-295X.86.6.542

Wickelmaier, F., & Schmid, C. (2004). A Matlab function to estimate choice model parameters from paired-comparison data. Behavior Research Methods, Instruments, and Computers, 36, 29–40. doi: 10.3758/BF03195547

See Also

strans, uscale, cov.u, group.test, wald.test, plot.eba, residuals.eba, logLik.eba, simulate.eba, kendall.u, circular, trineq, thurstone, nlm.


data(celebrities)                     # absolute choice frequencies
btl1 <- eba(celebrities)              # fit Bradley-Terry-Luce model
A <- list(c(1,10), c(2,10), c(3,10),
          c(4,11), c(5,11), c(6,11),
          c(7,12), c(8,12), c(9,12))  # the structure of aspects
eba1 <- eba(celebrities, A)           # fit elimination-by-aspects model

summary(eba1)                         # goodness of fit
plot(eba1)                            # residuals versus predicted values
anova(btl1, eba1)                     # model comparison based on likelihoods
confint(eba1)                         # confidence intervals for parameters
uscale(eba1)                          # utility scale

ci <- 1.96 * sqrt(diag(cov.u(eba1)))      # 95% CI for utility scale values
dotchart(uscale(eba1), xlim=c(0, .3), main="Choice among celebrities",
         xlab="Utility scale value (EBA model)", pch=16)    # plot the scale
arrows(uscale(eba1)-ci, 1:9, uscale(eba1)+ci, 1:9, .05, 90, 3)  # error bars
abline(v=1/9, lty=2)                      # indifference line
mtext("(Rumelhart and Greeno, 1971)", line=.5)

## See data(package = "eba") for application examples.

[Package eba version 1.10-0 Index]