Given a likelihood provided by the user, this package applies it
to a given matrix dataset in order to find change points in the data that
maximize the sum of the likelihoods of all the segments. This package provides
a handful of algorithms with different time complexities and assumption compromises
so the user is able to choose the best one for the problem at hand. The implementation
of the segmentation algorithms in this package are based on the paper by Bruno M. de Castro,
Florencia Leonardi (2018)

Given a likelihood provided by the user, this package applies it to a given matrix dataset in order to find change points in the data that maximize the sum of the likelihoods of all the segments.

This package provides a handful of algorithms with different time complexities and assumption compromises so the user is able to choose the best one for the problem at hand.

You can install segmentr from GitHub using:

# install.packages("devtools")devtools::install_github("thalesmello/segmentr", build_vignettes = TRUE)

Sample code using the package to identify change points in the segments’ means:

require(segmentr)#> Loading required package: segmentrmake_segment <- function(n, p) matrix(rbinom(100 * n, 1, p), nrow = 100)data <- cbind(make_segment(5, 0.1), make_segment(10, 0.9), make_segment(2, 0.1))mean_lik <- function(X) abs(mean(X) - 0.5) * ncol(X)^2segment(data, likelihood = mean_lik, algorithm = "hieralg")#> Segments (total of 3):#>#> 1:5#> 6:15#> 16:17

For an in depth step-by-step, please check `vignette("segmentr")`

.

This package is part of a Master’s degree research thesis at IME-USP, with Florencia Leonardi as thesis adviser.

The algorithms in this package are based on a paper by Bruno M. de Castro and Florencia Leonardi.

The `berlin`

sample dataset was provided by © Deutscher
Wetterdienst and put together with the
`rdwd`

package by Berry
Boessenkool. Check
`make_berlin.R`

for the script that builds the dataset.

Minor changes to documentation to solve release issues.

- Simplify equation in
`auto_penalize`

documentation - Adopt canonical CRAN URL in
`berlin`

documentation - Adopt correct format of DESCRIPTION and LICENSE

First version of the package. Implements a handful of algorithms to help segment data according to a likelihood function.

- Implements generic
`segment`

function which works as a proxy making it easy to switch algorithms - Includes
`berlin`

dataset build using the rdwd package. Execute`make_berlin.R`

to build the dataset. - Include
`vignette('segmentr')`

teaching how to use the package.