FLLat {FLLat} | R Documentation |
Fused Lasso Latent Feature Model
Description
Fits the Fused Lasso Latent Feature (FLLat) model for given
values of J
(the number of features), and \lambda_1
and
\lambda_2
(the two fused lasso tuning parameters).
Usage
FLLat(Y, J=min(15,floor(ncol(Y)/2)), B="pc", lam1, lam2, thresh=10^(-4),
maxiter=100, maxiter.B=1, maxiter.T=1)
Arguments
Y |
A matrix of data from an aCGH experiment (usually in the form of log intensity ratios) or some other type of copy number data. Rows correspond to the probes and columns correspond to the samples. |
J |
The number of features in the FLLat model. The default is
the smaller of either |
B |
The initial values for the features. Can be one of
|
lam1 |
The tuning parameter |
lam2 |
The tuning parameter |
thresh |
The threshold for determining when the solutions have
converged. The default is |
maxiter |
The maximum number of iterations for the outer loop of
the algorithm. The default is |
maxiter.B |
The maximum number of iterations for the inner loop
of the algorithm for estimating the features |
maxiter.T |
The maximum number of iterations for the inner loop
of the algorithm for estimating the weights |
Details
This function fits the Fused Lasso Latent Feature model to
multi-sample aCGH data, as described in Nowak and others (2011), for
given values of J
, \lambda_1
and \lambda_2
. Given
aCGH data consisting of S
samples and L
probes, the model
is given by:
Y=B\Theta,
where Y
is an L
-by-S
matrix denoting the aCGH data (with samples in columns), B
is an
L
-by-J
matrix denoting the features (with features in
columns), and \Theta
is a J
-by-S
matrix denoting the
weights. Each feature describes a pattern of copy number variation
and the weights describe the composition of each sample.
Specifically, each sample (column of Y
) is modeled as a
weighted sum of the features (columns of B
), with the weights
given by the corresponding column of \Theta
.
The model is fitted by minimizing a penalized version of the residual sum of squares (RSS):
RSS + \sum_{j=1}^J PEN_j
where the penalty is given by:
PEN_j =
\lambda_1\sum_{l=1}^L\left|\beta_{lj}\right| +
\lambda_2\sum_{l=2}^L\left|\beta_{lj} -
\beta_{l-1,j}\right|.
Here \beta_{lj}
denotes the (l,j)
th element of B
.
We also constrain the L_2
norm of each row of \Theta
to be
less than or equal to 1
.
For more details, please see Nowak and others (2011) and the package vignette.
Value
An object of class FLLat
with components:
Beta |
The estimated features |
Theta |
The estimated weights |
niter |
The number of iterations taken by the algorithm (outer loop). |
rss |
The residual sum of squares of the fitted model. |
bic |
The BIC for the fitted model. See |
lam1 |
The value of |
lam2 |
The value of |
There is a plot
method and a predict
method for FLLat
objects.
Author(s)
Gen Nowak gen.nowak@gmail.com, Trevor Hastie, Jonathan R. Pollack, Robert Tibshirani and Nicholas Johnson.
References
G. Nowak, T. Hastie, J. R. Pollack and R. Tibshirani. A Fused Lasso Latent Feature Model for Analyzing Multi-Sample aCGH Data. Biostatistics, 2011, doi: 10.1093/biostatistics/kxr012
See Also
plot.FLLat
, predict.FLLat
,
FLLat.BIC
, FLLat.PVE
,
FLLat.FDR
Examples
## Load simulated aCGH data.
data(simaCGH)
## Run FLLat for J = 5, lam1 = 1 and lam2 = 9.
result <- FLLat(simaCGH,J=5,lam1=1,lam2=9)
## Plot the estimated features.
plot(result)
## Plot a heatmap of the estimated weights.
plot(result,type="weights")