| Type: | Package |
| Title: | Raw, Central and Standardized Moments of Parametric Distributions |
| Version: | 0.1.3 |
| Date: | 2025-03-15 |
| Description: | To calculate the raw, central and standardized moments from distribution parameters. To solve the distribution parameters based on user-provided mean, standard deviation, skewness and kurtosis. Normal, skew-normal, skew-t and Tukey g-&-h distributions are supported, for now. |
| License: | GPL-2 |
| Encoding: | UTF-8 |
| Language: | en-US |
| Depends: | R (≥ 4.4.0) |
| Imports: | methods |
| Suggests: | sn |
| RoxygenNote: | 7.3.2 |
| NeedsCompilation: | no |
| Packaged: | 2025-03-15 18:17:07 UTC; tingtingzhan |
| Author: | Tingting Zhan |
| Maintainer: | Tingting Zhan <tingtingzhan@gmail.com> |
| Repository: | CRAN |
| Date/Publication: | 2025-03-15 22:10:05 UTC |
Raw, Central and Standardized Moments, and other Distribution Characteristics
Description
Up to 4th raw \text{E}(Y^n), central \text{E}[(Y-\mu)^n] and
standardized moments \text{E}[(Y-\mu)^n/\sigma^n] of the random variable
Y = (X - \text{location})/\text{scale}
Also, the mean, standard deviation, skewness and excess kurtosis of the random variable X.
Details
For Y = (X - \text{location})/\text{scale},
let \mu = \text{E}(Y), then, according to
Binomial theorem,
the 2nd to 4th central moments of Y are,
\text{E}[(Y-\mu)^2] = \text{E}(Y^2) - 2\mu \text{E}(Y) + \mu^2 = \text{E}(Y^2) - \mu^2
\text{E}[(Y-\mu)^3] = \text{E}(Y^3) - 3\mu \text{E}(Y^2) + 3\mu^2 \text{E}(Y) - \mu^3 = \text{E}(Y^3) - 3\mu \text{E}(Y^2) + 2\mu^3
\text{E}[(Y-\mu)^4] = \text{E}(Y^4) - 4\mu \text{E}(Y^3) + 6\mu^2 \text{E}(Y^2) - 4\mu^3 \text{E}(Y) + \mu^4 = \text{E}(Y^4) - 4\mu \text{E}(Y^3) + 6\mu^2 \text{E}(Y^2) - 3\mu^4
The distribution characteristics of Y are,
\mu_Y = \mu
\sigma_Y = \sqrt{\text{E}[(Y-\mu)^2]}
\text{skewness}_Y = \text{E}[(Y-\mu)^3] / \sigma^3_Y
\text{kurtosis}_Y = \text{E}[(Y-\mu)^4] / \sigma^4_Y - 3
The distribution characteristics of X are
\mu_X = \text{location} + \text{scale}\cdot \mu_Y,
\sigma_X = \text{scale}\cdot \sigma_Y,
\text{skewness}_X = \text{skewness}_Y, and
\text{kurtosis}_X = \text{kurtosis}_Y.
Slots
distnamecharacter scalar, name of distribution, e.g.,
'norm'for normal,'sn'for skew-normal,'st'for skew-t, and'GH'for Tukeyg-&-hdistribution, following the nomenclature of dnorm, dsn, dst andQuantileGH::dGHlocation,scalemunumeric scalar or vector, 1st raw moment
\mu = \text{E}(Y). Note that the 1st central moment\text{E}(Y-\mu)and standardized moment\text{E}(Y-\mu)/\sigmaare both 0.raw2,raw3,raw4numeric scalars or vectors, 2nd or higher raw moments
\text{E}(Y^n),n\geq 2central2,central3,central4numeric scalars or vectors, 2nd or higher central moments,
\sigma^2 = \text{E}[(Y-\mu)^2]and\text{E}[(Y-\mu)^n],n\geq 3standardized3,standardized4numeric scalars or vectors, 3rd or higher standardized moments, skewness
\text{E}[(Y-\mu)^3]/\sigma^3and kurtosis\text{E}[(Y-\mu)^4]/\sigma^4. Note that the 2nd standardized moment is 1
Note
Potential name clash with function e1071::moment.
Solve Tukey g-&-h Parameters from Moments
Description
Solve Tukey g-, h- and g-&-h distribution parameters
from mean, standard deviation, skewness and kurtosis.
Usage
moment2GH(mean = 0, sd = 1, skewness, kurtosis)
moment2GH_h_demo(sd = 1, kurtosis)
moment2GH_g_demo(mean = 0, sd = 1, skewness)
Arguments
mean |
numeric scalar, mean |
sd |
numeric scalar, standard deviation |
skewness |
numeric scalar |
kurtosis |
numeric scalar |
Details
Function moment2GH() solves the
location A, scale B, skewness g
and elongation h parameters of Tukey g-&-h distribution,
from user-specified mean \mu (default 0), standard deviation \sigma (default 1),
skewness and kurtosis.
An educational and demonstration function moment2GH_h_demo() solves
(B, h) parameters of Tukey h-distribution,
from user-specified \sigma and kurtosis.
This is a non-skewed distribution, thus
the location parameter A=\mu=0, and the skewness parameter g=0.
An educational and demonstration function moment2GH_g_demo() solves
(A, B, g) parameters of Tukey g-distribution,
from user-specified \mu, \sigma and skewness.
For this distribution, the elongation parameter h=0.
Value
Function moment2GH() returns a length-4
numeric vector (A, B, g, h).
Function moment2GH_h_demo() returns a length-2
numeric vector (B, h).
Function moment2GH_g_demo() returns a length-3
numeric vector (A, B, g).
Examples
moment2GH(skewness = .2, kurtosis = .3)
moment2GH_h_demo(kurtosis = .3)
moment2GH_g_demo(skewness = .2)
Moment to Parameters: A Batch Process
Description
Converts multiple sets of moments to multiple sets of distribution parameters.
Usage
moment2param(distname, FUN = paste0("moment2", distname), ...)
Arguments
distname |
character scalar, distribution name.
Currently supported are |
FUN |
name or character scalar,
(name of) function used to solve the distribution parameters from moments.
Default is |
... |
numeric scalars,
some or all of |
Value
Function moment2param() returns a list of numeric vectors.
Examples
skw = c(.2, .5, .8)
krt = c(.5, 1, 1.5)
moment2param(distname = 'GH', skewness = skw, kurtosis = krt)
moment2param(distname = 'st', skewness = skw, kurtosis = krt)
Solve Skew-Normal Parameters from Moments
Description
Solve skew-normal parameters from mean, standard deviation and skewness.
Usage
moment2sn(mean = 0, sd = 1, skewness)
Arguments
mean |
numeric scalar, mean |
sd |
numeric scalar, standard deviation |
skewness |
numeric scalar |
Details
Function moment2sn() solves the
location \xi, scale \omega and slant \alpha parameters
of skew-normal distribution,
from user-specified mean \mu (default 0), standard deviation \sigma (default 1) and
skewness.
Value
Function moment2sn() returns a length-3
numeric vector (\xi, \omega, \alpha).
Examples
moment2sn(skewness = .3)
Solve Skew-t Parameters from Moments
Description
Solve skew-t parameters from mean, standard deviation, skewness and kurtosis.
Usage
moment2st(mean = 0, sd = 1, skewness, kurtosis)
moment2t_demo(sd = 1, kurtosis)
Arguments
mean |
numeric scalar, mean |
sd |
numeric scalar, standard deviation |
skewness |
numeric scalar |
kurtosis |
numeric scalar |
Details
Function moment2st() solves the
location \xi, scale \omega, slant \alpha
and degree of freedom \nu parameters of skew-t distribution,
from user-specified mean \mu (default 0), standard deviation \sigma (default 1),
skewness and kurtosis.
An educational and demonstration function moment2t_demo solves
(\omega, \nu) parameters of t-distribution,
from user-specified \sigma and kurtosis.
This is a non-skewed distribution, thus
the location parameter \xi=\mu=0, and the slant parameter \alpha=0.
Value
Function moment2st() returns a length-4 numeric vector
(\xi, \omega, \alpha, \nu).
Function moment2t_demo() returns a length-2
numeric vector (\omega, \nu).
Examples
moment2st(skewness = .2, kurtosis = .3)
moment2t_demo(kurtosis = .3)
Moments of Tukey g-&-h Distribution
Description
Moments of Tukey g-&-h distribution.
Usage
moment_GH(A = 0, B = 1, g = 0, h = 0)
Arguments
A |
|
B |
|
g |
|
h |
Value
Function moment_GH() returns a moment object.
References
Raw moments of Tukey g-&-h distribution: doi:10.1002/9781118150702.ch11
Examples
A = 3; B = 1.5; g = .7; h = .01
moment_GH(A = A, B = B, g = 0, h = h)
moment_GH(A = A, B = B, g = g, h = 0)
moment_GH(A = A, B = B, g = g, h = h)
Moments of Normal Distribution
Description
Moments of normal distribution, parameter nomenclature follows dnorm function.
Usage
moment_norm(mean = 0, sd = 1)
Arguments
mean |
|
sd |
Value
Function moment_norm() returns a moment object.
Examples
moment_norm(mean = 1.2, sd = .7)
Moments of Skew-Normal Distribution
Description
Moments of skew-normal distribution, parameter nomenclature follows dsn function.
Usage
moment_sn(xi = 0, omega = 1, alpha = 0)
Arguments
xi |
|
omega |
|
alpha |
Value
Function moment_sn() returns a moment object.
Examples
xi = 2; omega = 1.3; alpha = 3
moment_sn(xi, omega, alpha)
curve(sn::dsn(x, xi = 2, omega = 1.3, alpha = 3), from = 0, to = 6)
Moments of Skew-t Distribution
Description
Moments of skew-t distribution, parameter nomenclature follows
dst function.
Usage
moment_st(xi = 0, omega = 1, alpha = 0, nu = Inf)
Arguments
xi |
|
omega |
|
alpha |
|
nu |
Value
Function moment_st() returns a moment object.
References
Raw moments of skew-t: https://arxiv.org/abs/0911.2342
Examples
xi = 2; omega = 1.3; alpha = 3; nu = 6
curve(sn::dst(x, xi = xi, omega = omega, alpha = alpha, nu = nu), from = 0, to = 6)
moment_st(xi, omega, alpha, nu)
Show moment
Description
Print S4 object moment in a pretty manner.
Usage
## S4 method for signature 'moment'
show(object)
Arguments
object |
a moment object |
Value
The show method for moment object does not have a returned value.