grad_hess_kde_polysph: Gradient and Hessian of the polyspherical kernel density...

View source: R/RcppExports.R

grad_hess_kde_polysphR Documentation

Gradient and Hessian of the polyspherical kernel density estimator

Description

Computes the gradient \mathsf{D}\hat{f}(\boldsymbol{x};\boldsymbol{h}) and Hessian matrix \mathsf{H}\hat{f}(\boldsymbol{x};\boldsymbol{h}) of the kernel density estimator \hat{f}(\boldsymbol{x};\boldsymbol{h}) on the polysphere \mathcal{S}^{d_1} \times \cdots \times \mathcal{S}^{d_r}.

Usage

grad_hess_kde_polysph(x, X, d, h, weights = as.numeric(c()),
  projected = TRUE, proj_alt = TRUE, norm_grad_hess = FALSE,
  log = FALSE, wrt_unif = FALSE, normalized = TRUE, norm_x = FALSE,
  norm_X = FALSE, kernel = 1L, kernel_type = 1L, k = 10)

Arguments

x

a matrix of size c(nx, sum(d) + r) with the evaluation points.

X

a matrix of size c(n, sum(d) + r) with the sample.

d

vector of size r with dimensions.

h

vector of size r with bandwidths.

weights

weights for each observation. If provided, a vector of size n with the weights for multiplying each kernel. If not provided, set internally to rep(1 / n, n), which gives the standard estimator.

projected

compute the projected gradient and Hessian that accounts for the radial projection? Defaults to TRUE.

proj_alt

alternative projection. Defaults to TRUE.

norm_grad_hess

normalize the gradient and Hessian dividing by the kernel density estimator? Defaults to FALSE.

log

compute the logarithm of the density? Defaults to FALSE.

wrt_unif

flag to return a density with respect to the uniform measure. If FALSE (default), the density is with respect to the Lebesgue measure.

normalized

flag to compute the normalizing constant of the kernel and include it in the kernel density estimator. Defaults to TRUE.

norm_x, norm_X

ensure a normalization of the data? Defaults to FALSE.

kernel

kernel employed: 1 for von Mises–Fisher (default); 2 for Epanechnikov; 3 for softplus.

kernel_type

type of kernel employed: 1 for product kernel (default); 2 for spherically symmetric kernel.

k

softplus kernel parameter. Defaults to 10.0.

Value

A list with the following components:

dens

a column vector of size c(nx, 1) with the kernel density estimator evaluated at x.

grad

a matrix of size c(nx, sum(d) + r) with the gradient of the kernel density estimator evaluated at x.

hess

an array of size c(nx, sum(d) + r, sum(d) + r) with the Hessian matrix of the kernel density estimator evaluated at x.

Examples

# Simple check on (S^1)^2
n <- 3
d <- c(1, 1)
mu <- c(0, 1, 0, 1)
kappa <- c(5, 5)
h <- c(0.2, 0.2)
X <- r_vmf_polysph(n = n, d = d, mu = mu, kappa = kappa)
grh <- grad_hess_kde_polysph(x = X, X = X, d = d, h = h)
str(grh)
grh

polykde documentation built on April 16, 2025, 1:11 a.m.