do.made first aims at finding local dimesion estimates using nearest neighbor techniques based on the first-order approximation of the probability mass function and then combines them to get a single global estimate. Due to the rate of convergence of such estimate to be independent of assumed dimensionality, authors claim this method to be manifold-adaptive.

est.made(
  X,
  k = round(sqrt(ncol(X))),
  maxdim = min(ncol(X), 15),
  combine = c("mean", "median", "vote")
)

Arguments

X

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

k

size of neighborhood for analysis.

maxdim

maximum possible dimension allowed for the algorithm to investigate.

combine

method to aggregate local estimates for a single global estimate.

Value

a named list containing containing

estdim

estimated global intrinsic dimension.

estloc

a length-\(n\) vector estimated dimension at each point.

References

Farahmand AM, Szepesvári C, Audibert J (2007). “Manifold-Adaptive Dimension Estimation.” In ICML, volume 227 of ACM International Conference Proceeding Series, 265--272.

Author

Kisung You

Examples

# \donttest{
## create a data set of intrinsic dimension 2.
X = aux.gensamples(dname="swiss")

## compare effect of 3 combining scheme
out1 = est.made(X, combine="mean")
out2 = est.made(X, combine="median")
out3 = est.made(X, combine="vote")

## print the results
line1 = paste0("* est.made : 'mean'   estiamte is ",round(out1$estdim,2))
line2 = paste0("* est.made : 'median' estiamte is ",round(out2$estdim,2))
line3 = paste0("* est.made : 'vote'   estiamte is ",round(out3$estdim,2))
cat(paste0(line1,"\n",line2,"\n",line3))
#> * est.made : 'mean'   estiamte is 2
#> * est.made : 'median' estiamte is 2
#> * est.made : 'vote'   estiamte is 1
# }