ConoverTest[{data1,data2,…}]
检验 data1 和 data2 的方差是否相等.
ConoverTest[dspec,
]
检验一个离散量数和
的关系.
ConoverTest[dspec,
,"property"]
返回 "property" 的值.
ConoverTest
ConoverTest[{data1,data2,…}]
检验 data1 和 data2 的方差是否相等.
ConoverTest[dspec,
]
检验一个离散量数和
的关系.
ConoverTest[dspec,
,"property"]
返回 "property" 的值.
更多信息和选项
- ConoverTest 检验零假设
与备择假设
: -


{data1,data2} 

{data1,data2,…} 
不是都相等 - 其中 σi2 是 datai 的总体方差.
- 默认情况下,返回一个概率值或者
值. - 一个较小的
值表明
不可能为真. - dspec 中的 data 必须是单变量 {x1,x2,…}.
- 变量
可以是任意正实数. 如果没有指定,
的默认值为 1,如果 dspec 中的组数大于 2,则将其忽略. - ConoverTest 假设 data 关于一个共同的中位数对称.
- ConoverTest[data,
,"HypothesisTestData"] 返回一个 HypothesisTestData 对象 htd,使用 htd["property"] 的形式可以用来提取额外检验结果和属性. - ConoverTest[data,
,"property"] 可以用于直接给出 "property" 值. - 与检验结果的报告相关的属性包括:
-
"PValue"
值组成的列表"PValueTable"
值组成的格式化表格"ShortTestConclusion" 检验结论的简短描述 "TestConclusion" 检验结论的描述 "TestData" 检验统计量和
值对组成的列表"TestDataTable"
值和检验统计量组成的格式化表格"TestStatistic" 检验统计量组成的列表 "TestStatisticTable" 检验统计量组成的格式化表格 - 检验统计量基于样本中位数绝对偏差的平方等级.
- 对于有
个样本的情况,
,其中 datai={xi,1,xi,2,…,xi,ni},值 xi,j 的秩 ri,j 是 zi,j 在所有元素 {zi,j}1≤i≤k,1≤j≤ni 中的秩,其中 zi,j=Abs[xi,j-Median[datai]].
等于 2 时,检验统计量为
,
大于 2 时,为
,其中
,
,
. - 在零假设
条件下,
等于 2 时,假定 ConoverTest 的检验统计量服从 NormalDistribution[0,1],
大于 2 时,服从 ChiSquareDistribution[k-1]. - ConoverTest 有时候被称为平方秩检验,并且当 datai 不服从正态分布时,可以作为 FisherRatioTest 的一种可能的替换.
- 可以使用以下选项:
-
AlternativeHypothesis "Unequal" 备择假定的不等性 SignificanceLevel 0.05 用于诊断和报告的分界点 VerifyTestAssumptions Automatic 设置要运行哪个诊断检验 - 对于 ConoverTest,选择一个临界值
,使得只有当
时,拒绝
. 用于 "TestConclusion" 和 "ShortTestConclusion" 属性的
值由 SignificanceLevel 选项控制.
值也用于包括对称性检验的假设的诊断检验中. 默认情况下,
设置为 0.05. - 在 ConoverTest 中,VerifyTestAssumptions 的已命名设置包括:
-
"Symmetry" 验证所有数据都是对称的
范例
打开所有单元 关闭所有单元基本范例 (2)
data = RandomVariate[LaplaceDistribution[1, 2], {2, 100}];ConoverTest[data]创建一个 HypothesisTestData 对象,用于进一步的属性提取:
ℋ = ConoverTest[data, Automatic, "HypothesisTestData"]ℋ["Properties"]data1 = RandomVariate[NormalDistribution[0, 1], 100];
data2 = RandomVariate[NormalDistribution[0, 2.5], 250];ConoverTest[{data1, data2}, 1 / 4, "TestDataTable"]Variance[data1] / Variance[data2]ConoverTest[{data1, data2}, 1 / 4, AlternativeHypothesis -> "Less"]范围 (8)
检验 (6)
data1 = RandomVariate[NormalDistribution[0, 3], 500];
data2 = RandomVariate[NormalDistribution[1, 3], 500];ConoverTest[{data1, data2}]sample = Table[Quiet@ConoverTest[{RandomVariate[NormalDistribution[0, 3], 100], RandomVariate[NormalDistribution[1, 3], 100]}], {5 10 ^ 3}];Histogram[sample, Automatic, PDF]data3 = RandomVariate[NormalDistribution[10, 1], 350];ConoverTest[{data1, data3}]data1 = RandomVariate[NormalDistribution[0, 2], 500];
data2 = RandomVariate[NormalDistribution[0, 1], 500];Subscript[σ, 0] = 4;ConoverTest[{data1, data2}, Subscript[σ, 0]]ConoverTest[{data2, data1}, 1 / Subscript[σ, 0]]ConoverTest[{data2, data1}, Subscript[σ, 0]]data1 = RandomVariate[NormalDistribution[10, 1], 500];
data2 = RandomVariate[NormalDistribution[0, 1], 200];
data3 = RandomVariate[NormalDistribution[-3, 1], 400];ConoverTest[{data1, data2, data3}]创建一个 HypothesisTestData 对象,用于重复属性提取:
data = RandomVariate[NormalDistribution[], {2, 10^4}];ℋ = ConoverTest[data, 1, "HypothesisTestData"];ℋ["Properties"]从一个 HypothesisTestData 对象提取某些属性:
data = RandomVariate[NormalDistribution[], {2, 10^4}];ℋ = ConoverTest[data, 1, "HypothesisTestData"];ℋ["PValue"]ℋ["TestStatistic"]data = RandomVariate[NormalDistribution[], {2, 100}];ℋ = ConoverTest[data, 1, "HypothesisTestData"];ℋ["PValue", "TestStatistic"]报告 (2)
data = RandomVariate[NormalDistribution[], {2, 10^3}];ℋ = ConoverTest[data, 1, "HypothesisTestData"];ℋ["TestDataTable"]ℋ["TestData"]data = RandomVariate[NormalDistribution[], {3, 10^4}];ℋ = ConoverTest[data, 1, "HypothesisTestData"];ℋ["PValueTable"]ℋ["PValue"]ℋ["TestStatisticTable"]ℋ["TestStatistic"]选项 (6)
AlternativeHypothesis (3)
data = RandomVariate[NormalDistribution[], {2, 100}];ConoverTest[data, 1, AlternativeHypothesis -> "Unequal"]ConoverTest[data, 1, AlternativeHypothesis -> Automatic]data1 = RandomVariate[NormalDistribution[0, 1], 100];
data2 = RandomVariate[NormalDistribution[0, 1.5], 100];Variance[data1] / Variance[data2]ConoverTest[{data1, data2}, 1, AlternativeHypothesis -> "Unequal"]ConoverTest[{data1, data2}, 1, AlternativeHypothesis -> "Less"]ConoverTest[{data1, data2}, 1, AlternativeHypothesis -> "Greater"]data1 = RandomVariate[NormalDistribution[0, .9], 100];
data2 = RandomVariate[NormalDistribution[0, 1], 100];Variance[data1] / Variance[data2]ConoverTest[{data1, data2}, .75, AlternativeHypothesis -> "Less"]ConoverTest[{data1, data2}, 1.5, AlternativeHypothesis -> "Less"]SignificanceLevel (1)
对 "TestConclusion" 和 "ShortTestConclusion" 也使用显著性水平:
data = BlockRandom[SeedRandom[1];RandomVariate[NormalDistribution[0, 1], {2, 100}]];ℋ1 = ConoverTest[data, 2, "HypothesisTestData", SignificanceLevel -> .05];ℋ2 = ConoverTest[data, 2, "HypothesisTestData", SignificanceLevel -> .01];ℋ1["TestConclusion"]ℋ2["TestConclusion"]ℋ1["ShortTestConclusion"]ℋ2["ShortTestConclusion"]VerifyTestAssumptions (2)
BlockRandom[SeedRandom[4];data1 = RandomVariate[ExponentialDistribution[1 / Sqrt[3]], 1000];
data2 = RandomVariate[NormalDistribution[0, Sqrt[3]], 1000]];ConoverTest[{data1, data2}, 1 / 4, VerifyTestAssumptions -> All]ConoverTest[{data1, data2}, 1 / 4, VerifyTestAssumptions -> None]BlockRandom[SeedRandom[2];data1 = RandomVariate[ExponentialDistribution[1 / Sqrt[3]], 1000];
data2 = RandomVariate[NormalDistribution[0, Sqrt[3]], 1000]];ConoverTest[{data1, data2}, 1 / 4, VerifyTestAssumptions -> "Symmetry"]设置对称假设为 True:
ConoverTest[{data1, data2}, 1 / 4, VerifyTestAssumptions -> "Symmetry" -> True]应用 (1)
比较 90 年代前期和 90 年代后期标普 500 指数的每日点变化的方差:
sp90to95 = FinancialData["SP500", {{1990, 1}, {1994, 12, 31}}];
sp95to00 = FinancialData["SP500", {{1995, 1}, {1999, 12, 31}}];DateListPlot[{sp90to95, sp95to00}]DistributionFitTest /@ {spA = Differences[sp90to95], spB = Differences[sp95to00]}SmoothHistogram[{spA, spB}, PlotRange -> All]ConoverTest[{spA, spB}, 1, "TestDataTable"]属性和关系 (8)
在
下,当组数为 2 时,检验统计量服从 NormalDistribution[0,1]:
data1 = RandomVariate[NormalDistribution[-5, 1], {1000, 100}];
data2 = RandomVariate[NormalDistribution[3, 1], {1000, 400}];T = MapThread[ConoverTest[{#1, #2}, Automatic, "TestStatistic", VerifyTestAssumptions -> None]&, {data1, data2}];Show[Plot[PDF[NormalDistribution[], x], {x, -4, 4}], SmoothHistogram[T, PlotStyle -> Orange]]DistributionFitTest[T, NormalDistribution[]]在零假设
条件下,当组数为
且
时,检验统计量服从 ChiSquareDistribution[k-1]:
data1 = RandomVariate[NormalDistribution[-5, 1], {2000, 600}];
data2 = RandomVariate[NormalDistribution[3, 1], {2000, 500}];
data3 = RandomVariate[NormalDistribution[2, 1], {2000, 400}];T = MapThread[ConoverTest[{#1, #2, #3}, Automatic, "TestStatistic", VerifyTestAssumptions -> None]&, {data1, data2, data3}];Show[Histogram[T, Automatic, "PDF"], Plot[PDF[ChiSquareDistribution[2], x], {x, 0, 8}]]DistributionFitTest[T, ChiSquareDistribution[2]]与 FisherRatioTest 不同,Conover 检验并不假定正态性成立:
data1 = RandomVariate[LaplaceDistribution[1, 2], {1000, 100}];
data2 = RandomVariate[LaplaceDistribution[1, 2], {1000, 75}];fisher = MapThread[FisherRatioTest[{#1, #2}, Automatic, VerifyTestAssumptions -> None]&, {data1, data2}];conover = MapThread[ConoverTest[{#1, #2}, Automatic, VerifyTestAssumptions -> None]&, {data1, data2}];FisherRatioTest 导致对
-值的低估:
Histogram[{fisher, conover}, Automatic, "PDF"]data1 = RandomVariate[d1 = NormalDistribution[0, ((25/6))^1 / 2], {1000, 50}];
data2 = RandomVariate[d2 = TriangularDistribution[{-10, 0}], {1000, 50}];Variance[d1] == Variance[d2]T = MapThread[ConoverTest[{#1, #2}, Automatic, "TestStatistic", VerifyTestAssumptions -> None]&, {data1, data2}];Show[Plot[PDF[NormalDistribution[], x], {x, -4, 4}], SmoothHistogram[T, PlotStyle -> Orange]]DistributionFitTest[T, NormalDistribution[]]ConoverTest 的检验统计量是基于秩的:
n = 1000;m = 750;Subscript[σ, 0] = 2;data1 = RandomVariate[NormalDistribution[1, Sqrt[6]], n];
data2 = RandomVariate[StudentTDistribution[3], m];在值不相等的情况下,可以使用 Ordering 计算秩:
ranks = Ordering[Ordering[Join[Abs[data1 - Median[data1]], Sqrt[Subscript[σ, 0]] Abs[data2 - Median[data2]]]]];R2 = (1/n + m)Underoverscript[∑, i = 1, n + m]ranks[[i]]^2;R4 = Underoverscript[∑, i = 1, n + m]ranks[[i]]^4;(Underoverscript[∑, i = 1, n]ranks[[i]]^2 - n R2) / Sqrt[(m n (-(m + n) R2^2 + R4)/(-1 + m + n) (m + n))]//NConoverTest[{data1, data2}, Subscript[σ, 0], "TestStatistic"]使用 PearsonChiSquareTest 检验数据关于共同的中位数的对称性:
data1 = RandomVariate[NormalDistribution[10, 1], 100];
data2 = RandomVariate[NormalDistribution[3, 2], 150];
data3 = RandomVariate[ExponentialDistribution[10], 135];SymmTest[d1_, d2_] := Block[{d = Sort[Flatten[{d1 - Median[d1], d2 - Median[d2]}]], c, symmDat}, c = Ceiling[(Length[d]/2)];symmDat = Join[d[[1 ;; c]], -d[[1 ;; c]]];PearsonChiSquareTest[symmDat, d]]SymmTest[data1, data2]ConoverTest[{data1, data2}, 1, "TestDataTable", VerifyTestAssumptions -> "Symmetry"]SymmTest[data2, data3]警告信息中的
值与 PearsonChiSquareTest 中的一致:
ConoverTest[{data2, data3}, 1, "TestDataTable", VerifyTestAssumptions -> "Symmetry"]当输入是 TimeSeries 时 Conover 检验将忽略时间戳:
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];ConoverTest[{ts1, ts2}]ConoverTest[{ts1["Values"], ts2["Values"]}]Conover 检验对具有正好两个路径的 TemporalData 的路径结构进行识别:
td = TemporalData[Automatic, {{{1.224578634529677, 0.47929635789978015, 0.6572781300178168,
0.21496048742669355, 0.7299608014554928, -0.2495111111278263, -1.3286551762002712,
0.552725018274874, 0.19272112205837066, 1.1809144012420882, -1.16711 ... 01061264, -0.1887471329804458, -2.0547107874294928,
-1.3896240275653011, -0.5073077090484948, 0.13302942350391606}}, {{0, 100, 1}}, 2,
{"Continuous", 2}, {"Discrete", 1}, 1, {ValueDimensions -> 1, ResamplingMethod -> None}}, False,
10.1];ConoverTest[td]ConoverTest[td["ValueList"]]可能存在的问题 (3)
data1 = RandomVariate[NormalDistribution[], 1000];
data2 = RandomVariate[NormalDistribution[10, 1], 1000];
data3 = RandomVariate[ParetoDistribution[1, 2], 1000];SmoothHistogram[Join[data1 - Median[data1], data2 - Median[data2]]]ConoverTest[{data1, data2}, VerifyTestAssumptions -> "Symmetry"]SmoothHistogram[Join[data2 - Median[data2], data3 - Median[data3]], PlotRange -> All]ConoverTest[{data2, data3}, VerifyTestAssumptions -> "Symmetry"]data = RandomVariate[NormalDistribution[1, 2], {4, 100}];Length[data]ConoverTest[data, 2, "TestDataTable"]当组数超过两个时,Conover 检验只允许对备择假设进行双侧检验
data = RandomVariate[NormalDistribution[1, 2], {4, 100}];ConoverTest[data, 1, AlternativeHypothesis -> "Unequal"]ConoverTest[data, 1, AlternativeHypothesis -> "Greater"]ConoverTest[data, 1, AlternativeHypothesis -> "Less"]巧妙范例 (1)
data1 = RandomVariate[NormalDistribution[], {250, 100}];
data2 = RandomVariate[NormalDistribution[], {250, 100}];T1 = MapThread[ConoverTest[{#1, #2}, 1, "TestStatistic"]&, {data1, data2}];T2 = MapThread[ConoverTest[{#1, #2}, 2, "TestStatistic"]&, {data1, data2}];SmoothHistogram[{T1, T2}, Filling -> Axis, PlotLegends -> {"SubscriptBox[H, 0] is True", "SubscriptBox[H, 0] is False"}]相关指南
-
▪
- 假设检验
文本
Wolfram Research (2010),ConoverTest,Wolfram 语言函数,https://reference.wolfram.com/language/ref/ConoverTest.html (更新于 2017 年).
CMS
Wolfram 语言. 2010. "ConoverTest." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2017. https://reference.wolfram.com/language/ref/ConoverTest.html.
APA
Wolfram 语言. (2010). ConoverTest. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/ConoverTest.html 年
BibTeX
@misc{reference.wolfram_2026_conovertest, author="Wolfram Research", title="{ConoverTest}", year="2017", howpublished="\url{https://reference.wolfram.com/language/ref/ConoverTest.html}", note=[Accessed: 05-September-2026]}
BibLaTeX
@online{reference.wolfram_2026_conovertest, organization={Wolfram Research}, title={ConoverTest}, year={2017}, url={https://reference.wolfram.com/language/ref/ConoverTest.html}, note=[Accessed: 05-September-2026]}