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


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


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.


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)

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,


Wolfram Research (2010), CramerVonMisesTest, Wolfram Language function,


Wolfram Language. 2010. "CramerVonMisesTest." Wolfram Language & System Documentation Center. Wolfram Research.


Wolfram Language. (2010). CramerVonMisesTest. Wolfram Language & System Documentation Center. Retrieved from


@misc{reference.wolfram_2024_cramervonmisestest, author="Wolfram Research", title="{CramerVonMisesTest}", year="2010", howpublished="\url{}", note=[Accessed: 18-June-2024 ]}


@online{reference.wolfram_2024_cramervonmisestest, organization={Wolfram Research}, title={CramerVonMisesTest}, year={2010}, url={}, note=[Accessed: 18-June-2024 ]}