OptiPt.Rd
Fits a (multi-attribute) probabilistic choice model by maximum likelihood.
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
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
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
#>
#> Parameter estimates:
#> Estimate Std. Error z value Pr(>|z|)
#> 1 0.223609 0.024875 8.989 < 2e-16 ***
#> 2 0.121112 0.019596 6.181 6.39e-10 ***
#> 3 0.087820 0.016368 5.365 8.08e-08 ***
#> 4 0.040326 0.009573 4.212 2.53e-05 ***
#> 5 0.016307 0.004648 3.509 0.000451 ***
#> 6 0.040139 0.010089 3.979 6.93e-05 ***
#> 7 0.036679 0.006549 5.601 2.13e-08 ***
#> 8 0.093101 0.012080 7.707 1.29e-14 ***
#> 9 0.143109 0.015352 9.322 < 2e-16 ***
#> 10 0.071635 0.028935 2.476 0.013295 *
#> 11 0.054775 0.009606 5.702 1.19e-08 ***
#> 12 0.056997 0.011805 4.828 1.38e-06 ***
#> ---
#> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
#>
#> Model tests:
#> Df1 Df2 logLik1 logLik2 Deviance Pr(>Chi)
#> Overall 1 72 -763.65 -235.22 1056.85 <2e-16 ***
#> EBA 11 36 -119.01 -103.93 30.17 0.218
#> Effect 0 11 -632.36 -119.01 1026.68 <2e-16 ***
#> Imbalance 1 36 -131.29 -131.29 0.00 1.000
#> ---
#> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
#>
#> AIC: 260.03
#> Pearson X2: 30.05
plot(eba1) # residuals versus predicted values
anova(btl1, eba1) # model comparison based on likelihoods
#> Analysis of Deviance Table
#>
#> Model 1: btl1
#> Model 2: eba1
#> Resid. Df Resid. Dev Df Deviance Pr(>Chi)
#> 1 28 78.217
#> 2 25 30.166 3 48.051 2.077e-10 ***
#> ---
#> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
confint(eba1) # confidence intervals for parameters
#> 2.5 % 97.5 %
#> 1 0.174854300 0.27236430
#> 2 0.082705521 0.15951920
#> 3 0.055739127 0.11990028
#> 4 0.021563110 0.05908841
#> 5 0.007197544 0.02541685
#> 6 0.020366095 0.05991280
#> 7 0.023843499 0.04951394
#> 8 0.069424905 0.11677799
#> 9 0.113018831 0.17319870
#> 10 0.014924518 0.12834594
#> 11 0.035946383 0.07360297
#> 12 0.033860426 0.08013390
uscale(eba1) # utility scale
#> LBJ HW CDG JU CY AJF BB
#> 0.21830768 0.14252010 0.11790307 0.07031851 0.05255887 0.07018075 0.06926518
#> ET SL
#> 0.11098488 0.14796095
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.