Learn R Programming

DistributionUtils (version 0.6-1)

momIntegrated: Moments Using Integration

Description

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

Usage

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

Value

The value of the integral as specified in Details.

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.

Author

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

Details

Denote the density function by \(f\). Then if order\(=k\) and about\(=a\), momIntegrated calculates $$\int_{-\infty}^\infty (x - a)^k f(x) dx$$ when absolute = FALSE and $$\int_{-\infty}^\infty |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) = \frac{u^\alpha e^{-u}}{x \Gamma(\alpha)}, % \quad 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).

See Also

dghyp, dhyperb, dgamma, dgig, VarianceGamma

Examples

Run this code
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))

Run the code above in your browser using DataLab