FL: Solve Fused Lasso Model

Description Usage Arguments Details Value Note Author(s) References See Also Examples

View source: R/FL.R

Description

This function uses MM algorithm to fit a piece-wise constant curve to a sequence of signals ordered linearly.

Usage

1
FL(y, sigma, rho1 = 1, rho2 = 2, obj_c = 1e-04, max_iter = 1000)

Arguments

y

A vector of original signal.

sigma

A numeric number indicating the standard deviation of y

rho1,rho2

Factors to be set in the tuning parameters of lambda1 and lambda2. See details.

obj_c

Stopping criterion based on the size of improvement of objective function.

max_iter

Maximum iteration of MM algorithm to be used to solve the GFL model.

Details

In order to fit a piece-wise constant curve to signal intensities ordered linearly, we try to minimize the following objective function

loss function + lambda1 * lasso penalty + lambda2 * fused lasso penalty

The optimal solution is approached via an iteration based algorithm called Majorization-Minimization (MM) algorithm developed by Kenneth Lange (2004).The choices of tuning parameters of the model are suggested as follows:

λ_1 = ρ_1 σ

λ_2 = ρ_2 σ √{\log N}

where σ is an estimate of standard deviation of signals, N is the number of markers and ρ_1 and ρ_2 are properly chosen contant factors. More details are referred to Zhang et al. (2010).

Value

All outputs are collected in a list:

obj

A vector of values of objective function at each MM iteration.

beta

A vector of the same dimension as y, recording the fitted piece-wise contant curve.

Note

If the user just wants to segment one sequence of signals, then GL is a little more efficient than GFL, which is designed for segmentation of multiple sequences.

Author(s)

Zhongyang (Thomas) Zhang, [email protected]

References

  1. Kenneth Lange. (2004) Optimization. Springer, New York.

  2. Zhongyang Zhang, Kenneth Lange, Roel Ophoff, and Chiara Sabatti. (2010) Reconstructing DNA copy number by penalized estimation and imputation. The Annals of Applied Statistics, 4(4): 1749-1773.

See Also

See GFL for joint segmentation of multiple sequences of signals.

Examples

1
2
3
4
5
6
7
8
## Segment 1 sequence of signals with 100 markers
## Duplications are superimposed in the middle
y <- rnorm(100,0,0.15)
y[41:60] <- rnorm(20,0.3,0.2)
tmp <- y[-1] - y[-length(y)]
sigma <- sd(tmp)/sqrt(2)
res <- FL(y=y, sigma=sigma, rho1 = 1, rho2 = 2, obj_c = 1e-04, max_iter = 1000)
plot(res$beta,type="s")

Piet documentation built on May 31, 2017, 3:10 a.m.