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.
Install the package from CRAN:
install.packages("segmentr")
Sample code using the package to identify change points in the segments’ averages:
require(segmentr)
#> Loading required package: segmentr
make_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)^2
segment(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.
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.