conv_funct: Conversion Functions for Elliptical Distributions

conv_functR Documentation

Conversion Functions for Elliptical Distributions

Description

An elliptical random vector X of density |det(\Sigma)|^{-1/2} g_d(x' \Sigma^{-1} x) can always be written as X = \mu + R * A * U for some positive random variable R and a random vector U on the d-dimensional sphere. Furthermore, there is a one-to-one mapping between g_d and its one-dimensional marginal g_1.

Usage

Convert_gd_To_g1(grid, g_d, d)

Convert_g1_To_Fg1(grid, g_1)

Convert_g1_To_Qg1(grid, g_1)

Convert_g1_To_f1(grid, g_1)

Convert_gd_To_fR2(grid, g_d, d)

Arguments

grid

the grid on which the values of the functions in parameter are given.

g_d

the d-dimensional density generator.

d

the dimension of the random vector.

g_1

the 1-dimensional density generator.

Value

One of the following

  • g_1 the 1-dimensional density generator.

  • Fg1 the 1-dimensional marginal cumulative distribution function.

  • Qg1 the 1-dimensional marginal quantile function (approximately equal to the inverse function of Fg1).

  • f1 the density of a 1-dimensional margin if \mu = 0 and A is the identity matrix.

  • fR2 the density function of R^2.

The function Convert_gd_To_g1 returns a numerical vector of (approximated) values of g_1 on the same grid as gd. In all other cases, a function is returned (see the examples section).

See Also

DensityGenerator.normalize to compute the normalized version of a given d-dimensional generator.

Examples

grid = seq(0,100,by = 0.01)
g_d = DensityGenerator.normalize(grid = grid, grid_g = 1/(1+grid^3), d = 3)
g_1 = Convert_gd_To_g1(grid = grid, g_d = g_d, d = 3)
Fg_1 = Convert_g1_To_Fg1(grid = grid, g_1 = g_1)
Qg_1 = Convert_g1_To_Qg1(grid = grid, g_1 = g_1)
f1 = Convert_g1_To_f1(grid = grid, g_1 = g_1)
fR2 = Convert_gd_To_fR2(grid = grid, g_d = g_d, d = 3)
plot(grid, g_d, type = "l", xlim = c(0,10))
plot(grid, g_1, type = "l", xlim = c(0,10))
plot(Fg_1, xlim = c(-3,3))
plot(Qg_1, xlim = c(0.01,0.99))
plot(f1, xlim = c(-3,3))
plot(fR2, xlim = c(0,3))


ElliptCopulas documentation built on Sept. 11, 2024, 6:50 p.m.