momIntegrated: Moments Using Integration

Description Usage Arguments Details Value Author(s) See Also Examples

View source: R/momIntegrated.R

Description

Calculates moments and absolute moments about a given location for the generalized hyperbolic and related distributions.

Usage

1
2
momIntegrated(densFn = c("ghyp", "hyperb", "gig", "gamma", "invgamma", "vg"),
              order, param = NULL, about = 0, absolute = FALSE)

Arguments

densFn

Character. The name of the density function whose moments are to be calculated. See Details.

order

Numeric. The order of the moment or absolute moment to be calculated.

param

Numeric. A vector giving the parameter values for the distribution specified by densFn. If no param values are specified, then the default parameter values of each distribution are used instead.

about

Numeric. The point about which the moment is to be calculated.

absolute

Logical. Whether absolute moments or ordinary moments are to be calculated. Default is FALSE.

Details

Denote the density function by f. Then if order=k and about=a, momIntegrated calculates

integral_{-infinity}^infinity (x - a)^k f(x) dx

when absolute = FALSE and

integral_{-infinity}^infinity |x - a|^k f(x) dx

when absolute = TRUE.

Only certain density functions are permitted.

When densFn="ghyp" or "generalized hyperbolic" the density used is dghyp. The default value for param is c(0, 1, 1, 0, 1).

When densFn="hyperb" or "hyperbolic" the density used is dhyperb. The default value for param is c(0, 1, 1, 0).

When densFn="gig" or "generalized inverse gaussian" the density used is dgig. The default value for param is c(1, 1, 1).

When densFn="gamma" the density used is dgamma. The default value for param is c(1, 1).

When densFn="invgamma" or "inverse gamma" the density used is the density of the inverse gamma distribution given by

f(x) = u^alpha exp(-u)/(x Gamma(alpha)), u = theta/x

for x > 0, alpha > 0 and theta > 0. The parameter vector param = c(shape, rate) where shape =alpha and rate=1/theta. The default value for param is c(-1, 1).

When densFn = "vg" or "variance gamma" the density used is dvg from the package VarianceGamma. In this case, the package VarianceGamma must be loaded or an error will result. The default value for param is c(0, 1, 0, 1).

Value

The value of the integral as specified in Details.

Author(s)

David Scott [email protected], Christine Yang Dong [email protected]

See Also

dghyp, dhyperb, dgamma, dgig, VarianceGamma

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
### Calculate the mean of a generalized hyperbolic distribution
### Compare the use of integration and the formula for the mean
m1 <- momIntegrated("ghyp", param = c(0, 1, 3, 1, 1 / 2), order = 1, about = 0)
m1
ghypMean(param = c(0, 1, 3, 1, 1 / 2))
### The first moment about the mean should be zero
momIntegrated("ghyp", order = 1, param = c(0, 1, 3, 1, 1 / 2), about = m1)
### The variance can be calculated from the raw moments
m2 <- momIntegrated("ghyp", order = 2, param = c(0, 1, 3, 1, 1 / 2), about = 0)
m2
m2 - m1^2
### Compare with direct calculation using integration
momIntegrated("ghyp", order = 2, param = c(0, 1, 3, 1, 1 / 2), about = m1)
momIntegrated("ghyp", param = c(0, 1, 3, 1, 1 / 2), order = 2,
              about = m1)
### Compare with use of the formula for the variance
ghypVar(param = c(0, 1, 3, 1, 1 / 2))

sjp/GeneralizedHyperbolic documentation built on May 26, 2017, 10:13 a.m.