FLXMRcondlogit.RdModel driver for fitting mixtures of conditional logit models.
FLXMRcondlogit(formula = . ~ ., strata)A formula which is interpreted relative to the formula
specified in the call to flexmix using
update.formula. Default is to use the original
flexmix model
formula.
A formula which is interpreted such that no intercept is fitted and which allows to determine the variable indicating which observations are from the same stratum.
The M-step is performed using coxph.fit.
Returns an object of class FLXMRcondlogit inheriting from FLXMRglm.
Bettina Gruen and Friedrich Leisch. Identifiability of finite mixtures of multinomial logit models with varying and fixed effects. Journal of Classification, 25, 225–247. 2008.
To ensure identifiability repeated measurements are necessary. Sufficient conditions are given in Gruen and Leisch (2008).
if (require("Ecdat")) {
data("Catsup", package = "Ecdat")
## To reduce the time needed for the example only a subset is used
Catsup <- subset(Catsup, id %in% 1:100)
Catsup$experiment <- seq_len(nrow(Catsup))
vnames <- c("display", "feature", "price")
Catsup_long <-
reshape(Catsup,
idvar = c("id", "experiment"),
times = c(paste("heinz", c(41, 32, 28), sep = ""),
"hunts32"),
timevar = "brand",
varying = matrix(colnames(Catsup)[2:13], nrow = 3, byrow = TRUE),
v.names = vnames,
direction = "long")
Catsup_long$selected <- with(Catsup_long, choice == brand)
Catsup_long <- Catsup_long[, c("id", "selected", "experiment", vnames, "brand")]
Catsup_long$brand <- relevel(factor(Catsup_long$brand), "hunts32")
set.seed(0808)
flx1 <- flexmix(selected ~ display + feature + price + brand | id,
model = FLXMRcondlogit(strata = ~ experiment),
data = Catsup_long, k = 1)
}
#> Loading required package: Ecdat
#> Loading required package: Ecfun
#>
#> Attaching package: ‘Ecfun’
#> The following object is masked from ‘package:base’:
#>
#> sign
#>
#> Attaching package: ‘Ecdat’
#> The following object is masked from ‘package:MASS’:
#>
#> SP500
#> The following object is masked from ‘package:datasets’:
#>
#> Orange