distl2dnorm function

L2L^2 distance between L2L^2-normed probability densities

L2L^2 distance between L2L^2-normed probability densities

L2L^2 distance between two multivariate (p>1p > 1) or univariate (dimension: p=1p = 1) L2L^2-normed probability densities, estimated from samples, where a L2L^2-normed probability density is the original probability density function divided by its L2L^2-norm.

distl2dnorm(x1, x2, method = "gaussiand", check = FALSE, varw1 = NULL, varw2 = NULL)

Arguments

  • x1, x2: the samples from the probability densities (see l2d.

  • method: string. It can be:

    • "gaussiand" if the densities are considered to be Gaussian.
    • "kern" if they are estimated using the Gaussian kernel method.
  • check: logical. When TRUE (the default is FALSE) the function checks if the covariance matrices (if method = "gaussiand") or smoothing bandwidth matrices (if method = "kern") are not degenerate, before computing the inner product.

    Notice that if p=1p = 1, it checks if the variances or smoothing parameters are not zero.

  • varw1, varw2: the bandwidths when the densities are estimated by the kernel method (see l2d.

Details

Given densities f1f_1 and f2f_2, the function distl2dnormpar computes the distance between the L2L^2-normed densities f1/f1f_1 / ||f_1|| and f2/f2f_2 / ||f_2||:

22<f1,f2>/(f1f2) 2 - 2 <f_1, f_2> / (||f_1|| ||f_2||)

For some information about the method used to compute the L2L^2 inner product or about the arguments, see l2d.

Returns

The L2L^2 distance between the two L2L^2-normed densities.

Be careful! If check = FALSE and one smoothing bandwidth matrix is degenerate, the result returned can not be considered.

Author(s)

Rachid Boumaza, Pierre Santagostini, Smail Yousfi, Gilles Hunault, Sabine Demotes-Mainard

See Also

distl2d for the distance between two probability densities.

matdistl2dnorm in order to compute pairwise distances between several L2L^2-normed densities.

Examples

require(MASS) m1 <- c(0,0) v1 <- matrix(c(1,0,0,1),ncol = 2) m2 <- c(0,1) v2 <- matrix(c(4,1,1,9),ncol = 2) x1 <- mvrnorm(n = 3,mu = m1,Sigma = v1) x2 <- mvrnorm(n = 5, mu = m2, Sigma = v2) distl2dnorm(x1, x2, method = "gaussiand") distl2dnorm(x1, x2, method = "kern") distl2dnorm(x1, x2, method = "kern", varw1 = v1, varw2 = v2)
  • Maintainer: Pierre Santagostini
  • License: GPL (>= 2)
  • Last published: 2024-11-22