Learn R Programming

apollo (version 0.3.4)

apollo_lc: Calculates the likelihood of a latent class model

Description

Given within class probabilities, and class allocation probabilities, calculates the probabilities of an Exploded Logit model and can also perform other operations based on the value of the functionality argument.

Usage

apollo_lc(lc_settings, apollo_inputs, functionality)

Value

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

  • "components": Returns nothing.

  • "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 models components, for each class.

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

  • "raw": Same as "prediction"

  • "report": Class allocation overview.

  • "shares_LL": Same as "estimate"

  • "validate": Same as "estimate", but also runs a set of tests on the given arguments.

  • "zero_LL": Same as "estimate"

Arguments

lc_settings

List. Contains settings for this function. User input is required for all settings except those with a default or marked as optional.

  • inClassProb: List of probabilities. Conditional likelihood for each class. One element per class, in the same order as classProb.

  • classProb: List of probabilities. Allocation probability for each class. One element per class, in the same order as inClassProb.

  • componentName: Character. Name given to model component (optional).

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.