vartestn
statistics: vartestn (x)
statistics: vartestn (x, group)
statistics: vartestn (…, name, value)
statistics: p = vartestn (…)
statistics: [p, stats] = vartestn (…)
statistics: [p, stats] = vartestn (…, name, value)
Test for equal variances across multiple groups.
h = vartestn (x) performs Bartlett’s test for equal
variances for the columns of the matrix x. This is a test of the null
hypothesis that the columns of x come from normal distributions with
the same variance, against the alternative that they come from normal
distributions with different variances. The result is displayed in a summary
table of statistics as well as a box plot of the groups.
vartestn (x, group) requires a vector x, and a
group argument that is a categorical variable, vector, string array, or
cell array of strings with one row for each element of x. Values of
x corresponding to the same value of group are placed in the same
group.
vartestn treats NaNs as missing values, and ignores them.
p = vartestn (…) returns the probability of observing the
given result, or one more extreme, by chance under the null hypothesis that
all groups have equal variances. Small values of p cast doubt on the
validity of the null hypothesis.
[p, stats] = vartestn (…) returns a structure with
the following fields:
chistat | – the value of the test statistic | |
df | – the degrees of freedom of the test |
[p, stats] = vartestn (…, name, value)
specifies one or more of the following name/value pairs:
'display' | 'on' to display a boxplot and table, or
'off' to omit these displays. Default 'on'. |
'testtype' | One of the following strings to control the type of test to perform |
'Bartlett' | Bartlett’s test (default). | |
'LeveneQuadratic' | Levene’s test computed by performing anova on the squared deviations of the data values from their group means. | |
'LeveneAbsolute' | Levene’s test computed by performing anova on the absolute deviations of the data values from their group means. | |
'BrownForsythe' | Brown-Forsythe test computed by performing anova on the absolute deviations of the data values from the group medians. | |
'OBrien' | O’Brien’s modification of Levene’s test with . |
The classical Bartlett’s test is sensitive to the assumption that the
distribution in each group is normal. The other test types are more robust
to non-normal distributions, especially ones prone to outliers. For these
tests, the STATS output structure has a field named fstat containing
the test statistic, and df1 and df2 containing its numerator
and denominator degrees of freedom.
See also: vartest, vartest2, anova1, bartlett_test, levene_test
Source Code: vartestn
Test the null hypothesis that the variances are equal across the five columns of data in the students’ exam grades matrix, grades.
load examgrades vartestn (grades)
Group Summary Table
Group Count Mean Std Dev
------------------------------------------------------------
1 120 75.0083 8.720203
2 120 74.9917 6.542037
3 120 74.9917 7.430910
4 120 75.0333 8.601283
5 120 74.9917 5.258839
Pooled Groups 600 75.0033 7.310655
Pooled valid Groups 600 75.0083 8.720203
Bartlett's statistic 38.73324
Degrees of Freedom 4
p-value 0.000000
ans = 7.9086e-08
Test the null hypothesis that the variances in miles per gallon (MPG) are equal across different model years.
load carsmall vartestn (MPG, Model_Year)
Group Summary Table
Group Count Mean Std Dev
------------------------------------------------------------
70 29 17.6897 5.339231
76 34 21.5735 5.889297
82 31 31.7097 5.392548
Pooled Groups 94 23.6576 5.540359
Pooled valid Groups 87 17.6897 5.339231
Bartlett's statistic 0.36619
Degrees of Freedom 2
p-value 0.832687
ans = 0.8327
Use Levene’s test to test the null hypothesis that the variances in miles per gallon (MPG) are equal across different model years.
load carsmall p = vartestn (MPG, Model_Year, 'TestType', 'LeveneAbsolute')
Group Summary Table
Group Count Mean Std Dev
------------------------------------------------------------
70 29 17.6897 5.339231
76 34 21.5735 5.889297
82 31 31.7097 5.392548
Pooled Groups 94 23.6576 5.540359
Pooled valid Groups 2958 23.7181 5.555774
Levene's statistic (absolute) 0.46126
Degrees of Freedom 2, 91
p-value 0.631954
p = 0.6320
Test the null hypothesis that the variances are equal across the five columns of data in the students’ exam grades matrix, grades, using the Brown-Forsythe test. Suppress the display of the summary table of statistics and the box plot.
load examgrades [p, stats] = vartestn (grades, 'TestType', 'BrownForsythe', 'Display', 'off')
p = 1.3121e-06
stats =
scalar structure containing the fields:
fstat = 8.4160
df =
4 595