Learn R Programming

dad (version 4.1.6)

matdistl2dnorm: Matrix of \(L^2\) distances between \(L^2\)-normed probability densities

Description

Computes the matrix of the \(L^2\) distances between several multivariate (\(p > 1\)) or univariate (\(p = 1\)) \(L^2\)-normed probability densities, estimated from samples, where a \(L^2\)-normed probability density is the original probability density function divided by its \(L^2\)-norm.

Usage

matdistl2dnorm(x, method = "gaussiand", varwL = NULL)

Value

Positive symmetric matrix whose order is equal to the number of densities, consisting of the pairwise distances between the \(L^2\)-normed probability densities.

Arguments

x

object of class "folder" containing the data. Its elements have only numeric variables (observations of the probability densities). If there are non numeric variables, there is an error.

method

string. It can be:

  • "gaussiand" if the densities are considered to be Gaussian.

  • "kern" if they are estimated using the Gaussian kernel method.

varwL

list of matrices. The smoothing bandwidths for the estimation of each probability density. If they are omitted, the smoothing bandwidths are computed using the normal reference rule matrix bandwidth (see details of the l2d function).

Author

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

See Also

distl2dnorm.

matdistl2d for the distance matrix between probability densities.

matdistl2dnormpar when the probability densities are Gaussian, given the parameters (means and variances).

Examples

Run this code
    data(roses)
    
    # Multivariate:
    X <- as.folder(roses[,c("Sha","Den","Sym","rose")], groups = "rose")
    summary(X)
    mean.X <- mean(X)
    var.X <- var.folder(X)
    
    # Parametrically estimated Gaussian densities:
    matdistl2dnorm(X)
    
    if (FALSE) {
    # Estimated densities using the Gaussian kernel method ()normal reference rule bandwidth):
    matdistl2dnorm(X, method = "kern")   

    # Estimated densities using the Gaussian kernel method (bandwidth provided):
    matdistl2dnorm(X, method = "kern", varwL = var.X)
    }

    # Univariate :
    X1 <- as.folder(roses[,c("Sha","rose")], groups = "rose")
    summary(X1)
    mean.X1 <- mean(X1)
    var.X1 <- var.folder(X1)
    
    # Parametrically estimated Gaussian densities:
    matdistl2dnorm(X1)
    
    # Estimated densities using the Gaussian kernel method (normal reference rule bandwidth):
    matdistl2dnorm(X1, method = "kern")
    
    # Estimated densities using the Gaussian kernel method (normal reference rule bandwidth):
    matdistl2dnorm(X1, method = "kern", varwL = var.X1)

Run the code above in your browser using DataLab