Learn R Programming

dad (version 4.1.6)

l2d: \(L^2\) inner product of probability densities

Description

\(L^2\) inner product of two multivariate (\(p > 1\)) or univariate (\(p = 1\)) probability densities, estimated from samples.

Usage

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

Value

The \(L^2\) inner product of the two probability densities.

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

Arguments

x1

a matrix or data frame of \(n_1\) rows (observations) and \(p\) columns (variables) (can also be a tibble) or a vector of length \(n_1\).

x2

matrix or data frame (or tibble) of \(n_2\) rows and \(p\) columns or vector of length \(n_2\).

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 = 1\), it checks if the variances or smoothing parameters are not zero.

varw1, varw2

\(p\) x \(p\) symmetric matrices: the smoothing bandwidths for the estimation of the probability densities. If they are omitted, the smoothing bandwidths are computed using the normal reference rule matrix bandwidth (see details).

Author

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

Details

  • If method = "gaussiand", the mean vectors and the variance matrices (\(v1\) and \(v2\)) of the two samples are computed, and they are used to compute the inner product using the l2dpar function.

  • If method = "kern", the densities of both samples are estimated using the Gaussian kernel method. These estimations are then used to compute the inner product. if varw1 and varw2 arguments are omitted, the smoothing bandwidths are computed using the normal reference rule matrix bandwidth: $$h_1 v_1^{1/2}$$ where $$h_1 = (4 / ( n_1 (p+2) ) )^{1 / (p+4)}$$ for the first density. Idem for the second density after making the necessary changes.

References

Boumaza, R., Yousfi, S., Demotes-Mainard, S. (2015). Interpreting the principal component analysis of multivariate density functions. Communications in Statistics - Theory and Methods, 44 (16), 3321-3339.

Wand, M., Jones, M. (1995). Kernel smoothing. Chapman and Hall/CRC, London.

Yousfi, S., Boumaza R., Aissani, D., Adjabi, S. (2014). Optimal bandwith matrices in functional principal component analysis of density functions. Journal of Statistical Computational and Simulation, 85 (11), 2315-2330.

See Also

l2dpar for Gaussian densities whose parameters are given.

Examples

Run this code
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)
l2d(x1, x2, method = "gaussiand")
l2d(x1, x2, method = "kern")
l2d(x1, x2, method = "kern", varw1 = v1, varw2 = v2)

Run the code above in your browser using DataLab