msv: Medoid shadow value (MSV) index and plot

View source: R/msv.R

msvR Documentation

Medoid shadow value (MSV) index and plot

Description

This function computes medoid shadow values and shadow value plots of each cluster. The plot presents the mean of the shadow values as well.

Usage

msv(distdata, idmedoid, idcluster, title = "")

Arguments

distdata

A distance matrix (n x n) or dist object.

idmedoid

A vector of id medoids (see Details).

idcluster

A vector of cluster membership (see Details).

title

A title of the plot.

Details

The origin of the shadow value is calculated in the shadow function of the flexclust package, in which it is based on the first and second closest centroid. The msv function in this package modifies the centroid into medoid such that the formula to compute shadow value of object i is

msv(i) = \frac{d(i, m'(i))-d(i, m(i))}{d(i, m'(i))}

where d(i, m(i)) is the distance between object i to the first closest medoid and d(i, m'(i)) is the distance between object i to the second closest medoid.

The idmedoid argument corresponds to the idcluster argument. If the length of idmedoid is 3, for example, the idcluster has to have 3 unique cluster memberships, or it returns Error otherwise. The length of the idcluster has also to be equal to n (the number of objects). In contrast to the centroid shadow value, the medoid shadow value is interpreted likewise a silhoutte value, the higher value the better separation.

Value

Function returns a list with following components:

result is a data frame of the shadow values for all objects

plot is the shadow value plots of each cluster.

Author(s)

Weksi Budiaji
Contact: budiaji@untirta.ac.id

References

F. Leisch. 2010 Neighborhood graphs, stripes and shadow plots for cluster visualization. Statistics and Computing. vol. 20, pp. 457-469

W. Budiaji. 2019 Medoid-based shadow value validation and visualization. International Journal of Advances in Intelligent Informatics. Vol 5 No 2 pp. 76-88

Examples

distiris <- as.matrix(dist(iris[,1:4]))
res <- fastkmed(distiris, 3)
sha <- msv(distiris, res$medoid, res$cluster)
sha$result[c(1:3,70:75,101:103),]
sha$plot


kmed documentation built on Aug. 29, 2022, 9:06 a.m.