Receives functions or expressions for each functionality so that a user-defined model can interface with Apollo.
apollo_ownModel(ownModel_settings, functionality)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.
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).
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.