Skip to contents

Model Specification

Define models via their log-likelihood functions

model_spec()
Create a model specification
is_model_spec()
Test if object is a model_spec
par_names()
Get parameter names
par_bounds()
Get parameter bounds
n_par()
Get number of parameters
loglik()
Evaluate log-likelihood
validate_loglik()
Validate a log-likelihood function
diagnose_model()
Diagnose model specification issues
check_gradient()
Check numerical gradient against analytical

Distribution Helpers

Pre-built model specifications for common distributions

model_spec_normal()
Create model_spec for Normal distribution
model_spec_exponential()
Create model_spec for Exponential distribution
model_spec_gamma()
Create model_spec for Gamma distribution
model_spec_poisson()
Create model_spec for Poisson distribution
model_spec_binomial()
Create model_spec for Binomial distribution
model_spec_beta()
Create model_spec for Beta distribution
model_spec_lognormal()
Create model_spec for Log-normal distribution
model_spec_weibull()
Create model_spec for Weibull distribution
model_spec_negbinom()
Create model_spec for Negative Binomial distribution
model_spec_uniform()
Create model_spec for Uniform distribution

Model Comparison

Compare likelihood surfaces between models

equivalence_pair()
Create an equivalence pair for model comparison
is_equivalence_pair()
Test if object is an equivalence_pair
spec_a() spec_b()
Extract model specification from pair
par_dims()
Get parameter dimensions for both models
same_par_count()
Check if models have same parameter count
compare_surfaces()
Compare likelihood surfaces between two models
is_surface_comparison()
Test if object is a surface_comparison
debug_comparison()
Debug comparison trace

Equivalence Classes

Group multiple models by equivalence

equivalence_classes()
Find equivalence classes among multiple models
is_equiv_classes()
Test if object is an equiv_classes
n_classes()
Get number of equivalence classes
class_members()
Get members of an equivalence class
are_equivalent()
Check if two models are equivalent
equivalence_matrix()
Create equivalence matrix visualization

Batch Comparison

Compare multiple models systematically

compare_all_pairs()
Compare all pairs of models
find_equivalent_to()
Find all models equivalent to a reference

Fisher Information

Compute and analyze Fisher information matrices

fisher_information()
Compute Fisher information matrix
is_fisher_info()
Test if object is a fisher_info
info_eigenvalues()
Extract eigenvalues from Fisher information
info_condition()
Get condition number of Fisher information
info_rank()
Get numerical rank of Fisher information
null_directions()
Find directions of non-identifiability
fisher_analytical()
Compute analytical Fisher information
symbolic_fisher()
Symbolic Fisher information

Identifiability

Diagnose identifiability issues within a model

identifiability_check()
Check model identifiability
is_identifiability_result()
Test if object is an identifiability_result
profile_likelihood()
Compute profile likelihood for one parameter
profile_ci()
Compute profile likelihood confidence intervals
detect_linear_reparam()
Detect linear reparameterization
check_exact_equivalence()
Check for exact parameter equivalence

Model Fitting

Fit models and extract specifications from fitted objects

fit_model()
Fit a model specification via MLE
model_spec_from_fit()
Extract model_spec from fitted R objects
model_vcov()
Compute variance-covariance from Fisher information
coef(<fitted_model_spec>)
Extract coefficients from fitted model_spec
vcov(<fitted_model_spec>)
Extract variance-covariance matrix
confint(<model_spec>)
S3 method for confint

Simulation

Simulate data from model specifications

add_simulator()
Add simulation function to model_spec
can_simulate()
Check if model_spec can simulate
simulate(<model_spec>)
Simulate data from a model specification

Sensitivity Analysis

Test robustness of equivalence conclusions

sensitivity_analysis()
Sensitivity analysis for equivalence testing
bootstrap_equivalence()
Bootstrap test for equivalence
cross_validate_equivalence()
Cross-validation test for equivalence

Bayesian Methods

Posterior-based model comparison

compare_posteriors()
Compare posterior distributions
prior_sensitivity()
Prior sensitivity analysis
extract_samples()
Extract posterior samples from fitted objects

Visualization

Plot results and diagnostics

plot_likelihood_surface()
Plot likelihood surface
plot_profile_likelihood()
Plot profile likelihood for a parameter
plot(<equiv_classes>)
Plot equivalence classes
plot(<fisher_info>)
Plot Fisher information diagnostics
plot(<identifiability_result>)
Plot identifiability diagnostics
plot(<surface_comparison>)
Plot surface comparison results

Export and Conversion

Export results for reporting

export_results()
Export results to file
to_latex()
Format results as LaTeX table
as.data.frame(<equiv_classes>)
Convert equiv_classes to data frame
as.data.frame(<fisher_info>)
Convert fisher_info to data frame
as.data.frame(<identifiability_result>)
Convert identifiability_result to data frame
as.data.frame(<surface_comparison>)
Convert surface_comparison to data frame

Parallel Processing

Enable parallel computation

setup_cluster()
Set up parallel cluster
stop_cluster()
Stop parallel cluster

Example Datasets

Bundled datasets for examples and testing

ecological_models
Ecological population models
equivalent_models
Equivalent model pairs
mixture_model
Mixture model with label switching
nonidentifiable_example
Non-identifiable model example