I have recently begún to learn about model based recursive partitioning by playing around with MOB in the party package. I came across this mobForest package but am a little baffled towards what it is actually doing.

A MOB model (if I can call it that) is of the form

Y ~ X1,...,Xk | Z1,...,Zl using the MOB vignette's notation. In mobForest I would have a sequence of partitions (Z1,...,Zl ;...; A1,...Al) for which evey node would have a model of the form Y ~ X1,...Xk fitted to it. Is this an ensemble of MOB models or am I completely misunderstanding this?

Bootstraping the observations and sampling your variables at splits to build a sequence of trees helps tackle many problems that a single tree has. But how does that come into play here?

On a side note, when I use mobForestAnalysis to do model-based random forest analysis I dont know how to use this (Model?) to predict on new observations. Can someone help me out on this?


1 Answer 1


Just to give you an idea on what mobForest is doing:

As you know mob partitions subjects in feature space and fits the model of your interest (e.g. Y ~ X1 + X2) in each node. Partition variables Z1 ...Zk are used as splitting variables to construct a tree.

mob is useful to identify groups of subjects with similar model trends. For example, clinical response to a dosage may vary between males and females. In such case, it is worth performing mob analysis which will fit the model "clinical response ~ dosage" for males and females separately in two nodes (assuming males and females have different trends) and obtain predictions based on these two separate models (instead of obtaining predicted clinical response with a model on complete data).

In short, mob assists you to perform localized regressions (based on the mob tree) and obtain predictions accordingly. However, these predictions are based on a single tree model. MobForest extends mob by constructing multiple tree models on bootstrap samples (tree models produced on subsampled sets of subjects) and obtain predictions for each subject on each tree model. So in our example, we can obtain predicted clinical response on multiple tree models using mobForest and summarize predictions to produce stable prediction.

  • $\begingroup$ Ok. I suspected this. Are you familiar with the package? Because I have been playing around with it. I can build the model (not sure how to call it, lets call it a mobForest model) and can asess the out of bag precision etc. I have no clue about how to use it to make predictions on new observations. I have many of them for which I only have the values of the covariables which I would like to predict on. $\endgroup$
    – JEquihua
    Feb 11, 2013 at 3:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.