Based on an assumption of data points being locally uniformly distributed, est.nearneighbor1 estimates the intrinsic dimension based on the local distance information in an iterative manner.

est.nearneighbor1(X, K = max(2, round(ncol(X)/5)))

Arguments

X

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

K

maximum neighborhood size, smaller than \(p\).

Value

a named list containing containing

estdim

estimated intrinsic dimension.

References

Pettis KW, Bailey TA, Jain AK, Dubes RC (1979). “An Intrinsic Dimensionality Estimator from Near-Neighbor Information.” IEEE Transactions on Pattern Analysis and Machine Intelligence, PAMI-1(1), 25--37.

Author

Kisung You

Examples

# \donttest{
## create an example data with intrinsic dimension 2
X = cbind(aux.gensamples(dname="swiss"),aux.gensamples(dname="swiss"))

## acquire an estimate for intrinsic dimension
output = est.nearneighbor1(X)
sprintf("* est.nearneighbor1 : estimated dimension is %.2f.",output$estdim)
#> [1] "* est.nearneighbor1 : estimated dimension is 5.01."
# }