IIDExponentialBayesian
and IIDExponentialMLE
. These tests are designed to validate the functionality and accuracy of these estimators under various scenarios, including edge cases, hand-solvable problems, and simulated data.
IIDExponentialBayesian
estimator by comparing its output to closed-form solutions and numerical approximations for log likelihood, log joints, and posterior time distributions.
IIDExponentialMLE
estimator in various scenarios, including:
iid_exponential_bayesian_test.py
:
This file contains tests for the IIDExponentialBayesian
class. It includes:
iid_exponential_mle_test.py
:
This file contains tests for the IIDExponentialMLE
class. It includes:
unittest
: The standard Python unit testing framework.parameterized
: Used for creating parameterized tests, allowing the same test to be run with different inputs.numpy
: Used for numerical operations and array manipulations.scipy
: Specifically scipy.integrate
is used for numerical integration in the Bayesian tests.networkx
: Used for working with graph structures, particularly in creating and manipulating tree topologies.cvxpy
: A Python-embedded modeling language for convex optimization problems, used in the MLE estimator.cassiopeia.data.CassiopeiaTree
: Represents the phylogenetic tree structure.cassiopeia.simulator.Cas9LineageTracingDataSimulator
: Used for generating simulated data.cassiopeia.tools.IIDExponentialBayesian
and cassiopeia.tools.IIDExponentialMLE
: The classes being tested.IIDExponentialBayesian
:
mutation_rate
: The mutation rate of the model.birth_rate
: The birth rate of the model.sampling_probability
: The sampling probability of the model.discretization_level
: The number of timesteps used to discretize time.IIDExponentialMLE
:
solver
: The optimization solver to use (ECOS or SCS).minimum_branch_length
: A constraint on the minimum allowed branch length.relative_mutation_rates
: Site-specific mutation rates.