optimize: Optimize Partitioning

Description Usage Arguments Details Value Note Author(s) References See Also Examples

Description

Modify the partitioning of an object as to optimize silhouette widths (distance based methods) or Dufrene and Legendre's indicator value (original data).

Usage

1
2
3
4
5
6
7
8
## S4 method for signature 'VegsoupPartition'
optsil(x, maxitr = 100, verbose = FALSE, ...)

## S4 method for signature 'VegsoupPartition'
optindval(x, maxitr = 100, minsiz = 5, verbose = FALSE, ...)

## S4 method for signature 'VegsoupPartition'
remos(x, lim = -0.001, method = 2, maxitr = Inf, verbose = FALSE, ...)

Arguments

x

'VegsoupPartition' object.

maxitr

integer. The maximum number of iterations to perform.

verbose

logical. Print elapsed CPU time.

lim

integer. A threshold of silhouette width for misclassified objects. It is basically close to zero but can be changed to any value between -1 and 0.

method

integer. 1 for REMOS1, 2 for REMOS2, defaults to 2.

minsiz

integer. The minimum size of the partition to consider reassigning a sample out of.

...

arguments passed to as.dist (optsil) or link{as.matrix} (optindval).

Details

optsil is a simple wrapper for function optsil in package optpart to polish an existing clustering.

optindval interfaces function optindval in package optpart. This method maximizes the Dufrene and Legendre's indicator value (Indval).

remos interfaces the REMOS1 and REMOS2 algorithms according to Lengyel et al. 2021.

Value

Returns a modified object of class 'VegsoupPartition' with optimized classification. This means an object having a possibly changed partitioning vector.

Note

optsil and optindval can be very slow when applied to big data sets! optsil is usually faster. remos(x, method = 2) is the most time efficient algrithm.

Author(s)

Roland Kaiser, implemented for vegsoup using Dave W. Robert's optsil and optindval procedures of package optpart and Attila Lengyel's REMOS method.

References

Dufrene, M. and Legendre, P. 1997 Species assemblages and indicator species: The need for a flexible asymmetrical approach. Ecological Monographs, 67,345–366.

Lengyel, A., Roberts, D.W., Botta-Dukát, Z. Comparison of silhouette-based reallocation methods for vegetation classification. Journal of Vegetation Science, DOI:10.1111/jvs.12984.

Rousseeuw, P. 1987 Silhouettes: A graphical aid to the interpretation and validation of cluster analysis. Journal of Computational and Applied Mathematics, 53,53–65.

Roberts, D. 2015 Vegetation classification by two new iterative reallocation optimization algorithms. Plant Ecology, 216,741–758.

See Also

indval, silhouette

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
require(vegsoup)
data(windsfeld)

x <- VegsoupPartition(windsfeld, k = 5)

xs <- optsil(x, verbose = TRUE)
xi <- optindval(x, verbose = TRUE)
confusion(xs, xi)

xr <- remos(x, verbose = TRUE)
confusion(xs, xr)

x <- coenoflex(500, 300)
x <- VegsoupPartition(x, k = 10)
xr <- remos(x, verbose = TRUE)
confusion(x, xr)

op <- par(mfrow = c(1, 2), pty = "s")
plot(silhouette(x))
plot(silhouette(xr))
par(op)

vegsoup documentation built on Feb. 24, 2021, 3 a.m.