# momIntegrated: Moments Using Integration In DistributionUtils: Distribution Utilities

## 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 [email protected], Christine Yang Dong [email protected], Xinxing Li [email protected]

`dghyp`, `dhyperb`, `dgamma`, `dgig`, ```VarianceGamma ```
 ``` 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)) ```