Combines model components to create likelihood for overall model.
apollo_combineModels(
P,
apollo_inputs,
functionality,
components = NULL,
asList = TRUE
)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.
List of vectors, matrices or 3-dim arrays. Likelihood of the model components.
List grouping most common inputs. Created by function apollo_validateInputs.
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.
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.
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.
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.