Instead of directly using neighborhood information, est.clustering adopts hierarchical neighborhood information using hclust by recursively merging leafs over the range of radii.

est.clustering(X, kmin = round(sqrt(nrow(X))))

Arguments

X

an \((n\times p)\) matrix or data frame whose rows are observations.

kmin

minimal number of neighborhood size to search over.

Value

a named list containing containing

estdim

estimated intrinsic dimension.

References

Eriksson B, Crovella M (2012). “Estimating Intrinsic Dimension via Clustering.” In 2012 IEEE Statistical Signal Processing Workshop (SSP), 760--763.

Author

Kisung You

Examples

# \donttest{
## create 'swiss' roll dataset
X = aux.gensamples(dname="swiss")

## try different k values
out1 = est.clustering(X, kmin=5)
out2 = est.clustering(X, kmin=25)
out3 = est.clustering(X, kmin=50)

## print the results
line1 = paste0("* est.clustering : kmin=5  gives ",round(out1$estdim,2))
line2 = paste0("* est.clustering : kmin=25 gives ",round(out2$estdim,2))
line3 = paste0("* est.clustering : kmin=50 gives ",round(out3$estdim,2))
cat(paste0(line1,"\n",line2,"\n",line3))
#> * est.clustering : kmin=5  gives 1.65
#> * est.clustering : kmin=25 gives 2.01
#> * est.clustering : kmin=50 gives 2.21
# }