Learn R Programming

intrinsicDimension (version 1.2.0)

Noisefun: Transition Functions Describing Noise

Description

Transition functions \(f(s|r)\) describing the shift in lengths of vectors when Gaussian noise is added. Given a length \(r\), \(f(s|r)\) is the probability density for the length after noise is added to one endpoint.

Usage

dnoiseNcChi(r, s, sigma, k)
dnoiseGaussH(r, s, sigma, k)

Arguments

r

length or vector of lengths of original vector.

s

length or vector of lengths of perturbed vector.

sigma

noise standard deviation.

k

dimension of noise.

Value

Vector of probability densities.

Details

dnoiseNcChi is the true transition function density when the noise is Gaussian, the other transition functions are approximations of this. dnoiseGaussH is the Gaussian approximation used in Haro et al.

If Gaussian noise is added to both endpoints of the vector, sigma should be replaced by sqrt(2)*sigma.

References

Haro, G., Randall, G. and Sapiro, G. (2008) Translated Poisson Mixture Model for Stratification Learning. Int. J. Comput. Vis., 80, 358-374.

See Also

maxLikPointwiseDimEst, maxLikGlobalDimEst, maxLikLocalDimEst

Examples

Run this code
# NOT RUN {
# High SNR, high-dim noise
sigma <- 0.05
x <- seq(0, 1.5, length.out = 200)
y <- dnoiseNcChi(x, s = .5, sigma, k = 20)
plot(x, y, type = 'l', main = 'Noise dim = 20')
y2 <- dnoiseGaussH(x, s = .5, sigma, k = 20)
lines(x, y2, lty = 2)

# Low SNR
par(mfrow = c(2, 3))
sigma <- 0.2
x <- seq(0, 1.5, length.out = 200)
y <- dnoiseNcChi(x, s = .5, sigma, k = 4)
plot(x, y, type = 'l', main = 'Noise approximations')
y2 <- dnoiseGaussH(x, s = .5, sigma, k)
lines(x, y2, lty = 2)

# High SNR, low-dim noise
sigma <- 0.05
x <- seq(0, 1.5, length.out = 200)
y <- dnoiseNcChi(x, s = .5, sigma, k = 4)
plot(x, y, type = 'l', main = 'Noise dim = 4')
y2 <- dnoiseGaussH(x, s = .5, sigma, k)
lines(x, y2, lty = 2)

# }

Run the code above in your browser using DataLab