A collection and description of functions to investigate
bivariate elliptical copulae.
Elliptical Copulae Functions:
ellipticalTau | Computes Kendall's tau for elliptical copulae, |
ellipticalRho | computes Spearman's rho for elliptical copulae, |
ellipticalTailCoeff | computes tail dependence for elliptical copulae, |
ellipticalTailPlot | plots tail dependence for elliptical copulae. |
ellipticalTau(rho)
ellipticalRho(rho, param = NULL, type = ellipticalList(), subdivisions = 500)
ellipticalTailCoeff(rho, param = NULL, type = c("norm", "cauchy", "t"))
ellipticalTailPlot(param = NULL, type = c("norm", "cauchy", "t"),
tail = c("Lower", "Upper"))
Copula Functions:
The functions [rpd]ellipticalCopula
return a numeric vector
of random variates, probabilities, or densities for the specified
copula computed at grid coordinates u
|v
.
The functions [rpd]ellipticalSlider
display an interactive
graph of an perspective copula plot either for random variates,
probabilities or densities. Alternatively, an image underlayed
contour plot can be shown.
Copula Dependence Measures:
The functions ellipticalTau
and ellipticalRho
return
a numericc value for Kendall's Tau and Spearman's Rho.
Copula Tail Coefficient:
The function ellipticalTailCoeff
returns the coefficient of
tail dependence for a specified copula. The function
ellipticalTailPlot
displays a whole plot for the upper or
alternatively for the lower tail dependence as a function of
u
for a set of nine rho
values.
Copula Generator Function:
The function gfunc
computes the generator function for the
specified copula, by default the normal copula. If the argument
x
is missing, then the normalization constand lambda will
be returned, otherwise if x
is specified the values for the
function g(x) will be freturned. The selected type of copula
is added to the output as an attribute named "control"
.
The function gfuncSlider
allows to display interactively
the generator function, the marginal density, the marginal
probability, and the contours of the the bivariate density.
Copula Simulation and Parameter Fitting:
The function ellipticalCopulaSim
returns a numeric two-column
matrix with randomly generated variates for the specified copula.
The function ellipticalCopulaFit
returns a fit to empirical
data for the specified copula. The returned object is a list with
elements from the function nlminb
.
[*ellipticalCopula] -
is the numeric value setting the correlation strength, ranging
between minus one and one.
[*ellipticalCopula][gfunc] -
additional distributional parameters: for the Sudent-t distribution
this is "nu", for the Kotz distribution this is "r", and for the
Exponential Power distribution these are "r" and "s". If the
argument param=NULL
then default values are taken. These are
for the Student-t param=c(nu=4))
, for the Kotz distribution
param=c(r=1))
, and for the exponential power distribution
param=c(r=1,s=1)
. Note, that the Kotz and exponential power
copulae are independent of r
, and that r
only enters
the generator, the density, the probability and the quantile
functions.
[ellipticalRho] -
an integer value with the number of subdivisons in each direction
on the two dimensional unit square to compute the mean value of
Spearman's Rho. By default 500 subdivisions are used.
[ellipticalTailPlot] -
a character string, either "Upper"
or "Lower"
denoting
which of the two tails should be displayed. By default the upper
tail dependence will be considered.
[*ellipticalCopula][gfunc] -
the type of the elliptical copula. A character string selected
from: "norm", "cauchy", "t", "logistic", "laplace", "kotz",
or "epower".
[*ellipticalSlider] -
a character string which indicates what kind of plot should be
displayed, either a perspective plot if type="persp"
, the
default value, or a contour plot if type="contour"
.
Diethelm Wuertz for the Rmetrics R-port.
## [rp]ellipticalCopula -
# Default Normal Copula:
rellipticalCopula(10)
pellipticalCopula(10)
## [rp]ellipticalCopula -
# Student-t Copula Probability and Density:
u = grid2d(x = (0:25)/25)
pellipticalCopula(u, rho = 0.75, param = 4,
type = "t", output = "list")
d <- dellipticalCopula(u, rho = 0.75, param = 4,
type = "t", output = "list")
persp(d, theta = -40, phi = 30, col = "steelblue")
## ellipticalTau -
## ellipticalRho -
# Dependence Measures:
ellipticalTau(rho = -0.5)
ellipticalRho(rho = 0.75, type = "logistic", subdivisions = 100)
## ellipticalTailCoeff -
# Student-t Tail Coefficient:
ellipticalTailCoeff(rho = 0.25, param = 3, type = "t")
## gfunc -
# Generator Function:
plot(gfunc(x = 0:10), main = "Generator Function")
## ellipticalCopulaSim -
## ellipticalCopulaSim -
# Simualtion and Parameter Fitting:
rv <- ellipticalCopulaSim(n = 100, rho = 0.75)
ellipticalCopulaFit(rv)
Run the code above in your browser using DataLab