Hello:
Has anyone tried to model-based recursive partition (using mob from package party; thanks Achim and colleagues) a data set based on a multinomial logit model (using mlogit from package mlogit; thanks Yves)? I attempted to do so, but there are at least two reasons why I could not. First, in mob I am not quite sure that a model of class StatModel exists for mlogit models. Second, as mlogit uses the pipe character | to specify the model, I wonder how this would interact with mob which uses pipe to differentiate between explanatory and segmentation variables. An example (not working) of what I would like to accomplish follows below. Thanks a lot. Tudor library(party) library(mlogit) data("Fishing", package = "mlogit") Fish <- mlogit.data(Fishing, varying = c(2:9), shape = "wide", choice = "mode") # FIT AN mlogit MODEL m1 <- mlogit(mode ~ price + catch, data=Fish) # THE DESIRED END RESULT: SEGMENT m1 BASED ON INCOME AND/OR OTHER POSSIBLE COVARIATES |
Tudor:
> Has anyone tried to model-based recursive partition (using mob from > package party; thanks Achim and colleagues) a data set based on a > multinomial logit model (using mlogit from package mlogit; thanks Yves)? Interesting question: in principle, this is possible but I wouldn't know of anyone who has tried this. > I attempted to do so, but there are at least two reasons why I could > not. First, in mob I am not quite sure that a model of class StatModel > exists for mlogit models. Second, as mlogit uses the pipe character | > to specify the model, I wonder how this would interact with mob which > uses pipe to differentiate between explanatory and segmentation > variables. This is one but not the only complication when trying to actually combine mlogit and mob. I think the building blocks would have to be: - Set up the data plus formula handling. As you point out, that would need a three-part formula separating alternative-specific and subject-specific regressors and partitioning variables. Furthermore you would probably need to translate between the long format used by mlogit (subjects x alternatives) to the wide format because mob would want to partition the subjects. - A StatModel object would be required. Personally, if I wanted to do it, would try to set up the StatModel object on the fly (rather than predefine it in a package) so that the StatModel creator can depend on the formula/data. The formula/data processing described above can be done inside the StatModel object. - Finally, the required methods for the fitted model object would have to be defined. In particular, the subject-specific gradients would be required. I think currently, mlogit just provides the overall gradient. So, in summary: It can be done but it would likely need more than just an hour of coding... hth, Z > An example (not working) of what I would like to accomplish follows below. > > Thanks a lot. > > Tudor > > library(party) > library(mlogit) > data("Fishing", package = "mlogit") > Fish <- mlogit.data(Fishing, varying = c(2:9), shape = "wide", choice = > "mode") > # FIT AN mlogit MODEL > m1 <- mlogit(mode ~ price + catch, data=Fish) > # THE DESIRED END RESULT: SEGMENT m1 BASED ON INCOME AND/OR OTHER POSSIBLE > COVARIATES > > > > > > -- > View this message in context: http://r.789695.n4.nabble.com/mlogit-and-model-based-recursive-partitioning-tp4644743.html > Sent from the R help mailing list archive at Nabble.com. > > ______________________________________________ > [hidden email] mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. > ______________________________________________ [hidden email] mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code. |
Free forum by Nabble | Edit this page |