Bradley-Terry Trees

Share:

Description

Recursive partitioning (also known as trees) based on Bradley-Terry models.

Usage

1
2
3
4
5
6
bttree(formula, data, na.action, cluster,
  type = "loglin", ref = NULL, undecided = NULL, position = NULL, ...)

## S3 method for class 'bttree'
predict(object, newdata = NULL,
  type = c("worth", "rank", "best", "node"), ...)

Arguments

formula

A symbolic description of the model to be fit. This should be of type y ~ x1 + x2 where y should be an object of class paircomp and x1 and x2 are used as partitioning variables.

data

an optional data frame containing the variables in the model.

na.action

A function which indicates what should happen when the data contain NAs, defaulting to na.pass.

cluster

optional vector (typically numeric or factor) with a cluster ID to be employed for clustered covariances in the parameter stability tests.

type

character indicating the type of auxiliary model in bttree and the type of predictions in the predict method, respectively. For the auxiliary model see btmodel. For the predict method, four options are available: the fitted "worth" for each alternative, the corresponding "rank", the "best" alternative or the predicted "node" number.

ref, undecided, position

arguments for the Bradley-Terry model passed on to btmodel.

...

arguments passed to mob_control.

object

fitted model object of class "bttree".

newdata

optionally, a data frame in which to look for variables with which to predict. If omitted, the original observations are used.

Details

Bradley-Terry trees are an application of model-based recursive partitioning (implemented in mob) to Bradley-Terry models for paired comparison data (implemented in btmodel). Details about the underlying theory and further explanations of the illustrations in the example section can be found in Strobl, Wickelmaier, Zeileis (2011).

Various methods are provided for "bttree" objects, most of them inherit their behavior from "mob" objects (e.g., print, summary, etc.). itempar behaves analogously to coef and extracts the worth/item parameters from the BT models in the nodes of the tree. The plot method employs the node_btplot panel-generating function.

Value

An object of S3 class "bttree" inheriting from class "modelparty".

References

Strobl C, Wickelmaier F, Zeileis A (2011). Accounting for Individual Differences in Bradley-Terry Models by Means of Recursive Partitioning. Journal of Educational and Behavioral Statistics, 36(2), 135–153. doi:10.3102/1076998609359791

See Also

mob, btmodel

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
o <- options(digits = 4)

## Germany's Next Topmodel 2007 data
data("Topmodel2007", package = "psychotree")

## BT tree
tm_tree <- bttree(preference ~ ., data = Topmodel2007, minsize = 5, ref = "Barbara")
plot(tm_tree, abbreviate = 1, yscale = c(0, 0.5))

## parameter instability tests in root node
library("strucchange")
sctest(tm_tree, node = 1)

## worth parameters in terminal nodes
itempar(tm_tree)

## CEMS university choice data
data("CEMSChoice", package = "psychotree")
summary(CEMSChoice$preference)

## BT tree
cems_tree <- bttree(preference ~ french + spanish + italian + study + work + gender + intdegree,
  data = CEMSChoice, minsize = 5, ref = "London")
plot(cems_tree, abbreviate = 1, yscale = c(0, 0.5))
itempar(cems_tree)

options(digits = o$digits)