apollo_ownModel: Calculates own model probabilities

View source: R/apollo_ownModel.R

apollo_ownModelR Documentation

Calculates own model probabilities

Description

Receives functions or expressions for each functionality so that a user-defined model can interface with Apollo.

Usage

apollo_ownModel(ownModel_settings, functionality)

Arguments

ownModel_settings

List of arguments. Only likelihood is mandatory.

  • likelihood: Function or expression used to calculate the likelihood of the model. Should evaluate to a vector, matrix, or 3-dimensional array.

  • prediction: Function or expression used to calculate the prediction of the model. Should evaluate to a vector, matrix, or 3-dimensional array.

  • zero_LL: Function or expression used to calculate the likelihood of the base model (e.g. equiprobable model).

  • shares_LL: Function or expression used to calculate the likelihood of the constants-only model.

  • gradient: Function or expression used to calculate the gradient of the likelihood. If not provided, Apollo will attempt to calculate it automatically.

  • report: List of functions or expressions used to produce a text report summarising the input and parameter estimates of the model. Should contain two elements: "data" (with a summary of the input data), and "param" (with a summary of the estimated parameters).

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.

Value

The returned object depends on the value of argument functionality as follows.

  • "components": Same as "estimate"

  • "conditionals": Same as "estimate"

  • "estimate": vector/matrix/array. Returns the probabilities for the chosen alternative for each observation.

  • "gradient": List containing the likelihood and gradient of the model component.

  • "output": Same as "estimate" but also writes summary of input data to internal Apollo log.

  • "prediction": List of vectors/matrices/arrays. Returns a list with the probabilities for all alternatives, with an extra element for the probability of the chosen alternative.

  • "preprocess": Returns a list with pre-processed inputs, based on mnl_settings.

  • "validate": Same as "estimate", but it also runs a set of tests to validate the function inputs.

  • "raw": Same as "prediction"

  • "report": Choice overview

  • "shares_LL": vector/matrix/array. Returns the probability of the chosen alternative when only constants are estimated.

  • "validate": Same as "estimate"

  • "zero_LL": vector/matrix/array. Returns the probability of the chosen alternative when all parameters are zero.


apollo documentation built on Oct. 13, 2023, 1:15 a.m.