Create an S3 object that sets all the required data needed by
energyGOFdist to execute the energy goodness-of-fit test against an inverse
Gaussian distribution. If mean and shape are both NULL, perform a
composite test. This is exactly the distribution corresponding to the PDF
$$ f(x | \mu, \lambda) = \left( \frac{\lambda}{2 \pi x^3} \right)^{1/2} \exp \left( -\frac{\lambda (x - \mu)^2}{2 \mu^2 x} \right), \qquad x > 0, $$
where mean is \(\mu\) and shape is \(\lambda\).
inverse_gaussian_dist(mean = NULL, shape = NULL)invgauss_dist(mean = NULL, shape = NULL)
S3 data object containing the following fields.
name: String
composite_p: Composite predicate. TRUE if test is composite.
par: Distribution parameters, list of the formals.
sampler_par: Distribution parameters used for the calculation of energy
statistic. These may be different than par.
par_domain: Function used to ensure par and sampler_par are valid for
this distribution
support: Function to check that data x can be tested against y
sampler: Function used for rng by boot::boot()
EYY: Function to compute \(E|Y-Y'|\) (or \(E|Y-Y'|^{pow}\), for the
generalized test.)
EXYhat: Function to compute \(\frac{1}{n} \sum_i E|x_i - Y|\) (or
\(\frac{1}{n} \sum_i E|x_i - Y|^{pow}\)), where Y is distributed according
to y and x is the data under test (which is passed in egof.test or egofd).
xform: Function that may be used to transform x. Only available in certain
distribution objects.
statistic: Function that returns a list of maximum likelihood estimates.
Only available in certain distribution objects.
notes: Distribution specific messages. Only used in certain distribution
objects.
Note: Some distributions do not have notes, xform, and statistic fields. This is because either a composite test is not implemented, or because a data transformation is not needed.
NULL or a positive mean parameter
NULL or a positive shape parameter
John T. Haman
This distribution requires an intense amount of numerical integration for the simple (known parameters) case, and the implementation seems to be fine for samples up to 1000. For the composite case, the data are transformed to a Chi-squared distribution (conditional on the parameter estimates), and the performance is much better, as there is no numerical integration in this case.
d <- inverse_gaussian_dist(4, 4)
x <- d$sampler(10, d$par)
egofd(x, d, 0)
Run the code above in your browser using DataLab