tests whether the variance of data is 1.


tests whether the variances of data1, data2, are equal.


tests a dispersion measure against .


returns the value of "property".

Details and Options

  • LeveneTest tests the null hypothesis against the alternative hypothesis :
  • data
    {data1,data2,}not all equal
  • where σi2 is the population variance for datai.
  • By default, a probability value or -value is returned.
  • A small -value suggests that it is unlikely that is true.
  • The data in dspec must be univariate {x1,x2,}.
  • The argument can be any positive real number. The default value of is 1 if not specified, and ignored if the number of groups in dspec is more than 2.
  • The LeveneTest assumes the data is normally distributed and, for the two-sample case, is much less sensitive to this assumption than the FisherRatioTest.
  • LeveneTest[data,,"HypothesisTestData"] returns a HypothesisTestData object htd that can be used to extract additional test results and properties using the form htd["property"].
  • LeveneTest[data,,"property"] can be used to directly give the value of "property".
  • Properties related to the reporting of test results include:
  • "DegreesOfFreedom"the degrees of freedom used in a test
    "PValue"list of -values
    "PValueTable"formatted table of -values
    "ShortTestConclusion"a short description of the conclusion of a test
    "TestConclusion"a description of the conclusion of a test
    "TestData"list of pairs of test statistics and -values
    "TestDataTable"formatted table of -values and test statistics
    "TestStatistic"list of test statistics
    "TestStatisticTable"formatted table of test statistics
  • When one sample of size is given, the LeveneTest is equivalent to the FisherRatioTest.
  • For the -sample case {data1,data2,,datak} with datai={xi,1,xi,2,,xi,ni}, the test statistic is given by , where zi,j=Abs[xi,j-Mean[datai]], zi=Mean[{zi,1,zi,2,,zi,ni}], and z=Mean[{z1,z2,,zk}]. The test statistic is assumed to follow FRatioDistribution[k-1,sum_(i=1)^k(ni-1)] under .
  • The following options can be used:
  • AlternativeHypothesis"Unequal"the inequality for the alternative hypothesis
    SignificanceLevel0.05cutoff for diagnostics and reporting
    VerifyTestAssumptionsAutomaticset which diagnostic tests to run
  • For the LeveneTest, 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. This value is also used in diagnostic tests of assumptions, including tests for normality and symmetry. By default, is set to 0.05.
  • Named settings for VerifyTestAssumptions in LeveneTest include:
  • "Normality"verify that all data is normally distributed


open allclose all

Basic Examples  (2)

Test variances from two populations for equality:

Create a HypothesisTestData object for further property extraction:

Properties of the test:

Compare the variance of a population to a particular value:

Test against the alternative hypothesis :

Scope  (10)

Testing  (8)

Test whether the variance of a population is 1:

The -value is uniformly distributed in [0,1] under :

The histogram of a sample of -values of the Levene test:

The -value is typically small when is false:

Compare the variance of a population to a particular value:

Compare the variances of two populations:

The -value is uniformly distributed in [0,1] under :

The histogram of a sample of -values of the Levene test:

The -value is typically small when the variances are not equal:

Test whether the ratio of the variances of two populations is a particular value:

The following forms are equivalent:

The order of the datasets should be considered when determining :

Test whether the variances of three populations are identical:

Create a HypothesisTestData object for repeated property extraction:

The properties available for extraction:

Extract some properties from a HypothesisTestData object:

The -value, test statistic, and degrees of freedom:

Extract any number of properties simultaneously:

The -value, test statistic, and degrees of freedom:

Reporting  (2)

Tabulate test results:

The values from the table can be extracted using "TestData":

Tabulate -values or test statistics:

The -value from the table:

The test statistic from the table:

Options  (8)

AlternativeHypothesis  (3)

A two-sided test is performed by default:

Test versus :

Perform a two-sided test or a one-sided alternative:

Test versus :

Test versus :

Test versus :

Perform tests with one-sided alternatives when a null value is given:

Test versus :

Test versus :

SignificanceLevel  (2)

Set the significance level for diagnostic tests:

By default, 0.05 is used:

The significance level is also used for "TestConclusion" and "ShortTestConclusion":

VerifyTestAssumptions  (3)

Diagnostics can be controlled as a group using All or None:

Verify all assumptions:

Check no assumptions:

Diagnostics can be controlled independently:

Check for normality:

Set the normality assumption to True:

It is often useful to bypass diagnostic tests for simulation purposes:

The assumptions of the test hold by design, so a great deal of time can be saved:

The results are identical:

Applications  (1)

Set up a test for constant error variance using Levene's test, which partitions the data into two equal pieces:

Generate some data for multiple regression analysis:

The residuals plotted against each predictor variable:

The first variable is positively correlated with its variance:

Properties & Relations  (8)

The Levene test is equivalent to FisherRatioTest when a single dataset is given:

Given a single dataset with length , the test statistic follows a ChiSquareDistribution[n-1] under :

The maximum-likelihood estimate of the degrees of freedom is near :

Given two datasets with lengths and , the test statistic follows an FRatioDistribution[1,n+m-2] under :

The Levene test is less sensitive to the assumption of normality than the FisherRatioTest:

The Fisher ratio test tends to underestimate the -value and commit more Type I errors:

The two-sample test statistic:

The three-sample test statistic:

The Levene test works with the values only when the input is a TimeSeries:

The Levene test works with all the values together when the input is a TemporalData:

Test all the values only:

Test whether the variances of the two paths are equal:

Possible Issues  (3)

The Levene test assumes the data is drawn from a NormalDistribution:

Use ConoverTest or SiegelTukeyTest for non-normal data:

The Levene test ignores the argument when there are more than 2 groups:

When there are more than 2 groups in the data, the Levene test only allows the two-sided test for the alternative hypothesis:

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:

Introduced in 2010
Updated in 2017