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.
Returns
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.
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.