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.