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

1 2 3 4 5 6 7 8 9 |

`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 |

`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.constrained`

and
`L`

are called automatically.

See `group.test`

for details on the likelihood ratio
tests reported by `summary.eba`

.

`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 |

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.

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.

`strans`

, `uscale`

, `cov.u`

,
`group.test`

, `wald.test`

, `plot.eba`

,
`residuals.eba`

, `logLik.eba`

,
`simulate.eba`

,
`kendall.u`

, `circular`

, `trineq`

,
`thurstone`

, `nlm`

.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | ```
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)
``` |

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.

All documentation is copyright its authors; we didn't write any of that.