apollo_estimate
Searches the user work space (.GlobalEnv) for all necessary input to run apollo_estimate
, and packs it in a single list.
apollo_validateInputs(
apollo_beta = NA,
apollo_fixed = NA,
database = NA,
apollo_control = NA,
apollo_HB = NA,
apollo_draws = NA,
apollo_randCoeff = NA,
apollo_lcPars = NA,
recycle = FALSE,
silent = FALSE
)
List grouping several required input for model estimation.
Named numeric vector. Names and values for parameters.
Character vector. Names (as defined in apollo_beta
) of parameters whose value should not change during estimation.
data.frame. Data used by model.
List. Options controlling the running of the code. User input is required for all settings except those with a default or marked as optional.
analyticGrad
: Boolean. TRUE to use analytical gradients during parameter estimation, if they are available. FALSE to use numerical gradients. - TRUE by default.
calculateLLC
: Boolean. TRUE if user wants to calculate LL at constants (if applicable). - TRUE by default.
HB
: Boolean. TRUE if using RSGHB for Bayesian estimation of model.
indivID
: Character. Name of column in the database with each decision maker's ID.
mixing
: Boolean. TRUE for models that include random parameters.
modelDescr
: Character. Description of the model. Used in output files.
modelName
: Character. Name of the model. Used when saving the output to files.
nCores
: Numeric>0. Number of cores to use in calculations of the model likelihood.
noDiagnostics
: Boolean. TRUE if user does not wish model diagnostics to be printed - FALSE by default.
noValidation
: Boolean. TRUE if user does not wish model input to be validated before estimation - FALSE by default.
outputDirectory
: Character. Optional directory for outputs if different from working director - empty by default
panelData
: Boolean. TRUE if there are multiple observations (i.e. rows) for each decision maker - Automatically set based on indivID
by default.
seed
: Numeric. Seed for random number generation.
weights
: Character. Name of column in database containing weights for estimation.
workInLogs
: Boolean. TRUE for increased numeric precision in models with panel data - FALSE by default.
List. Contains options for Bayesian estimation. See ?RSGHB::doHB
for details.
Parameters modelname
, gVarNamesFixed
, gVarNamesNormal
,
gDIST
, svN
and FC
are automatically set based on the
other arguments of this function.
Other settings to include are the following.
constraintNorm
: Character vector. Constraints for random coefficients
in bayesian estimation. Constraints can be written as
"b1>b2", "b1<b2", "b1>0", or "b1<0".
fixedA
: Named numeric vector. Contains the names and fixed mean values of
random parameters. For example, c(b1=0) fixes the mean of b1 to zero.
fixedD
: Named numeric vector. Contains the names and fixed variance of
random parameters. For example, c(b1=1) fixes the variance of b1 to zero.
gNCREP
: Numeric. Number of burn-in iterations to use prior to convergence (default=10^5).
gNEREP
: Numeric. Number of iterations to keep for averaging after convergence has been reached (default=10^5).
gINFOSKIP
: Numeric. Number of iterations between printing/plotting information about the iteration process (default=250).
hbDist
: Mandatory setting. A named character vector determining
the distribution of each parameter to be estimated. Possible
values are as follows.
"CN+"
: Positive censored normal.
"CN-"
: Negative censored normal.
"DNE"
: Parameter kept at its starting value (not estimated).
"JSB"
: Johnson SB.
"LN+"
: Positive log-normal.
"LN-"
: Negative log-normal.
"N"
: Normal.
"NR"
: Fixed (as in non-random) parameter.
List of arguments describing the inter and intra individual draws. Required only if apollo_control$mixing = TRUE
. Unused elements can be ommited.
interDrawsType
: Character. Type of inter-individual draws ('halton','mlhs','pmc','sobol','sobolOwen',
'sobolFaureTezuka', 'sobolOwenFaureTezuka' or the name of an object loaded in memory,
see manual in www.ApolloChoiceModelling.com for details).
interNDraws
: Numeric scalar (>=0). Number of inter-individual draws per individual. Should be set to 0 if not using them.
interNormDraws
: Character vector. Names of normaly distributed inter-individual draws.
interUnifDraws
: Character vector. Names of uniform-distributed inter-individual draws.
intraDrawsType
: Character. Type of intra-individual draws ('halton','mlhs','pmc','sobol','sobolOwen','sobolFaureTezuka', 'sobolOwenFaureTezuka' or the name of an object loaded in memory).
intraNDraws
: Numeric scalar (>=0). Number of intra-individual draws per individual. Should be set to 0 if not using them.
intraUnifDraws
: Character vector. Names of uniform-distributed intra-individual draws.
intraNormDraws
: Character vector. Names of normaly distributed intra-individual draws.
Function. Used with mixing models. Constructs the random parameters of a mixing model. Receives two arguments:
apollo_beta
: Named numeric vector. Names and values of model parameters.
apollo_inputs
: The output of this function (apollo_validateInputs
).
Function. Used with latent class models. Constructs a list of parameters for each latent class. Receives two arguments:
apollo_beta
: Named numeric vector. Names and values of model parameters.
apollo_inputs
: The output of this function (apollo_validateInputs
).
Logical. If TRUE, an older version of apollo_inputs
is looked for in the calling environment (parent frame), and any
element in that old version created by the user is copied into the new apollo_inputs
returned by this function.
For recycle=TRUE
to work, the old version of apollo_inputs
must be named "apollo_inputs".
If FALSE, nothing is copied from any older version of apollo_inputs. FALSE is the default.
Logical. TRUE to keep the function from printing to the console. Default is FALSE.
All arguments to this function are optional. If the function is called without arguments, then it it will look in the user workspace (i.e. the global environment) for variables with the same name as its omitted arguments. We strongly recommend users to visit http://www.apollochoicemodelling.com/ for examples on how to use Apollo. In the website, users will also find a detailed manual and a user-group for help and further reference.