Fast Low-cost Online Semantic Segmentation (FLOSS)

floss(
  .mp,
  new_data,
  data_window,
  threshold = 1,
  exclusion_zone = NULL,
  chunk_size = NULL,
  keep_cac = TRUE
)

Arguments

.mp

a MatrixProfile object.

new_data

a matrixor vector of new observations.

data_window

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

threshold

a number. (Default is 1). Set the maximum value for evaluating semantic changes. This is data specific. It is advised to check what is 'normal' for your data.

exclusion_zone

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

chunk_size

an int . (Default is NULL). Set the size of new data that will be added to Floss in each iteration if new_data is large. If NULL, the size will be 50. This is not needed if new_data is small, like 1 observation.

keep_cac

a logical. (Default is TRUE). If set to FALSE, the cac_final will contain only values within data_window

Value

Returns the input .mp object new names: cac the corrected arc count, cac_finalthe combination of cac after repeated calls of floss(), floss with the location of semantic changes and floss_vals with the normalized arc count value of the semantic change positions.

References

  • 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.

Website: https://sites.google.com/site/onlinesemanticsegmentation/

Website: http://www.cs.ucr.edu/~eamonn/MatrixProfile.html

See also

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

Examples

data <- mp_fluss_data$tilt_abp$data[1:1000]
new_data <- mp_fluss_data$tilt_abp$data[1001:1010]
new_data2 <- mp_fluss_data$tilt_abp$data[1011:1020]
w <- 80
mp <- tsmp(data, window_size = w, verbose = 0)
data_window <- 1000
mp <- floss(mp, new_data, data_window)
#> tsmp Parsing data +2972ms 
#> Error in 1:.mp$w: argument of length 0
mp <- floss(mp, new_data2, data_window)
#> tsmp Parsing data +190ms 
#> Error in 1:.mp$w: argument of length 0