Learn R Programming

apollo (version 0.3.2)

apollo_combineModels: Combines separate model components.

Description

Combines model components to create likelihood for overall model.

Usage

apollo_combineModels(
  P,
  apollo_inputs,
  functionality,
  components = NULL,
  asList = TRUE
)

Value

Argument P with (for most functionalities) an extra element called "model", which is the product of all the other elements. Shape depends on argument functionality.

  • "components": Returns P without changes.

  • "conditionals": Returns P with an extra component called "model", which is the product of all other elements of P.

  • "estimate": Returns P with an extra component called "model", which is the product of all other elements of P.

  • "gradient": Returns P containing the gradient of the likelihood after applying the product rule across model components.

  • "output": Returns P with an extra component called "model", which is the product of all other elements of P.

  • "prediction": Returns P without changes.

  • "preprocess": Returns P without changes.

  • "raw": Returns P without changes.

  • "shares_LL": Returns P with an extra component called "model", which is the product of all other elements of P.

  • "validate": Returns P with an extra component called "model", which is the product of all other elements of P.

  • "zero_LL": Returns P with an extra component called "model", which is the product of all other elements of P.

Arguments

P

List of vectors, matrices or 3-dim arrays. Likelihood of the model components.

apollo_inputs

List grouping most common inputs. Created by function apollo_validateInputs.

functionality

Character. Setting instructing Apollo what processing to apply to the likelihood function. This is in general controlled by the functions that call apollo_probabilities, though the user can also call apollo_probabilities manually with a given functionality for testing/debugging. Possible values are:

  • "components": For further processing/debugging, produces likelihood for each model component (if multiple components are present), at the level of individual draws and observations.

  • "conditionals": For conditionals, produces likelihood of the full model, at the level of individual inter-individual draws.

  • "estimate": For model estimation, produces likelihood of the full model, at the level of individual decision-makers, after averaging across draws.

  • "gradient": For model estimation, produces analytical gradients of the likelihood, where possible.

  • "output": Prepares output for post-estimation reporting.

  • "prediction": For model prediction, produces probabilities for individual alternatives and individual model components (if multiple components are present) at the level of an observation, after averaging across draws.

  • "preprocess": Prepares likelihood functions for use in estimation.

  • "raw": For debugging, produces probabilities of all alternatives and individual model components at the level of an observation, at the level of individual draws.

  • "report": Prepares output summarising model and choiceset structure.

  • "shares_LL": Produces overall model likelihood with constants only.

  • "validate": Validates model specification, produces likelihood of the full model, at the level of individual decision-makers, after averaging across draws.

  • "zero_LL": Produces overall model likelihood with all parameters at zero.

components

Character vector. Optional argument. Names of elements in P that should be multiplied to construct the whole model likelihood. If a single element is provided, it is interpreted as a regular expression. Default is to include all components in P.

asList

Logical. Only used if functionality is "conditionals","estimate","validate","zero_LL" or "output". If TRUE, it will return a list as described in the 'Value' section. If FALSE, it will only return a vector/matrix/3-dim array of the product of likelihoods inside P. Default is TRUE.

Details

This function should be called inside apollo_probabilities after all model components have been produced.

It should be called before apollo_avgInterDraws, apollo_avgIntraDraws, apollo_panelProd and apollo_prepareProb, whichever apply, except where these functions are called inside any latent class components of the overall model.