secsse_loglik_eval function

Likelihood for SecSSE model Logikelihood calculation for the SecSSE model given a set of parameters and data, returning also the likelihoods along the branches

Likelihood for SecSSE model Logikelihood calculation for the SecSSE model given a set of parameters and data, returning also the likelihoods along the branches

secsse_loglik_eval( parameter, phy, traits, num_concealed_states, cond = "proper_cond", root_state_weight = "proper_weights", sampling_fraction, setting_calculation = NULL, loglik_penalty = 0, is_complete_tree = FALSE, num_threads = 1, atol = 1e-08, rtol = 1e-07, method = "odeint::bulirsch_stoer", num_steps = 100 )

Arguments

  • parameter: list where first vector represents lambdas, the second mus and the third transition rates.

  • phy: phylogenetic tree of class phylo, rooted and with branch lengths.

  • traits: vector with trait states for each tip in the phylogeny. The order of the states must be the same as the tree tips. For help, see vignette("starting_secsse", package = "secsse").

  • num_concealed_states: number of concealed states, generally equivalent to the number of examined states in the dataset.

  • cond: condition on the existence of a node root: "maddison_cond", "proper_cond" (default). For details, see vignette.

  • root_state_weight: the method to weigh the states: "maddison_weights", "proper_weights" (default) or "equal_weights". It can also be specified for the root state: the vector c(1, 0, 0)

    indicates state 1 was the root state.

  • sampling_fraction: vector that states the sampling proportion per trait state. It must have as many elements as there are trait states.

  • setting_calculation: argument used internally to speed up calculation. It should be left blank (default : setting_calculation = NULL).

  • loglik_penalty: the size of the penalty for all parameters; default is 0 (no penalty).

  • is_complete_tree: logical specifying whether or not a tree with all its extinct species is provided. If set to TRUE, it also assumes that all all extinct lineages are present on the tree. Defaults to FALSE.

  • num_threads: number of threads to be used. Default is one thread.

  • atol: A numeric specifying the absolute tolerance of integration.

  • rtol: A numeric specifying the relative tolerance of integration.

  • method: integration method used, available are: "odeint::runge_kutta_cash_karp54", "odeint::runge_kutta_fehlberg78", "odeint::runge_kutta_dopri5", "odeint::bulirsch_stoer" and "odeint::runge_kutta4". Default method is: "odeint::bulirsch_stoer".

  • num_steps: number of substeps to show intermediate likelihoods along a branch.

Returns

A list containing: "output", observed states along evaluated time points along all branches, used for plotting. "states" all ancestral states on the nodes and "duration", indicating the time taken for the total evaluation

Examples

set.seed(5) phy <- ape::rphylo(n = 4, birth = 1, death = 0) traits <- c(0, 1, 1, 0) params <- secsse::id_paramPos(c(0, 1), 2) params[[1]][] <- c(0.2, 0.2, 0.1, 0.1) params[[2]][] <- 0.0 params[[3]][, ] <- 0.1 diag(params[[3]]) <- NA secsse_loglik_eval(parameter = params, phy = phy, traits = traits, num_concealed_states = 2, sampling_fraction = c(1, 1), num_steps = 10)
  • Maintainer: Rampal S. Etienne
  • License: GPL (>= 3) | file LICENSE
  • Last published: 2024-04-30