Learn R Programming

energyGOF (version 0.1)

normal_dist: Create a Normal distribution object for energy testing

Description

Create an S3 object that sets all the required data needed by energyGOFdist to execute the energy goodness-of-fit test against a normal distribution. If mean and sd are both NULL, perform a composite test.

Usage

normal_dist(mean = NULL, sd = NULL)

Value

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.

Arguments

mean

NULL, or if specified, same as rnorm(), but must be length 1.

sd

NULL, or if specified, Same as rnorm(), but must be length 1

Author

John T. Haman

Examples

Run this code
d <- normal_dist(0, 1)

# Composite test
dc <- normal_dist()
egofd(rnorm(10), dc, 0)


### Expected distances:

d$EYY(d$par)

## should be about the same as mean(abs(rnorm(1e5) - rnorm(1e5)))

x <- 3

d$EXYhat(3, d$par)

## should be about the same as mean(abs(x - rnorm(1e5)))

Run the code above in your browser using DataLab