EllDistrDerivEst {ElliptCopulas} | R Documentation |
A continuous elliptical distribution has a density of the form
f_X(x) = {|\Sigma|}^{-1/2}
g\left( (x-\mu)^\top \, \Sigma^{-1} \, (x-\mu) \right),
where x \in \mathbb{R}^d
,
\mu \in \mathbb{R}^d
is the mean,
\Sigma
is a d \times d
positive-definite matrix
and a function g: \mathbb{R}_+ \rightarrow \mathbb{R}_+
, called the
density generator of X
.
The goal is to estimate the derivatives of g
at some point \xi
,
by kernel smoothing, following Section 3 of (Ryan and Derumigny, 2024).
EllDistrDerivEst(
X,
mu = 0,
Sigma_m1 = diag(NCOL(X)),
grid,
h,
Kernel = "gaussian",
a = 1,
k,
mpfr = FALSE,
precBits = 100,
dopb = TRUE
)
X |
a matrix of size |
mu |
mean of X. This can be the true value or an estimate. It must be
a vector of dimension |
Sigma_m1 |
inverse of the covariance matrix of X.
This can be the true value or an estimate. It must be
a matrix of dimension |
grid |
grid of values on which to estimate the density generator. |
h |
bandwidth of the kernel. Can be either a number or a vector of the
size |
Kernel |
name of the kernel. Possible choices are
|
a |
tuning parameter to improve the performance at 0. |
k |
highest order of the derivative of the generator that is to be
estimated. For example, |
mpfr |
if |
precBits |
number of precBits used for floating point precision
(only used if |
dopb |
a Boolean value.
If |
Note that this function may be rather slow for higher-order derivatives. Furthermore, it is likely that the number of observations needs to be quite high for the higher-order derivatives to be estimated well enough.
a matrix of size length(grid) * (kmax + 1)
with the estimated value of the generator and all its derivatives
at all orders until and including kmax
, at all points of the grid.
Alexis Derumigny, Victor Ryan
Victor Ryan, Alexis Derumigny
Ryan, V., & Derumigny, A. (2024). On the choice of the two tuning parameters for nonparametric estimation of an elliptical distribution generator arxiv:2408.17087.
EllDistrEst
for the nonparametric estimation of the
elliptical distribution density generator itself,
EllDistrSim
for the simulation of elliptical distribution samples.
This function uses the internal functions compute_etahat
and compute_matrix_alpha
.
# Comparison between the estimated and true generator of the Gaussian distribution
n = 50000
d = 3
X = matrix(rnorm(n * d), ncol = d)
grid = seq(0, 5, by = 0.1)
a = 1.5
gprimeEst = EllDistrDerivEst(X = X, grid = grid, a = a, h = 0.09, k = 1)[,2]
plot(grid, gprimeEst, type = "l")
# Computation of true values
g = exp(-grid/2)/(2*pi)^{3/2}
gprime = (-1/2) * exp(-grid/2)/(2*pi)^{3/2}
lines(grid, gprime, col = "red")