Detection of Evolutionary Shifts in Both Optimal Value and Variance

Implements statistical methods for detecting evolutionary shifts in both the optimal trait value (mean) and evolutionary diffusion variance. The method uses an L1-penalized optimization framework to identify branches where shifts occur, and the shift magnitudes. It also supports the inclusion of measurement error. For more details, see Zhang, Ho, and Kenney (2023) .


ShiVa: Detection of Evolutionary Shifts in both Optimal Value and Variance

Version: 1.0.2
Authors:

Overview

ShiVa is an R package for detecting evolutionary shifts in both optimal trait values (mean) and diffusion variance across phylogenetic trees, based on the Ornstein-Uhlenbeck (OU) model. While many existing methods detect shifts in optimal values only, ShiVa simultaneously identifies both types of shifts using a penalized likelihood framework with L1 regularization.

The method is designed for researchers in evolutionary biology and comparative methods, particularly those interested in identifying abrupt regime changes along a phylogeny.

See our preprint for methodological details: arXiv:2312.17480

Features

  • Automatively estimates shifts in both mean (θ) and variance (σ²) under the OU model
  • Supports model selection using BIC, mBIC, or pBIC
  • Includes backward correction for improved parsimony
  • Can optionally account for measurement error
  • Fast optimization using coordinate descent and soft-thresholding

Installation

To install the package from GitHub:

# install.packages("devtools") # if not already installed
devtools::install_github("WenshaZ/ShiVa")

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.

install.packages("ShiVa")

1.0.2 by Wensha Zhang, a year ago


Browse source code at https://github.com/cran/ShiVa


Authors: Wensha Zhang [aut, cre] , Lam Si Tung Ho [aut] , Toby Kenney [aut]


Documentation:   PDF Manual  


GPL (>= 3) license


Imports glmnet, psych, ape, phylolm, MASS, igraph

Suggests knitr, rmarkdown


See at CRAN