Learn R Programming

mlmts (version 1.1.2)

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

Description

vpca_clustering performs the fuzzy clustering algorithm proposed by he2018unsupervised;textualmlmts.

Usage

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

Value

A list with three elements:

  • U. If crisp = FALSE (default), the membership matrix. Otherwise, a vector defining the corresponding crisp partition.

  • centroids. If crisp = FALSE (default), a list containing the series playing the role of centroids, which are dimensionality-reduced averaged MTS. Otherwise, this element is not returned.

  • iterations. The number of iterations before the algorithm stopped.

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.

Author

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

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.

References

he2018unsupervisedmlmts

See Also

vpca_clustering

Examples

Run this code
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

Run the code above in your browser using DataLab