Bartlett Test Class
Definition
Assembly: Numerics.NET (in Numerics.NET.dll) Version: 9.0.7
public sealed class BartlettTest : MultiSampleTest<double>
- Inheritance
- Object → HypothesisTest → MultiSampleTest<Double> → BartlettTest
Remarks
Bartlett's test is used to test the null hypothesis that multiple samples have the same variance. This property is called homogeneity of variance. The test is based on the assumption that the samples are normally distributed. It is sensitive to violations of this assumption.
The test statistic for Bartlett's test is a chi-square statistic. The distribution of this test statistic under the null hypothesis follows a chi-square distribution with degrees of freedom equal to the number of samples minus one.
Bartlett's test is commonly used in statistical procedures such as Analysis of Variance (ANOVA), which assume that variances are the same across groups. However, it cannot adequately distinguish between violation of homogeneity of variances and violation of the normality assumption. In such cases, Levene's test gives more meaningful results.
Example
The following example demonstrates how to perform Bartlett's test using different constructors and how to use its properties and methods.
using Numerics.NET;
using Numerics.NET.Statistics.Tests;
using Numerics.NET.DataAnalysis;
// Example using the default constructor
Vector<double> data1 = [ 1.0, 2.0, 3.0, 4.0, 5.0 ];
Vector<double> data2 = [ 2.0, 3.0, 4.0, 6.0, 8.0 ];
Vector<double>[] samples = [ data1, data2 ];
BartlettTest test1 = new BartlettTest(samples);
double statistic1 = test1.CalculateStatistic();
double pValue1 = test1.GetPValue(HypothesisType.OneTailedUpper);
Console.WriteLine($"Statistic: {statistic1}, P-Value: {pValue1}");
// Example using the Vector and grouping constructor
Vector<double> data2 = [ 1.0, 2.0, 3.0, 4.0, 5.0, 2.0, 3.0, 4.0, 6.0, 8.0 ];
Vector<int> groups = [ 1, 1, 1, 1, 1, 2, 2, 2, 2, 2 ];
var grouping = groups.AsCategorical();
BartlettTest test2 = new BartlettTest(data2, grouping);
double statistic2 = test2.CalculateStatistic();
double pValue2 = test2.GetPValue(HypothesisType.OneTailedUpper);
Console.WriteLine($"Statistic: {statistic2}, P-Value: {pValue2}");
Constructors
Bartlett | Constructs a new BartlettTest. |
Bartlett | Constructs a new BartlettTest for the specified vector. |
Bartlett | Constructs a new BartlettTest for the specified vector array. |
Bartlett | Constructs a new BartlettTest for the specified vector. |
Properties
Degrees | Gets the degrees of freedom for this chi-square distribution. |
Distribution |
Gets the probability distribution used in the hypothesis test.
(Inherited from HypothesisTest) |
Grouping |
Gets the grouping that divides Sample into groups.
(Inherited from MultiSampleTest<T>) |
Hypothesis |
Gets or sets whether the test is one or two-tailed.
(Inherited from HypothesisTest) |
Name |
Gets the name of the hypothesis test.
(Overrides HypothesisTest.Name) |
PValue |
Gets the probability that the test statistic would take on the calculated value under the alternate hypothesis.
(Inherited from HypothesisTest) |
Sample |
Gets the vector that contains the sample data.
(Inherited from MultiSampleTest<T>) |
Samples |
Gets the collection of samples for the test.
(Inherited from MultiSampleTest<T>) |
Significance |
Gets the significance level used to test the null hypothesis.
(Inherited from HypothesisTest) |
Statistic |
Gets the value of the test statistic.
(Inherited from HypothesisTest) |
Methods
Equals | Determines whether the specified object is equal to the current object. (Inherited from Object) |
Get |
Returns the confidence interval for the test parameter for the default confidence level.
(Inherited from HypothesisTest) |
Get |
Returns the confidence interval for the test parameter for the specified confidence level.
(Inherited from HypothesisTest) |
Get | Serves as the default hash function. (Inherited from Object) |
Get |
Gets the lower critical value for the hypothesis test's current significance level.
(Inherited from HypothesisTest) |
Get |
Gets the lower critical value for the hypothesis test at the specified significance level.
(Inherited from HypothesisTest) |
Get |
Gets the probability that the test statistic would take on the calculated value under the specified alternate hypothesis.
(Inherited from HypothesisTest) |
Get | Gets the Type of the current instance. (Inherited from Object) |
Get |
Gets the upper critical value for the test statistic at the hypothesis test's current significance level.
(Inherited from HypothesisTest) |
Get |
Gets the upper critical value for the test statistic at the specified significance level.
(Inherited from HypothesisTest) |
Reject() |
Returns whether the null hypothesis is rejected
using the default significance level.
(Inherited from HypothesisTest) |
Reject( |
Returns whether the null hypothesis is rejected using the specified significance level.
(Inherited from HypothesisTest) |
Summarize() |
Returns a string containing a human-readable summary of the object.
(Inherited from HypothesisTest) |
Summarize( |
Returns a string containing a human-readable summary of the object
using the specified options.
(Inherited from HypothesisTest) |
ToString | Returns a string that represents the current object. (Inherited from HypothesisTest) |