Description Usage Arguments Details Value Note Author(s) References Examples
High-level function for multivariate fused Lars (GFLars) segmentation
1 |
Y |
A |
K |
The number of change points to find |
stat |
A vector containing the names or indices of the columns of |
... |
Further arguments to be passed to 'segmentByGFLars' |
verbose |
A |
This function is a wrapper around the lower-level
segmentation function segmentByGFLars
. It can be run
on p-dimensional, piecewise-constant data in order to defined a
set of candidate change points. It is recommended to prune this
list of candidates using dynamic programming
(pruneByDP
), combined with a selection of the best
number of change points. The jointSeg
function
provides a convenient wrapper for performing segmentation, pruning
and model selection.
For the specific case of DNA copy number data segmentation, see the
dedicated wrapper PSSeg
.
The default weights √{n/(i*(n-i))} are calibrated as suggested by Bleakley and Vert (2011). Using this calibration, the first breakpoint maximizes the likelihood ratio test (LRT) statistic.
An object of the same structure as the output of segmentByGFLars
This implementation is derived from the MATLAB code by Vert and Bleakley: http://cbio.ensmp.fr/GFLseg.
Morgane Pierre-Jean and Pierre Neuvial
Bleakley, K., & Vert, J. P. (2011). The group fused lasso for multiple change-point detection. arXiv preprint arXiv:1106.4199.
Vert, J. P., & Bleakley, K. (2010). Fast detection of multiple change-points shared by many signals using group LARS. Advances in Neural Information Processing Systems, 23, 2343-2351.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | p <- 2
trueK <- 10
sim <- randomProfile(1e4, trueK, 1, p)
Y <- sim$profile
K <- 2*trueK
res <- doGFLars(Y, K)
print(res$bkp)
print(sim$bkp)
plotSeg(Y, res$bkp)
## a toy example with missing values
sim <- randomProfile(1e2, 1, 0.1, 2)
Y <- sim$profile
Y[3:50, 2] <- NA
res <- doGFLars(Y, 10, 2, verbose=TRUE)
print(res$bkp)
print(sim$bkp)
plotSeg(Y, res$bkp)
|
[1] 3830 1836 3829 1579 1574 1613 6772 9636 273 3859 6766 1690 7183 7186 117
[16] 116 3988 4242 114 3827
[1] 115 273 1574 1837 3209 3830 6778 7080 7186 9636
[1] "optimize LARS : 1"
[1] "optimize LARS : 2"
[1] "optimize LARS : 3"
[1] "optimize LARS : 4"
[1] "optimize LARS : 5"
[1] "optimize LARS : 6"
[1] "optimize LARS : 7"
[1] "optimize LARS : 8"
[1] "optimize LARS : 9"
[1] "optimize LARS : 10"
Warning message:
In doGFLars(Y, 10, 2, verbose = TRUE) :
Missing values detected. Smoothing will be performed.
[1] 82 86 88 81 80 56 51 95 96 52
[1] 82
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.