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 15 or the number of samples divided by 2.

B

The initial values for the features. Can be one of "pc" (the first J principal components of Y), "rand" (a random selection of J columns of Y), or a user specified matrix of initial values, where rows correspond to the probes and columns correspond to the features. The default is "pc".

lam1

The tuning parameter \lambda_1 in the fused lasso penalty that controls the level of sparsity in the features.

lam2

The tuning parameter \lambda_2 in the fused lasso penalty that controls the level of smoothness in the features.

thresh

The threshold for determining when the solutions have converged. The default is 10^{-4}.

maxiter

The maximum number of iterations for the outer loop of the algorithm. The default is 100.

maxiter.B

The maximum number of iterations for the inner loop of the algorithm for estimating the features B. The default is 1. Increasing this may decrease the number of iterations for the outer loop but may still increase total run time.

maxiter.T

The maximum number of iterations for the inner loop of the algorithm for estimating the weights \Theta. The default is 1. Increasing this may decrease the number of iterations for the outer loop but may still increase total run time.

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 \hat{B}.

Theta

The estimated weights \hat{\Theta}.

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 FLLat.BIC for more details.

lam1

The value of \lambda_1 used in the model.

lam2

The value of \lambda_2 used in the model.

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")

[Package FLLat version 1.2-1 Index]