biogeme_model: Create a generic Biogeme model

View source: R/model.R

biogeme_modelR Documentation

Create a generic Biogeme model

Description

The formula is a neutral R expression. It is compiled once into a native Biogeme expression graph before any estimation or simulation starts.

Usage

biogeme_model(
  database,
  formula = NULL,
  weight = NULL,
  probability = NULL,
  simulations = NULL,
  panel_trajectory = FALSE,
  draws = NULL,
  subset = NULL,
  parameter_overrides = NULL,
  control = NULL,
  availability = NULL
)

Arguments

database

A biogeme_database object.

formula

A log-likelihood expression, or a named list of formulas. The names log_like and loglike identify the likelihood formula.

weight

Optional observation-weight expression.

probability

Optional probability expression retained for simulation workflows.

simulations

Optional named list of expressions to simulate.

panel_trajectory

If TRUE, aggregate the likelihood using native PanelLikelihoodTrajectory.

draws

Optional draw metadata object or list of draw metadata.

subset

Optional logical expression selecting observations to retain.

parameter_overrides

Optional named list of native parameter replacements, keyed by the original Beta names.

control

Optional biogeme_control() object stored with the model.

availability

Optional named list of availability expressions. This metadata is used by native post-estimation operations such as the null log-likelihood calculation for generic catalog models.

Details

formula is the native log-likelihood expression. A named list may contain log_like (or loglike) and additional expressions, but a generic model must still provide a likelihood, probability, or simulation expressions. simulations is a named list evaluated only when simulate() is called.

Value

An object of class biogeme_model.

Examples

database <- biogeme_database("demo", data.frame(choice = c(1, 2), x = c(1, 2)))
probability <- logit_probability(
  utilities = list(`1` = 0, `2` = biogeme_beta("b") * variable("x")),
  alternative = variable("choice")
)
model <- biogeme_model(
  database,
  formula = logzero(probability),
  simulations = list(probability = probability)
)
model

rbiogeme documentation built on Sept. 29, 2026, 5:09 p.m.