cutHyperPlane {intrinsicDimension} | R Documentation |
Piece of Noisy Hyperplane
Description
Generates Ns
data points within the unit ball from a hyperplane
through the origin with noise added. n
has to be at least d
,
otherwise the function terminates with an error.
Usage
cutHyperPlane(Ns, d, n, sd)
Arguments
Ns |
number of data points. |
d |
dimension of hyperplane. |
n |
dimension of noise. |
sd |
standard deviation of noise. |
Details
The data set is generated the following way: First data points are sampled
uniformly in a d
-ball. After this, (n-d)
-dimensional orthogonal noise with
standard deviation sd
in each direction is added. No noise is added in the
directions parallel to the hyperplane since on an infinite plane adding
isotropic noise to a uniform distribution does not change the
distribution. Finally all data points within distance 1 from the origin are
considered as candidates for the data set that will be returned, out of the
candidates Ns
data points are chosen randomly to be returned.
If there are less than Ns
candidates more candidates will be generated
in the same way.
The data generated by this function can be used to evaluate how much local dimension estimators are affected by noise.
Value
A Ns
x n
matrix.
Warning
If sd
is high, cutHyperPlane
will be slow and might not even
be able to return a data set. If so, it will return NULL
.
Author(s)
Kerstin Johnsson, Lund University
See Also
Examples
datap <- cutHyperPlane(100, 2, 3, 0.01)
par(mfrow = c(1, 2))
plot(datap[, 1], datap[, 2])
plot(datap[, 1], datap[, 3])