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"))
Arguments
M: a square matrix or a data frame consisting of absolute choice frequencies; row stimuli are chosen over column stimuli
A: a list of vectors consisting of the stimulus aspects; the default is 1:I, where I is the number of stimuli
s: the starting vector with default 1/J for all parameters, where J is the number of parameters
constrained: logical, if TRUE (default), parameters are constrained to be positive
object: an object of class eba, typically the result of a call to eba
test: 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.
Details
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.
Returns
coefficients: a vector of parameter estimates
estimate: same as coefficients
logL.eba: the log-likelihood of the fitted model
logL.sat: the log-likelihood of the saturated (binomial) model
goodness.of.fit: 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
u.scale: 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
hessian: the Hessian matrix of the likelihood function
cov.p: the covariance matrix of the model parameters
chi.alt: the Pearson chi-square goodness of fit statistic
fitted: the fitted paired-comparison matrix
y1: the data vector of the upper triangle matrix
y0: the data vector of the lower triangle matrix
n: the number of observations per pair (y1 + y0)
mu: the predicted choice probabilities for the upper triangle
nobs: the number of pairs
Author(s)
Florian Wickelmaier
References
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. tools:::Rd_expr_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. tools:::Rd_expr_doi("10.1037/h0032955")
Tversky, A., & Sattath, S. (1979). Preference trees. Psychological Review, 86 , 542--573. tools:::Rd_expr_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. tools:::Rd_expr_doi("10.3758/BF03195547")
data(celebrities)# absolute choice frequenciesbtl1 <- eba(celebrities)# fit Bradley-Terry-Luce modelA <- 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 aspectseba1 <- eba(celebrities, A)# fit elimination-by-aspects modelsummary(eba1)# goodness of fitplot(eba1)# residuals versus predicted valuesanova(btl1, eba1)# model comparison based on likelihoodsconfint(eba1)# confidence intervals for parametersuscale(eba1)# utility scaleci <-1.96* sqrt(diag(cov.u(eba1)))# 95% CI for utility scale valuesdotchart(uscale(eba1), xlim=c(0,.3), main="Choice among celebrities", xlab="Utility scale value (EBA model)", pch=16)# plot the scalearrows(uscale(eba1)-ci,1:9, uscale(eba1)+ci,1:9,.05,90,3)# error barsabline(v=1/9, lty=2)# indifference linemtext("(Rumelhart and Greeno, 1971)", line=.5)## See data(package = "eba") for application examples.