vpca_clustering {mlmts}R Documentation

Performs the fuzzy clustering algorithm of He and Tan (2020).

Description

vpca_clustering performs the fuzzy clustering algorithm proposed by He and Tan (2018).

Usage

vpca_clustering(
  X,
  k,
  m,
  var_rate = 0.9,
  max_it = 1000,
  tol = 1e-05,
  crisp = FALSE
)

Arguments

X

A list of MTS (numerical matrices).

k

The number of clusters.

m

The fuzziness coefficient (a real number greater than one).

var_rate

Rate of retained variability concerning the dimensionality-reduced MTS samples (default is 0.90).

max_it

The maximum number of iterations (default is 1000).

tol

The tolerance (default is 1e-5).

crisp

Logical. If crisp = FALSE (default) a fuzzy partition is returned. Otherwise, the function returns the corresponding crisp partition, in which each series is placed in the cluster associated with the maximum membership degree.

Details

This function executes the fuzzy clustering procedure proposed by . The algorithm represents each MTS in the original collection by means of a dimensionality-reduced MTS constructed through variable-based principal component analysis (VPCA). Then, fuzzy K-means-type procedure is considered for the set of dimensionalityu-reduced samples. A spatial weighted matrix dissimilarity is considered to compute the distances between the reduced MTS and the centroids.

Value

A list with three elements:

Author(s)

Ángel López-Oriona, José A. Vilar

References

He H, Tan Y (2018). “Unsupervised classification of multivariate time series using VPCA and fuzzy clustering with spatial weighted matrix distance.” IEEE transactions on cybernetics, 50(3), 1096–1105.

See Also

vpca_clustering

Examples

fuzzy_clustering <- vpca_clustering(AtrialFibrillation$data, k = 3, m = 1.5)
# Executing the fuzzy clustering algorithm in the dataset AtrialFibrillation
# by considering 3 clusters and a value of 1.5 for the fuziness parameter
fuzzy_clustering$U # The membership matrix
crisp_clustering <- vpca_clustering(AtrialFibrillation$data, k = 3, m = 1.5, crisp = TRUE)
# The same as before, but we are interested in the corresponding crisp partition
crisp_clustering$U # The crisp partition
crisp_clustering$iterations # The number of iterations before the algorithm
# stopped

[Package mlmts version 1.1.1 Index]