geo_median {pracma} | R Documentation |
Geometric Median
Description
Compute the “geometric median” of points in n-dimensional space, that is the point with the least sum of (Euclidean) distances to all these points.
Usage
geo_median(P, tol = 1e-07, maxiter = 200)
Arguments
P |
matrix of points, |
tol |
relative tolerance. |
maxiter |
maximum number of iterations. |
Details
The task is solved applying an iterative process, known as Weiszfeld's algorithm. The solution is unique whenever the points are not collinear.
If the dimension is 1 (one column), the median will be returned.
Value
Returns a list with components p
the coordinates of the solution
point, d
the sum of distances to all the sample points, reltol
the relative tolerance of the iterative process, and niter
the
number of iterations.
Note
This is also known as the “1-median problem” and can be generalized to the
“k-median problem” for k cluster centers;
see kcca
in the ‘flexclust’ package.
References
See Wikipedia's entry on “Geometric median”.
See Also
Examples
# Generate 100 points on the unit sphere in the 10-dim. space
set.seed(1001)
P <- rands(n=100, N=9)
( sol <- geo_median(P) )
# $p
# [1] -0.009481361 -0.007643410 -0.001252910 0.006437703 -0.019982885 -0.045337987
# [7] 0.036249563 0.003232175 0.035040592 0.046713023
# $d
# [1] 99.6638
# $reltol
# [1] 3.069063e-08
# $niter
# [1] 10