custom_likelihoods {outbreaker2} | R Documentation |
Customise likelihood functions for outbreaker
Description
This function is used to specify customised likelihood functions for outbreaker. Custom functions are specified as a named list or series of comma-separated, named arguments, indicating which log-likelihood component they compute. Values currently available are:
Usage
custom_likelihoods(...)
## S3 method for class 'custom_likelihoods'
print(x, ...)
Arguments
... |
a named list of functions, each computing a log-likelihood component. |
x |
an |
Details
-
genetic
: the genetic likelihood; by default, the functioncpp_ll_genetic
is used. -
timing_sampling
: the likelihood of sampling times; by default, the functioncpp_ll_timing_sampling
is used. -
timing_infections
: the likelihood of infection times; by default, the functioncpp_ll_timing_infections
is used. -
reporting
: the likelihood of the reporting process; by default, the functioncpp_ll_reporting
is used. -
contact
: the likelihood of the contact tracing data; by default, the functioncpp_ll_contact
is used.
All log-likelihood functions should have the following arguments, in this order:
-
data
: a list of named items containing input data as returned byoutbreaker_data
-
param
: a list of parameters with the classcreate_param
Value
A named list of list(function, arity) pairs with the class
custom_likelihood
, each function implementing a customised
log-likelihood component of outbreaker. Functions which are not
customised will result in a list(NULL, 0) component. Any function with
arity 3 must have the third parameter default to NULL.
a list of named functions
Author(s)
Thibaut Jombart (thibautjombart@gmail.com)
See Also
See customization vignette for detailed examples on how to customize likelihoods.
Examples
## specify a null model by disabling all likelihood components
f_null <- function(data, param) {
return(0.0)
}
null_model <- custom_likelihoods(genetic = f_null,
timing_sampling = f_null,
timing_infections = f_null,
reporting = f_null,
contact = f_null)
null_config <- list(find_import = FALSE,
n_iter = 100,
sample_every = 1)
## load data
x <- fake_outbreak
data <- outbreaker_data(dates = x$sample, dna = x$dna, w_dens = x$w)
res_null <- outbreaker(data = data,
config = null_config,
likelihoods = null_model)
## visualise ancestries to see if all transmission trees have been explored
plot(res_null, type = "alpha")