Computes the arc count with edge and 'online' correction (CAC).

floss_cac(.mp, data_window, exclusion_zone = NULL)



a MatrixProfile object.


an int. Sets the size of the buffer used to keep track of semantic changes.


if a number will be used instead of embedded value. (Default is NULL).


Returns the input .mp object a new name cac with the corrected arc count and cac_final the combination of cac after repeated calls of floss().


Original paper suggest using the classic statistical-process-control heuristic to set a threshold where a semantic change may occur in CAC. This may be useful in real-time implementation as we don't know in advance the number of domain changes to look for. Please check original paper (1).


  • Gharghabi S, Ding Y, Yeh C-CM, Kamgar K, Ulanova L, Keogh E. Matrix Profile VIII: Domain Agnostic Online Semantic Segmentation at Superhuman Performance Levels. In: 2017 IEEE International Conference on Data Mining (ICDM). IEEE; 2017. p. 117-26.



See also

Other Semantic Segmentations: floss_extract(), floss(), fluss_cac(), fluss_extract(), fluss_score(), fluss()


data <- mp_fluss_data$tilt_abp$data[1:1000]
new_data <- mp_fluss_data$tilt_abp$data[1001:1010]
w <- 10
mp <- tsmp(data, window_size = w, verbose = 0)
data_window <- 1000
mp <- stompi_update(mp, new_data, data_window)
#> tsmp Parsing data +309ms 
#> Error in$w: argument of length 0
mp <- floss_cac(mp, data_window)
#> Error in floss_cac(mp, data_window): First argument must be an object of class `MatrixProfile`.