Moments Using Integration

Share:

Description

Calculates moments and absolute moments about a given location for any given distribution.

Usage

1
2
momIntegrated(densFn = "ghyp", param = NULL, order, about = 0,
              absolute = FALSE, ...)

Arguments

densFn

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

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 the distribution are used instead.

order

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

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.

...

Passes arguments to integrate. In particular, the parameters of the distribution.

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.

The name of the density function must be supplied as the characters of the root for that density (e.g. norm, ghyp).

When densFn="ghyp", densFn="hyperb", densFn="gig" or densFn = "vg", the relevant package must be loaded or an error will result.

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).

Value

The value of the integral as specified in Details.

Author(s)

David Scott d.scott@auckland.ac.nz, Christine Yang Dong c.dong@auckland.ac.nz, Xinxing Li xli053@aucklanduni.ac.nz

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
18
require(GeneralizedHyperbolic)
### 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))