VarianceEquivalenceTest[{data1,data2,…}]
dataiの分散が等しいかどうかの検定を行う.
VarianceEquivalenceTest[{data1,…},"property"]
"property"の値を返す.
VarianceEquivalenceTest
VarianceEquivalenceTest[{data1,data2,…}]
dataiの分散が等しいかどうかの検定を行う.
VarianceEquivalenceTest[{data1,…},"property"]
"property"の値を返す.
詳細とオプション
- VarianceEquivalenceTestは,真の母分散が同一である(
)という帰無仮説
と少なくとも1つの分散が異なるという対立仮説
で dataiについて仮説検定を行う. - デフォルトで,確率値すなわち
値が返される.
値が小さい場合は
である可能性が低いことを示唆する.- data は一変量{x1,x2,…}でなければならない.
- VarianceEquivalenceTest[{data1,…}]はデータに適用可能で最も強力な検定を選ぶ.
- VarianceEquivalenceTest[{data1,…},All]はデータに適用可能な検定をすべて選ぶ.
- VarianceEquivalenceTest[{data1,…},"test"]は"test"に従って
値をレポートする. - ほとんどの検定は正規分布に従う dataiを必要とする.検定が正規性の仮定についてそれほど敏感ではない場合,その検定は強力であると呼ばれる.検定の中には datai が中央値に対して対称であると仮定するものもある.
- 使用可能な検定
-
"Bartlett" 正規性 修正尤度比検定 "BrownForsythe" 頑健性 頑健なLevene検定 "Conover" 対称性 Conoverの二乗順位’検定 "FisherRatio" 正規性
に基づく"Levene" 頑健性,対称性 個々の分散とグループの分散を比較する - VarianceEquivalenceTest[{data1,…},"HypothesisTestData"]は htd["property"]の形で追加的な検定結果と特性の抽出に利用できるHypothesisTestDataオブジェクト htd を返す.
- VarianceEquivalenceTest[{data1,…},"property"]を使って直接"property"の値を与えることができる.
- 検定結果のレポートに関連する特性
-
"AllTests" 適用可能なすべての検定のリスト "AutomaticTest" Automaticが使われた場合に選ばれる検定 "DegreesOfFreedom" 検定で使われる自由度 "PValue"
値のリスト"PValueTable"
値のフォーマットされた表"ShortTestConclusion" 検定結果の簡単な説明 "TestConclusion" 検定結果の説明 "TestData" 検定統計と
値のペアのリスト"TestDataTable"
値と検定統計のフォーマットされた表"TestStatistic" 検定統計のリスト "TestStatisticTable" 検定統計のフォーマットされた表 - 使用可能なオプション
-
SignificanceLevel 0.05 診断とレポートのための切捨て VerifyTestAssumptions Automatic どの診断検定を実行するかを決める - 分散検定では,
のときにのみ
が棄却されるような切捨て
が選ばれる."TestConclusion"および"ShortTestConclusion"特性に使われる
の値はSignificanceLevelオプションで制御される.値
は正規性と対称性の検定を含む仮定の診断検定にも使われる.デフォルトで
は0.05である. - VarianceEquivalenceTestにおけるVerifyTestAssumptionsの名前付き設定
-
"Normality" すべてのデータが正規分布に従っていることを証明する "Symmetry" すべてのデータが対称であることを証明する
例題
すべて開く すべて閉じる例 (2)
data = RandomVariate[NormalDistribution[], {2, 10^4}];htd = VarianceEquivalenceTest[data]さらに特性を抽出するためにHypothesisTestDataオブジェクトを作成する:
ℋ = VarianceEquivalenceTest[data, "HypothesisTestData"]ℋ["TestDataTable", All]data1 = RandomVariate[NormalDistribution[1, 1], 10^3];
data2 = RandomVariate[NormalDistribution[15, 1], 10^3];
data3 = RandomVariate[GammaDistribution[4, 1 / 2], 10^3];VarianceEquivalenceTest[{data1, data2, data3}]Variance /@ {data1, data2, data3}スコープ (12)
検定 (8)
data1 = RandomVariate[NormalDistribution[], 500];
data2 = RandomVariate[StudentTDistribution[5], 500];
data3 = RandomVariate[NormalDistribution[], 350];VarianceEquivalenceTest[{data1, data3}]VarianceEquivalenceTest[{data1, data2}]Automaticを使うと,一般に最も強力で適切な検定が適用される:
data = RandomVariate[NormalDistribution[], {3, 10^4}];VarianceEquivalenceTest[data, Automatic]特性"AutomaticTest"は,どの検定が選ばれたのかを調べるのに使える:
VarianceEquivalenceTest[data, "AutomaticTest"]data = RandomVariate[WeibullDistribution[1, 2], {3, 10^2}];VarianceEquivalenceTest[data]SmoothHistogramを使って視覚的にデータ集合の分布を比べる:
SmoothHistogram[data]data = RandomVariate[NormalDistribution[], {3, 10^3}];VarianceEquivalenceTest[data, "Bartlett"]VarianceEquivalenceTest[data, {"PValue", {"Levene", "Bartlett"}}]data = RandomVariate[NormalDistribution[], {2, 250}];VarianceEquivalenceTest[data, All]特性"AllTests"を使ってどの検定が使われたのかを調べる:
VarianceEquivalenceTest[data, "AllTests"]繰り返し特性を抽出するためにHypothesisTestDataオブジェクトを作成する:
data = RandomVariate[NormalDistribution[], {3, 10^4}];ℋ = VarianceEquivalenceTest[data, "HypothesisTestData"];ℋ["Properties"]HypothesisTestDataオブジェクトから特性をいくつか抽出する:
data = RandomVariate[NormalDistribution[], {3, 10^4}];ℋ = VarianceEquivalenceTest[data, "HypothesisTestData"];ℋ["PValue", "Levene"]ℋ["TestStatistic", "Levene"]data = RandomVariate[NormalDistribution[], {4, 100}];ℋ = VarianceEquivalenceTest[data, "HypothesisTestData"];ℋ[{"PValue", "BrownForsythe"}, {"TestStatistic", "BrownForsythe"}]レポート (4)
data = RandomVariate[NormalDistribution[], {2, 10^3}];ℋ = VarianceEquivalenceTest[data, "HypothesisTestData"];ℋ["TestDataTable"]ℋ["TestDataTable", All]ℋ["TestDataTable", {"Bartlett", "BrownForsythe"}]data = BlockRandom[SeedRandom[1];RandomVariate[NormalDistribution[], {2, 10^3}]];ℋ = VarianceEquivalenceTest[data, "HypothesisTestData"];res = ℋ["TestData", All];ℋ["AllTests"]
値が0.05より大きいので,このレベルでは正規性を退けるのに十分な証拠はない:
Show[BarChart[res[[All, 2]], ChartLabels -> Placed[ℋ["AllTests"], Center], BarOrigin -> Left], Graphics[{Dashed, InfiniteLine[{{.05, 0}, {.05, 1}}]}]]data = RandomVariate[NormalDistribution[], {2, 10^4}];ℋ = VarianceEquivalenceTest[data, "HypothesisTestData"];ℋ["PValueTable", "Levene"]ℋ["PValue", "Levene"]ℋ["PValueTable", All]ℋ["PValueTable", {"Levene", "Bartlett", "BrownForsythe"}]data = RandomVariate[CauchyDistribution[1, 2], {3, 10^3}];ℋ = VarianceEquivalenceTest[data, "HypothesisTestData"];ℋ["TestStatisticTable"]ℋ["TestStatistic"]ℋ["TestStatisticTable", All]オプション (6)
SignificanceLevel (3)
data = BlockRandom[SeedRandom[1];RandomVariate[StudentTDistribution[3], {2, 50}]];VarianceEquivalenceTest[data, "FisherRatio", SignificanceLevel -> .005]VarianceEquivalenceTest[data, "FisherRatio", SignificanceLevel -> Automatic]有意水準を設定することによって自動的にどの検定が選ばれるかが変わることがある:
data = BlockRandom[SeedRandom[1];RandomVariate[StudentTDistribution[3], {3, 50}]];VarianceEquivalenceTest[data, "AutomaticTest", SignificanceLevel -> .005]VarianceEquivalenceTest[data, "AutomaticTest", SignificanceLevel -> Automatic]有意水準は"TestConclusion"と"ShortTestConclusion"にも使われる:
data = BlockRandom[SeedRandom[10];RandomVariate[NormalDistribution[0, 1], {3, 100}]];ℋ1 = VarianceEquivalenceTest[data, "HypothesisTestData", SignificanceLevel -> .05];ℋ2 = VarianceEquivalenceTest[data, "HypothesisTestData", SignificanceLevel -> .01];ℋ1["TestConclusion"]//TraditionalFormℋ2["TestConclusion"]//TraditionalFormℋ1["ShortTestConclusion"]ℋ2["ShortTestConclusion"]VerifyTestAssumptions (3)
診断は,AllかNoneを使ってまとめて制御することができる:
data = RandomVariate[StudentTDistribution[3], {4, 1000}];VarianceEquivalenceTest[data, "Bartlett", VerifyTestAssumptions -> All]VarianceEquivalenceTest[data, "Bartlett", VerifyTestAssumptions -> None]data = RandomVariate[StudentTDistribution[3], {4, 1000}];VarianceEquivalenceTest[data, "Bartlett", VerifyTestAssumptions -> "Symmetry"]VarianceEquivalenceTest[data, "Bartlett", VerifyTestAssumptions -> "Normality"]data = RandomVariate[CauchyDistribution[0, 1], {3, 100}];VarianceEquivalenceTest[data, "TestDataTable"]VarianceEquivalenceTest[data, "TestDataTable", VerifyTestAssumptions -> "Normality" -> True]データが正規分布に従っていなかったため,上記ではConover検定が選ばれた:
VarianceEquivalenceTest[data, {"TestDataTable", "Levene"}]アプリケーション (2)
data1 = Table[RandomVariate[NormalDistribution[0, σ], 100], {σ, RandomReal[{.5, 10}, 8]}];data2 = Table[RandomVariate[NormalDistribution[0, σ], 100], {σ, RandomReal[{.95, 1.05}, 8]}];{BoxWhiskerChart[data1], BoxWhiskerChart[data2]}最初のデータ集合群は全く異なる分散を持つ母集団から引き出された:
VarianceEquivalenceTest[data1, "TestDataTable"]VarianceEquivalenceTest[data2, "TestDataTable"]LocationEquivalenceTestを使っていくつかのデータ集合の平均を同時に比べることができるが,データ集合は共通の分散を持っていなければならない:
BlockRandom[SeedRandom[1];
data1 = RandomVariate[NormalDistribution[1, 1], 100];
data2 = RandomVariate[NormalDistribution[1.5, 1], 100];
data3 = RandomVariate[NormalDistribution[.25, 1], 100];
]SmoothHistogram[{data1, data2, data3}]VarianceEquivalenceTestを使って分散が等しいかどうかを調べる:
VarianceEquivalenceTest[{data1, data2, data3}, "TestDataTable"]LocationEquivalenceTestを使って平均を比べることができる:
LocationEquivalenceTest[{data1, data2, data3}, "TestDataTable"]特性と関係 (5)
Brown–Forsythe検定とルベーン(Levene)検定は等しいが,異なる標準化関数を使う:
data = RandomVariate[NormalDistribution[], {3, 100}];BFL[data_, f_] := Block[{n = Length /@ data, k = Length[data], nt, μZ, z, μZZ},
nt = Total[n];
z = Abs@Table[Standardize[i, f, 1&], {i, data}];
μZ = Mean /@ z;
μZZ = (n/nt).μZ;
((nt - k)/k - 1)(n.(μZ - μZZ)^2/Total[(z - μZ)^2, Infinity])]ルベーン検定はMeanを使ってデータを標準化する:
BFL[data, Mean]VarianceEquivalenceTest[data, {"TestStatistic", "Levene"}]Brown–Forsythe検定は通常Medianを使う:
BFL[data, Median]VarianceEquivalenceTest[data, {"TestStatistic", "BrownForsythe"}]裾部の重いデータについては,10%のTrimmedMeanが代りに使われる:
data2 = RandomVariate[CauchyDistribution[0, 1], {3, 100}];BFL[data2, TrimmedMean[#, .1]&]VarianceEquivalenceTest[data2, {"TestStatistic", "BrownForsythe"}, VerifyTestAssumptions -> None]
個のデータ集合と
個の合計観察について,Brown–Forsythe検定とルベーン検定はどちらも
においてFRatioDistribution[k-1,n-k]に従う:
data = RandomVariate[NormalDistribution[], {1000, 3, 100}];{bf, lv} = Transpose[(VarianceEquivalenceTest[#, {"TestStatistic", {"BrownForsythe", "Levene"}}, VerifyTestAssumptions -> None]& /@ data)];df = VarianceEquivalenceTest[data[[1]], {"DegreesOfFreedom", "Levene"}]Show[Plot[PDF[FRatioDistribution@@df, x], {x, 0, 5}, PlotRange -> All], Histogram[{bf, lv}, Automatic, "PDF"]]DistributionFitTest[bf, FRatioDistribution[df[[1]], df[[2]]]]DistributionFitTest[lv, FRatioDistribution[df[[1]], df[[2]]]]k = 4;data = RandomVariate[NormalDistribution[], {k, 1000}];bart[dataSets_] := Block[{n = Length /@ dataSets, nt, v = Variance /@ dataSets, k = Length[dataSets], Sp},
nt = Total[n];
n = n - 1;
Sp = Log[(n.v/nt - k)];
( (k - nt) Sp + n.Log[v]/(1/3 - 3 k)(Total[(1/n)] - (1/nt - k)) - 1)]bart[data]VarianceEquivalenceTest[data, {"TestStatistic", "Bartlett"}, VerifyTestAssumptions -> None]
において検定統計はChiSquareDistribution[k-1]に従う:
data2 = RandomVariate[NormalDistribution[], {10000, k, 100}];bTest = bart /@ data2;Show[Plot[PDF[𝒟 = ChiSquareDistribution[k - 1], x], {x, 0, 15}, PlotRange -> All], SmoothHistogram[bTest, PlotStyle -> Orange]]DistributionFitTest[bTest, 𝒟]分散の等価性検定は,入力がTimeSeriesのときはタイムスタンプを無視する:
ts1 = TemporalData[TimeSeries, {{{1.224578634529677, 0.47929635789978015, 0.6572781300178168,
0.21496048742669355, 0.7299608014554928, -0.2495111111278263, -1.3286551762002712,
0.552725018274874, 0.19272112205837066, 1.1809144012420882, -1.1671 ... 40938613662046, 1.052394590214582, 0.9345044123980388, 0.38537803109557855,
-0.48660931166089394, -0.71203560340161}}, {{0, 100, 1}}, 1, {"Continuous", 1},
{"Discrete", 1}, 1, {ValueDimensions -> 1, ResamplingMethod -> None}}, False, 10.1];ts2 = TemporalData[TimeSeries, {{{-1.2160757838495546, 0.5212591188357838, -0.0932747538180776,
-2.306367634798702, -2.5366722726947994, -0.7924813212437647, -2.65435901675047,
-1.1098678592653723, -0.7814091835518528, -1.9685555851254093, -0.0 ... 1001061264, -0.1887471329804458, -2.0547107874294928, -1.3896240275653011,
-0.5073077090484948, 0.13302942350391606}}, {{0, 100, 1}}, 1, {"Continuous", 1},
{"Discrete", 1}, 1, {ValueDimensions -> 1, ResamplingMethod -> None}}, False, 10.1];VarianceEquivalenceTest[{ts1, ts2}]VarianceEquivalenceTest[{ts1["Values"], ts2["Values"]}]分散の等価性検定は,TemporalDataの経路構造を認識する:
td = TemporalData[Automatic, {{{0.6327956976018951, 0.49307164456668334, -0.11865815946302549,
-1.6346246228913748, -1.8053674367955113, -1.0171193599509663, -1.713536030590108,
-0.2441834126183119, 1.468610531363788, 2.5403283801476966, 0.862 ... 135928877112, 0.8411464201445826, 0.36308201253335104, -0.45737292436875443,
0.289078430933834, 0.12996366812717347}}, {{0, 100, 1}}, 4, {"Continuous", 4}, {"Discrete", 1},
1, {ValueDimensions -> 1, ResamplingMethod -> None}}, False, 10.1];VarianceEquivalenceTest[td]VarianceEquivalenceTest[td["ValueList"]]考えられる問題 (2)
フィッシャー(Fisher)の比率検定は2つのデータ集合を必要とする:
data = RandomVariate[NormalDistribution[], {3, 100}];VarianceEquivalenceTest[data, {"TestDataTable", "FisherRatio"}]VarianceEquivalenceTest[data, {"TestDataTable", {"Conover", "Bartlett", "Levene", "BrownForsythe"}}]Conover検定だけは,データが正規分布に従うことを仮定しない:
data = RandomVariate[LaplaceDistribution[1, 2], {2, 100}];VarianceEquivalenceTest[data, {"TestDataTable", {"FisherRatio", "Bartlett", "Levene", "BrownForsythe"}}]
VarianceEquivalenceTest[data, {"TestDataTable", "Conover"}]おもしろい例題 (1)
data1 = RandomVariate[NormalDistribution[], {1500, 100}];
data2 = RandomVariate[NormalDistribution[1, 1], {1500, 100}];T1 = MapThread[VarianceEquivalenceTest[{#1, #2}, "TestStatistic"]&, {data1, data2}];data3 = RandomVariate[NormalDistribution[0, .75], {1500, 100}];T2 = MapThread[VarianceEquivalenceTest[{#1, #2}, "TestStatistic"]&, {data1, data3}];SmoothHistogram[{T1, T2}, Filling -> Axis, PlotLegends -> {"SubscriptBox[H, 0]は真", "SubscriptBox[H, 0]は偽"}, PlotRange -> All]関連するガイド
-
▪
- 仮説検定
テキスト
Wolfram Research (2010), VarianceEquivalenceTest, Wolfram言語関数, https://reference.wolfram.com/language/ref/VarianceEquivalenceTest.html.
CMS
Wolfram Language. 2010. "VarianceEquivalenceTest." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/VarianceEquivalenceTest.html.
APA
Wolfram Language. (2010). VarianceEquivalenceTest. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/VarianceEquivalenceTest.html
BibTeX
@misc{reference.wolfram_2026_varianceequivalencetest, author="Wolfram Research", title="{VarianceEquivalenceTest}", year="2010", howpublished="\url{https://reference.wolfram.com/language/ref/VarianceEquivalenceTest.html}", note=[Accessed: 04-November-2026]}
BibLaTeX
@online{reference.wolfram_2026_varianceequivalencetest, organization={Wolfram Research}, title={VarianceEquivalenceTest}, year={2010}, url={https://reference.wolfram.com/language/ref/VarianceEquivalenceTest.html}, note=[Accessed: 04-November-2026]}