Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

kmeans.fd

K-Means Clustering for functional data


Description

Perform k-means clustering on functional data.

Usage

kmeans.center.ini(
  fdataobj,
  ncl = 2,
  metric = metric.lp,
  draw = TRUE,
  method = "sample",
  max.iter = 100,
  max.comb = 1e+06,
  par.metric = NULL,
  ...
)

kmeans.fd(
  fdataobj,
  ncl = 2,
  metric = metric.lp,
  dfunc = func.trim.FM,
  max.iter = 100,
  par.metric = NULL,
  par.dfunc = list(trim = 0.05),
  method = "sample",
  cluster.size = 5,
  draw = TRUE,
  ...
)

Arguments

fdataobj

fdata class object.

ncl

See details section.

metric

Metric function, by default metric.lp.

draw

=TRUE, draw the curves in the color of the centers.

method

Method for selecting initial centers. If method="Sample" (by default) takes n times a random selection by the ncl centers. The ncl curves with greater distance are the initial centers. If method="Exact" calculated all combinations (if < 1e+6) of ncl centers. The ncl curves with greater distance are the initial centers (this method may be too slow).

max.iter

Maximum number of iterations for the detection of centers.

max.comb

Maximum number of initial selection of centers (only used when method="exact").

par.metric

List of arguments to pass to the metric function.

...

Further arguments passed to or from other methods.

dfunc

Type of depth measure, by default FM depth.

par.dfunc

List of arguments to pass to the dfunc function .

cluster.size

Minimum cluster size (by default is 5). If a cluster has fewer curves, it is eliminated and the process is continued with a less cluster.

Details

The method searches the locations around which are grouped data (for a predetermined number of groups).

If ncl=NULL, randomizes the initial centers, ncl=2 using kmeans.center.ini function.
If ncl is an integer, indicating the number of groups to classify,
are selected ncl initial centers using kmeans.center.ini function.
If ncl is a vector of integers, indicating the position of the initial centers with length(ncl) equal to number of groups.
If ncl is a fdata class objecct, ncl are the initial centers curves with nrow(ncl) number of groups.

Value

Return:

  • cluster Indexes of groups assigned.

  • centers Curves centers.

Author(s)

Manuel Febrero-Bande, Manuel Oviedo de la Fuente manuel.oviedo@usc.es

References

Hartigan, J. A. and Wong, M. A. (1979). A K-means clustering algorithm. Applied Statistics 28, 100 \-108.

See Also

See Also generic kmeans function.

Examples

## Not run: 
data(phoneme)
mlearn<-phoneme$learn[c(1:50,101:150,201:250),]
# Unsupervised classification
out.fd1=kmeans.fd(mlearn,ncl=3,draw=TRUE)
out.fd2=kmeans.fd(mlearn,ncl=3,draw=TRUE,method="exact")
# Different Depth function
ind=c(17,77,126)
out.fd3=kmeans.fd(mlearn,ncl=mlearn[ind,],draw=FALSE,
dfunc=func.trim.FM,par.dfunc=list(trim=0.1))
out.fd4=kmeans.fd(mlearn,ncl=mlearn[ind,],draw=FALSE,
dfunc=func.med.FM)
group=c(rep(1,50),rep(2,50),rep(3,50))
table(out.fd4$cluster,group)

## End(Not run)

fda.usc

Functional Data Analysis and Utilities for Statistical Computing

v2.0.2
GPL-2
Authors
Manuel Febrero Bande [aut], Manuel Oviedo de la Fuente [aut, cre], Pedro Galeano [ctb], Alicia Nieto [ctb], Eduardo Garcia-Portugues [ctb]
Initial release
2020-02-17

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.