splitsNetwork {phangorn} | R Documentation |
Phylogenetic Network
Description
splitsNetwork
estimates weights for a splits graph from a distance
matrix.
Usage
splitsNetwork(dm, splits = NULL, gamma = 0.1, lambda = 1e-06,
weight = NULL)
Arguments
dm |
A distance matrix. |
splits |
a splits object, containing all splits to consider, otherwise all possible splits are used |
gamma |
penalty value for the L1 constraint. |
lambda |
penalty value for the L2 constraint. |
weight |
a vector of weights. |
Details
splitsNetwork
fits non-negative least-squares phylogenetic networks
using L1 (LASSO), L2(ridge regression) constraints. The function minimizes
the penalized least squares
\beta = min \sum(dm - X\beta)^2 + \lambda \|\beta \|^2_2
with respect to
\|\beta \|_1 <= \gamma, \beta >= 0
where X
is a design matrix constructed with designSplits
.
External edges are fitted without L1 or L2 constraints.
Value
splitsNetwork
returns a splits object with a matrix added.
The first column contains the indices of the splits, the second column an
unconstrained fit without penalty terms and the third column the constrained
fit.
Author(s)
Klaus Schliep klaus.schliep@gmail.com
References
Efron, Hastie, Johnstone and Tibshirani (2004) Least Angle Regression (with discussion) Annals of Statistics 32(2), 407–499
K. P. Schliep (2009). Some Applications of statistical phylogenetics (PhD Thesis)
See Also
distanceHadamard
,
designTree
consensusNet
,
plot.networx
Examples
data(yeast)
dm <- dist.ml(yeast)
fit <- splitsNetwork(dm)
net <- as.networx(fit)
plot(net)
write.nexus.splits(fit)