A Bayesian Approach for Clustering Constant-Wise Change-Point Data

A Gibbs sampler algorithm was developed to estimate change points in constant-wise data sequences while performing clustering simultaneously. The algorithm is described in da Cruz, A. C. and de Souza, C. P. E "A Bayesian Approach for Clustering Constant-wise Change-point Data" .


BayesCPclust

BayesCPclust aims to estimate the change points in constant-wise data sequences while simultaneously performing clustering. A Gibbs sampler algorithm was developed to estimate the number of clusters, cluster assignments, number of change points, their positions, and constant levels.

For more details see paper in arXiv paper link

Installation

You can install the development version of BayesCPclust from GitHub with:

# install.packages("devtools")
devtools::install_github("acarolcruz/BayesCPclust")

Example

The following example illustrate the process of performing clustering and estimations for constant-wise change-point data using the data example ‘data’. When there is no prior knowledge of the number of change points and their locations, we suggest to initialize the algortihm with zero change points for all clusters and the position for the change points (Tl) should be defined as the number of observations (M).

d = 2 # two clusters
N = 5 # 5 data sequences
M = 50 # 50 observations for each data sequence
maxIter = 10 # number of Gibbs sampler iterations

data(data)

# initial values for each paramter and each cluster
par.values <- list(K = c(0, 0), Tl = list(50, 50), alpha = list(5, 10))

#cluster assignment for each data sequence
cluster <- kmeans(t(data), 2)$cluster

# variance for each data sequence
sigma2 <- apply(data, 2, var)

res <- run_gibbs(M, N, w = 10, d, as = 2, bs = 100, al = 2, bl = 1000, a = 2, 
b = 1000, alpha0 = 1/100, lambda = 2, maxIter = 10, par.values,
data, cluster, sigma2)

res$clusters[maxIter,]
# 3 7 7 7 7

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.

install.packages("BayesCPclust")

0.1.0 by Ana Carolina da Cruz, 2 years ago


Browse source code at https://github.com/cran/BayesCPclust


Authors: Ana Carolina da Cruz [aut, cre]


Documentation:   PDF Manual  


MIT + file LICENSE license


Imports extraDistr, RcppAlgos, stats

Suggests testthat


See at CRAN