dstable(x, loc=0, disp=1/sqrt(2), skew=0, tail=2, eps=1e-6) pstable(q, loc=0, disp=1/sqrt(2), skew=0, tail=2, eps=1e-6) qstable(p, loc=0, disp=1/sqrt(2), skew=0, tail=2, eps=1e-6) hstable(x, loc=0, disp=1/sqrt(2), skew=0, tail=2, eps=1e-6) rstable(n, loc=0, disp=1/sqrt(2), skew=0, tail=2, eps=1e-6)
y,q
| vector of quantiles. |
p
| vector of probabilites. |
n
| number of observations. |
loc
| vector of (real) location parameters. |
disp
| vector of (positive) dispersion parameters. |
skew
| vector of skewness parameters (in [-1,1]). |
tail
| vector of parameters (in [0,2]) related to the tail thickness. |
eps
| scalar giving the required precision in computation. |
loc
, disp
,
skew
and tail
.
dstable
, pstable
, qstable
and hstable
compute the density, the distribution, the quantile and the hazard functions
of a stable variate. rstable
generates random deviates with
the prescribed stable distribution.
loc
is a location parameter in the same way as the mean
in the normal distribution: it can take any real value.
disp
is a dispersion parameter in the same way as the standard
deviation in the normal distribution: it can take any positive value.
skew
is a skewness parameter: it can take any value in (-1,1).
The distribution is right-skewed, symmetric and left-skewed
when skew
is negative, null or positive respectively.
tail
is a tail parameter (often named the characteristic exponent):
it can take any value in (0,2) (with tail=1
and tail=2
yielding the Cauchy and the normal distributions respectively
when symmetry holds).
If loc
or disp
or skew
or tail
are not
specified they assume the default values of 0, 1/sqrt(2),
0 and 2 respectively. This corresponds to a normal
variate with mean=0 and variance=1=2 disp^2.
The stable characteristic function is given by
phi(t) = i loc t - disp |t|^tail [1+i skew sign(t) omega(t,tail)]
whereomega(t,tail) = (2/pi) log|t|
whentail=1
, and
omega(t,tail) = tan(pi alpha / 2)
otherwise.
The characteristic function can be inverted using Fourier's transform
to obtain the corresponding stable density. This inversion requires the
numerical evaluation of an integral from 0 to infinity.
Two algorithms
are proposed to do this. The default is the Romberg's method
(integration
="Romberg") which is used to evaluate the integral
with an error bounded by eps
.
The alternative method is Simpson's integration
(integration
="Simpson"): it approximates the
integral from 0 to infinity by an integral
from 0 to up
with npt
points subdividing (O, up).
These three extra arguments namely integration
, up
and
npt
are only available when using dstable
.
The other functions are all based on Romberg's algorithm.
stableglm
to fit generalized linear models for the stable
distribution parameters. stable.mode
to compute the mode of a stable
distribution.par(mfrow=c(2,2)) x <- seq(-5,5,by=0.1) # Influence of loc (location) plot(x,dstable(x,loc=-2,disp=1/sqrt(2),skew=-0.8,tail=1.5), type="l",ylab="",title("Varying LOCation")) lines(x,dstable(x,loc=0,disp=1/sqrt(2),skew=-0.8,tail=1.5)) lines(x,dstable(x,loc=2,disp=1/sqrt(2),skew=-0.8,tail=1.5)) # Influence of disp (dispersion) plot(x,dstable(x,loc=0,disp=0.5,skew=0,tail=1.5), type="l",ylab="",title("Varying DISPersion")) lines(x,dstable(x,loc=0,disp=1/sqrt(2),skew=0,tail=1.5)) lines(x,dstable(x,loc=0,disp=0.9,skew=0,tail=1.5)) # Influence of skew (skewness) plot(x,dstable(x,loc=0,disp=1/sqrt(2),skew=-0.8,tail=1.5), type="l",ylab="",title("Varying SKEWness")) lines(x,dstable(x,loc=0,disp=1/sqrt(2),skew=0,tail=1.5)) lines(x,dstable(x,loc=0,disp=1/sqrt(2),skew=0.8,tail=1.5)) # Influence of tail (tail) plot(x,dstable(x,loc=0,disp=1/sqrt(2),skew=0,tail=0.8), type="l",ylab="",title("Varying TAIL thickness")) lines(x,dstable(x,loc=0,disp=1/sqrt(2),skew=0,tail=1.5)) lines(x,dstable(x,loc=0,disp=1/sqrt(2),skew=0,tail=2))