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
Iis the number of stimuli
- the starting vector with default
1/Jfor all parameters, where
Jis 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
- 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 is a wrapper function for
OptiPt. Both functions can be used interchangeably. See Wickelmaier & 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 & 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 are called automatically.
group.test for details on the likelihood ratio tests reported by
- a vector of parameter estimates
- same as
- 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
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.
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.
Tversky, A., & Sattath, S. (1979). Preference trees. Psychological Review, 86, 542--573.
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.
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 & Greeno, 1971)", line=.5)
Documentation reproduced from package eba, version 1.7-2. License: GPL (>= 2)