FlexMix Interface to Conditional Logit Models
Model driver for fitting mixtures of conditional logit models.
FLXMRcondlogit(formula = . ~ ., strata)
formula |
A formula which is interpreted relative to the formula
specified in the call to |
strata |
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
.
To ensure identifiability repeated measurements are necessary. Sufficient conditions are given in Gruen and Leisch (2008).
Bettina Gruen
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.
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) }
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.