# All Hierarchical or Graphical Models for Generalized Linear Model

### Description

Find all hierarchical models of specified GLM with information criterion (AIC, BIC, or AICc) within specified cutoff of minimum value. Alternatively, all such graphical models. Use branch and bound algorithm so we do not have to fit all models.

### Usage

1 2 3 |

### Arguments

`big` |
an object of class |

`little` |
a formula specifying the smallest model to be considered.
The response may be omitted and if not omitted is ignored (the response
is taken from |

`family` |
a description of the error distribution and link
function to be used in the model. This can be a
character string naming a family function, a family function or the
result of a call to a family function. (See |

`data` |
an optional data frame, list or environment (or object
coercible by |

`criterion` |
a character string specifying the information criterion,
must be one of |

`cutoff` |
a nonnegative real number. This function finds all
hierarchical models that are submodels of |

`trace` |
logical. Emit debug info if |

`graphical` |
logical. If |

`...` |
additional named or unnamed arguments to be passed
to |

### Details

Typical value for `big`

is something like `foo ~ bar * baz * qux`

where `foo`

is the response variable (or matrix when family is
`binomial`

or `quasibinomial`

,
see `glm`

) and `bar`

, `baz`

, and `qux`

are all the predictors that are considered for inclusion in models.

A model is hierarchical if it includes all lower-order interactions for each
term. This is automatically what formulas with all variables connected by
stars (`*`

) do, like the example above.
But other specifications are possible.
For example, `foo ~ (bar + baz + qux)^2`

specifies the model with all
main effects, and all two-way interactions, but no three-way interaction,
and this is hierarchical.

A model *m1* is nested within a model *m2* if all terms
in *m1* are also terms in *m_2*. The default little model
`~ 1`

is nested within every model except those specified to have
no intercept by `0 +`

or some such (see `link[stats]{formula}`

).

The interaction graph of a model is the undirected graph whose node set is
the predictor variables in the model and whose edge set has one edge for each
pair of variables that are in an interaction term. A clique in a graph is
a maximal complete subgraph. A model is graphical if it is hierarchical
and has an interaction term for the variables in each clique.
When `graphical = TRUE`

only graphical models are considered.

### Value

An object of class `"glmbb"`

containing at least the following
components:

`data` |
the model frame, a data frame containing all the variables. |

`little` |
the argument |

`big` |
the argument |

`criterion` |
the argument |

`cutoff` |
the argument |

`envir` |
an R environment object containing all of the fits done. |

`min.crit` |
the minimum value of the criterion. |

`graphical` |
the argument |

### References

Hand, D. J. (1981)
Branch and bound in statistical data analysis.
*The Statistician*, **30**, 1–13.

### See Also

`link[stats]{family}`

,
`link[stats]{formula}`

,
`link[stats]{glm}`

,
`isGraphical`

,
`isHierarchical`

### Examples

1 2 3 4 |