multiModelLowerLimits: Test the sensitivity of the lower limit of an s parameter to...

Description Usage Arguments Details Value See Also

View source: R/oadaAICtable.R

Description

multiModelLowerLimits returns the lower endpoint of the confidence interval for a specified s parameter for all models (or just the top models) in a set of models fitted using oadaAICtable or tadaAICtable. It also returns the estimated proportion of events that occurred by social transmission via the corresponding network, if social tranmssion occurred at this lowest plausible rate, for each model. Only models including the chosen s parameter are included. Since this can take a long time, multiModelLowerLimits_multicore is available to run the function in parallel on multiple computer cores.

Usage

1
2
3
4
5
multiModelLowerLimits(which, aicTable, deltaThreshold = Inf,
  conf = 0.95, modelIndex = NULL, searchRange = NULL,
  exclude.innovations = T, innovations = NULL, startValue = NULL,
  lowerList = NULL, upperList = NULL, method = "nlminb",
  gradient = T, iterations = 150)

Arguments

which

numerical giving the s parameter for which the lower confidence interval endpoints are to be calculated.

aicTable

an object of class oadaAICtable or tadaAICtable.

deltaThreshold

optional numerical determining the threshold difference in AICc/AIC for a model to be included in the output. e.g. deltaThreshold=10 includes all models within 10 AICc units of the best model.

conf

numerical giving the level of confidence required, defaulting to the traditional 0.95.

modelIndex

optional numeric vector specifiying which models to include in the output, subject to deltaThreshold.

searchRange

optional numeric vector of length two, giving the range within which to search for the lower endpoint. If omitted, the function searches between 0 and the MLE for s in each model.

exclude.innovations

logical determining whether innovation events (the first individual to learn in each diffusion) should be excluded from the calculation- since we know the innovation events must occur by asocial learning not social transmission.

innovations

numerical giving the number of innovations across all diffusions. By default this is assumed to be one innovator per diffusion in which there were no demonstrators (see demons argument in nbdaData)

startValue

optional numeric vector giving start values for the maximum likelihood optimization. Length to match the number of parameters fitted in the full model.

lowerList

optional numeric matrix giving lower values for the maximum likelihood optimization for each model. Columns to match the number of parameters fitted in the full model, rows matched to the number of models. Can be used if some models have convergence problems or trigger errors.

upperList

optional numeric matrix giving upper values for the maximum likelihood optimization for each model. Columns to match the number of parameters fitted in the full model, rows matched to the number of models. Can be used if some models have convergence problems or trigger errors.

method

optional character string passed to oadaFit.

gradient

optional logical passed to oadaFit.

iterations

optional numerical passed to oadaFit.

Details

The goal of this function is to test if conclusions about social transmission are robust to model selection uncertainty. Often unconditional standard errors (USEs) unconditionalStdErr are used to allow for model selection uncertainty. However, these are often inappropriate for s parameters in an NBDA, due to the high asymmetry in the profile likelihood for s parameters. In other words, we can have a lot of information about the lower plausible limit for social transmission rate, but little information about the upper plausible limit. Standard errors, or USEs only reflect overall levels of information, so can make it appear like there is little evidence for social transmission when in fact there is a strong evidence. The solution is to obtain confidence intervals using the profile likelihood method for s parameters (at least) using unconditionalStdErr.

However, since these confidence intervals are conditional on a single model (usually the top model by AICc), it makes sense to test whether our conclusions are robust to model selection uncertainty. This function returns the lower endpoint of the 95% (by default) confidence interval: if this endpoint is well away from zero for all models, it indicates that our conclusion is highly robust to model selection uncertainty. If the endpoint is well away from zero for most models with a sizeable Akaike weight, it indicates that our conclusion is moderately robust to model selection uncertainty, and so on.

Since it can be difficult to interpret whether an s parameter is "far from zero" the function also provides the corresponding propST, the proportion of events estimated to have occurred by social transmission via that network, see nbdaPropSolveByST.

Value

data.frame giving:

model: model number;
netCombo: the network combination for the model;
lowerCI: the lower endpoint of the confidence interval for the chosen s parameter;
propST: the proportion of social transmission events estimated to have occurred by social transmission, corresponding to lowerCI;
deltaAICc: difference in AICc from the best model in the original set;
akaikeWeight: Akaike weight in the original model set, see oadaAICtable;
adjAkWeight: Akaike weight adjusted to the set of models considered here;
cumulAdjAkWeight: Cumulative adjusted Akaike weight.

See Also

multiModelLowerLimits_multicore, oadaAICtable, tadaAICtable, multiModelPropST, plotProfLik, nbdaPropSolveByST.


whoppitt/NBDA documentation built on April 25, 2021, 7:55 a.m.