CramerVonMisesTest

CramerVonMisesTest[data]

tests whether data is normally distributed using the Cramérvon Mises test.

CramerVonMisesTest[data,dist]

tests whether data is distributed according to dist using the Cramérvon Mises test.

CramerVonMisesTest[data,dist,"property"]

returns the value of "property".

Details and Options

  • CramerVonMisesTest performs the Cramérvon Mises goodness-of-fit test with null hypothesis that data was drawn from a population with distribution dist and alternative hypothesis that it was not.
  • By default, a probability value or -value is returned.
  • A small -value suggests that it is unlikely that the data came from dist.
  • The dist can be any symbolic distribution with numeric and symbolic parameters or a dataset.
  • The data can be univariate {x1,x2,} or multivariate {{x1,y1,},{x2,y2,},}.
  • The Cramérvon Mises test assumes that the data came from a continuous distribution.
  • The Cramérvon Mises test effectively uses a test statistic based on the expectation value of where is the empirical CDF of data and is the CDF of dist.
  • For univariate data, the test statistic is given by .
  • For multivariate tests, the sum of the univariate marginal -values is used and is assumed to follow a UniformSumDistribution under .
  • CramerVonMisesTest[data,dist,"HypothesisTestData"] returns a HypothesisTestData object htd that can be used to extract additional test results and properties using the form htd["property"].
  • CramerVonMisesTest[data,dist,"property"] can be used to directly give the value of "property".
  • Properties related to the reporting of test results include:
  • "PValue"-value
    "PValueTable"formatted version of "PValue"
    "ShortTestConclusion"a short description of the conclusion of a test
    "TestConclusion"a description of the conclusion of a test
    "TestData"test statistic and -value
    "TestDataTable"formatted version of "TestData"
    "TestStatistic"test statistic
    "TestStatisticTable"formatted "TestStatistic"
  • The following properties are independent of which test is being performed.
  • Properties related to the data distribution include:
  • "FittedDistribution"fitted distribution of data
    "FittedDistributionParameters"distribution parameters of data
  • The following options can be given:
  • Method Automaticthe method to use for computing -values
    SignificanceLevel0.05cutoff for diagnostics and reporting
  • For a test for goodness of fit, a cutoff is chosen such that is rejected only if . The value of used for the "TestConclusion" and "ShortTestConclusion" properties is controlled by the SignificanceLevel option. By default, is set to 0.05.
  • With the setting Method->"MonteCarlo", datasets of the same length as the input si are generated under using the fitted distribution. The empirical distribution from CramerVonMisesTest[si,dist,"TestStatistic"] is then used to estimate the -value.

Examples

open allclose all

Basic Examples  (3)

Perform a Cramérvon Mises test for normality:

Confirm the result using QuantilePlot:

Test the fit of some data to a particular distribution:

Compare the distributions of two datasets:

Scope  (9)

Testing  (6)

Perform a Cramérvon Mises test for normality:

The -value for the normal data is large compared to the -value for the non-normal data:

Test the goodness of fit to a particular distribution:

Compare the distributions of two datasets:

The two datasets do not have the same distribution:

Test for multivariate normality:

Test for goodness of fit to any multivariate distribution:

Create a HypothesisTestData object for repeated property extraction:

The properties available for extraction:

Reporting  (3)

Tabulate the results of the Cramérvon Mises test:

The full test table:

A -value table:

The test statistic:

Retrieve the entries from a Cramérvon Mises test table for custom reporting:

Report test conclusions using "ShortTestConclusion" and "TestConclusion":

The conclusion may differ at a different significance level:

Options  (3)

Method  (3)

Use Monte Carlo-based methods or a computation formula:

Set the number of samples to use for Monte Carlo-based methods:

The Monte Carlo estimate converges to the true -value with increasing samples:

Set the random seed used in Monte Carlo-based methods:

The seed affects the state of the generator and has some effect on the resulting -value:

Applications  (3)

A power curve for the Cramérvon Mises test:

Visualize the approximate power curve:

Estimate the power of the Cramérvon Mises test when the underlying distribution is UniformDistribution[{-4, 4}], the test size is 0.05, and the sample size is 32:

Observations generated by a homogeneous Poisson process should exhibit complete spatial randomness, which implies that they were drawn from a uniform distribution. Determine if observations from the following images would be modeled well by a homogeneous Poisson process:

Find the centers of each point and rescale on :

The points in the first image would be modeled well by a homogeneous Poisson process:

A model for the second group should account for dependence:

Find the parameters for distributions that minimize the Cramérvon Mises test statistic:

Compare the results to FindDistributionParameters:

Properties & Relations  (8)

By default, univariate data is compared to NormalDistribution:

The parameters have been estimated from the data:

Multivariate data is compared to MultinormalDistribution by default:

The parameters of the test distribution are estimated from the data if not specified:

Specified parameters are not estimated:

Maximum likelihood estimates are used for unspecified parameters of the test distribution:

If the parameters are unknown, CramerVonMisesTest applies a correction when possible:

The parameters are estimated but no correction is applied:

The fitted distribution is the same as before and the -value is corrected:

Independent marginal densities are assumed in tests for multivariate goodness of fit:

The test statistic is identical when independence is assumed:

The Cramérvon Mises statistic can be defined using NExpectation:

The Cramérvon Mises test works with the values only when the input is a TimeSeries:

Possible Issues  (3)

The Cramérvon Mises test is not intended for discrete distributions:

The continuity correction typically does a good job of preserving the size of the test:

This may not be the case in some situations:

Use Monte Carlo methods or PearsonChiSquareTest in these cases:

The Cramérvon Mises test is not valid for some distributions when parameters have been estimated from the data:

Provide parameter values if they are known:

Alternatively, use Monte Carlo methods to approximate the -value:

The Cramérvon Mises test must have sample sizes of at least 7 for valid -values:

Use Monte Carlo methods to arrive at a valid -value:

Neat Examples  (1)

Compute the statistic when the null hypothesis is true:

The test statistic given a particular alternative:

Compare the distributions of the test statistics:

Wolfram Research (2010), CramerVonMisesTest, Wolfram Language function, https://reference.wolfram.com/language/ref/CramerVonMisesTest.html.

Text

Wolfram Research (2010), CramerVonMisesTest, Wolfram Language function, https://reference.wolfram.com/language/ref/CramerVonMisesTest.html.

CMS

Wolfram Language. 2010. "CramerVonMisesTest." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/CramerVonMisesTest.html.

APA

Wolfram Language. (2010). CramerVonMisesTest. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/CramerVonMisesTest.html

BibTeX

@misc{reference.wolfram_2024_cramervonmisestest, author="Wolfram Research", title="{CramerVonMisesTest}", year="2010", howpublished="\url{https://reference.wolfram.com/language/ref/CramerVonMisesTest.html}", note=[Accessed: 04-October-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_cramervonmisestest, organization={Wolfram Research}, title={CramerVonMisesTest}, year={2010}, url={https://reference.wolfram.com/language/ref/CramerVonMisesTest.html}, note=[Accessed: 04-October-2024 ]}