eba {eba} | R Documentation |
Elimination-by-Aspects (EBA) Models
Description
Fits a (multi-attribute) probabilistic choice model by maximum likelihood.
Usage
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 |
s |
the starting vector with default |
constrained |
logical, if TRUE (default), parameters are constrained to be positive |
object |
an object of class |
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 |
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
.
Value
coefficients |
a vector of parameter estimates |
estimate |
same as |
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 ( |
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. 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
.
Examples
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.