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

View source: R/vpca_clustering.R

vpca_clusteringR Documentation

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

Description

vpca_clustering performs the fuzzy clustering algorithm proposed by \insertCitehe2018unsupervised;textualmlmts.

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:

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

Author(s)

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

References

\insertRef

he2018unsupervisedmlmts

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

mlmts documentation built on Sept. 11, 2024, 6:41 p.m.

Related to vpca_clustering in mlmts...