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


data 

{data1,data2} 

- 其中 σi2 是 datai 的总体方差.
- 默认情况下,返回一个概率值或者
值. - 一个较小的
值表明
不可能为真. - dspec 中的 data 必须是单变量 {x1,x2,…}.
- 变量
可以是任意正实数. - FisherRatioTest 要求数据服从正态分布.
- FisherRatioTest[data,
,"HypothesisTestData"] 返回一个 HypothesisTestData 对象 htd,可以使用 htd["property"] 的形式提取额外检验结果和属性. - FisherRatioTest[data,
,"property"] 可以用来直接给出 "property" 值. - 与检验结果报告相关的属性包括:
-
"DegreesOfFreedom" 检验中所用的自由度 "PValue"
值列表"PValueTable"
值组成的格式化表格"ShortTestConclusion" 检验结论的简短描述 "TestConclusion" 检验结论的描述 "TestData" 检验统计量和
值对组成的列表"TestDataTable"
值和检验统计量组成的格式化表格"TestStatistic" 检验统计量组成的列表 "TestStatisticTable" 检验统计量组成的格式化的表格 - 当样本数
给定,检验统计量基于
,并且在
下,假定服从 ChiSquareDistribution[n-1]. - 当给出的两个样本数分别为
和
时,检验统计量基于
,并且在
下假定服从FRatioDistribution[n-1,m-1]. - FisherRatioTest 通常称为用于相等方差的 F-检验.
- 可以使用下来选项:
-
AlternativeHypothesis "Unequal" 备择假设的不等性 SignificanceLevel 0.05 用于诊断和报告的分界点 VerifyTestAssumptions Automatic 设置要运行哪个诊断检验 - 对于 FisherRatioTest,选择一个临界值
,使得只有当
时,拒绝
. 用于 "TestConclusion" 和 "ShortTestConclusion" 属性的
值由 SignificanceLevel 选项控制. 值
也用于包含正态性和对称性的假设诊断检验. 默认情况下,
设置为 0.05. - 在 FisherRatioTest 中 VerifyTestAssumptions 的已命名设置包括:
-
"Normality" 验证所有数据是否服从正态分布
范例
打开所有单元 关闭所有单元基本范例 (2)
data = RandomVariate[NormalDistribution[], {2, 100}];htd = FisherRatioTest[data]创建一个 HypothesisTestData 对象,用于进一步的属性提取:
ℋ = FisherRatioTest[data, Automatic, "HypothesisTestData"]ℋ["Properties"]data = RandomVariate[NormalDistribution[1, 2.1], 10^3];FisherRatioTest[data, 4, "TestDataTable"]Variance[data]FisherRatioTest[data, 4, "TestDataTable", AlternativeHypothesis -> "Greater"]范围 (9)
检验 (7)
data1 = RandomVariate[NormalDistribution[], 500];
data2 = RandomVariate[NormalDistribution[1, .3], 500];FisherRatioTest[data1]FisherRatioTest[data2]data1 = RandomVariate[NormalDistribution[0, 2], 10^4];
data2 = RandomVariate[NormalDistribution[0, 2.1], 10^4];FisherRatioTest[data1, 2^2]FisherRatioTest[data2, 2^2]data1 = RandomVariate[NormalDistribution[0, 3], 500];
data2 = RandomVariate[NormalDistribution[1, 3], 500];
data3 = RandomVariate[NormalDistribution[10, 1], 350];FisherRatioTest[{data1, data2}]FisherRatioTest[{data1, data3}]data1 = RandomVariate[NormalDistribution[0, 2], 500];
data2 = RandomVariate[NormalDistribution[0, 1], 500];Subscript[σ, 0] = 4;FisherRatioTest[{data2, data1}, 1 / Subscript[σ, 0]]FisherRatioTest[{data1, data2}, Subscript[σ, 0]]FisherRatioTest[{data2, data1}, Subscript[σ, 0]]创建一个 HypothesisTestData 对象,以进行重复属性提取:
data = RandomVariate[NormalDistribution[], {2, 10^4}];ℋ = FisherRatioTest[data, 1, "HypothesisTestData"];ℋ["Properties"]从一个 HypothesisTestData 对象提取某些属性:
data = RandomVariate[NormalDistribution[], {2, 10^4}];ℋ = FisherRatioTest[data, 1, "HypothesisTestData"];ℋ["PValue"]ℋ["TestStatistic"]ℋ["DegreesOfFreedom"]data = RandomVariate[NormalDistribution[], {2, 100}];ℋ = FisherRatioTest[data, 1, "HypothesisTestData"];ℋ["PValue", "TestStatistic", "DegreesOfFreedom"]报告 (2)
data = RandomVariate[NormalDistribution[], {2, 10^3}];ℋ = FisherRatioTest[data, 1, "HypothesisTestData"];ℋ["TestDataTable"]ℋ["TestData"]data = RandomVariate[NormalDistribution[], {2, 10^4}];ℋ = FisherRatioTest[data, 1, "HypothesisTestData"];ℋ["PValueTable"]ℋ["PValue"]ℋ["TestStatisticTable"]ℋ["TestStatistic"]选项 (8)
AlternativeHypothesis (3)
data = RandomVariate[NormalDistribution[], 100];FisherRatioTest[data, 1, AlternativeHypothesis -> "Unequal"]FisherRatioTest[data, 1, AlternativeHypothesis -> Automatic]data = RandomVariate[NormalDistribution[0, 1.25], 100];FisherRatioTest[data, Automatic, AlternativeHypothesis -> "Unequal"]FisherRatioTest[data, Automatic, AlternativeHypothesis -> "Less"]FisherRatioTest[data, Automatic, AlternativeHypothesis -> "Greater"]data1 = RandomVariate[NormalDistribution[0, .9], 100];
data2 = RandomVariate[NormalDistribution[0, 1], 100];Variance[data1] / Variance[data2]FisherRatioTest[{data1, data2}, 1, AlternativeHypothesis -> "Less"]FisherRatioTest[{data1, data2}, 1.5, AlternativeHypothesis -> "Less"]SignificanceLevel (2)
data = BlockRandom[SeedRandom[5];RandomVariate[StudentTDistribution[3], 50]];FisherRatioTest[data, 1, SignificanceLevel -> .005]FisherRatioTest[data, 1, SignificanceLevel -> Automatic]对 "TestConclusion" 和 "ShortTestConclusion" 也使用显著性水平:
data = BlockRandom[SeedRandom[1];RandomVariate[NormalDistribution[0, 1], 100]];ℋ1 = FisherRatioTest[data, 1.5, "HypothesisTestData", SignificanceLevel -> .05];ℋ2 = FisherRatioTest[data, 1.5, "HypothesisTestData", SignificanceLevel -> .01];ℋ1["TestConclusion"]//TraditionalFormℋ2["TestConclusion"]//TraditionalFormℋ1["ShortTestConclusion"]ℋ2["ShortTestConclusion"]VerifyTestAssumptions (3)
data1 = RandomVariate[StudentTDistribution[3], 1000];
data2 = RandomVariate[NormalDistribution[0, Sqrt[3]], 1000];FisherRatioTest[{data1, data2}, 1 / 4, VerifyTestAssumptions -> All]FisherRatioTest[{data1, data2}, 1 / 4, VerifyTestAssumptions -> None]data1 = RandomVariate[StudentTDistribution[3], 1000];
data2 = RandomVariate[NormalDistribution[0, Sqrt[3]], 1000];FisherRatioTest[{data1, data2}, 1 / 4, VerifyTestAssumptions -> "Normality"]把正态性假定设为 True:
FisherRatioTest[{data1, data2}, 1 / 4, VerifyTestAssumptions -> "Normality" -> True]data = RandomVariate[NormalDistribution[], {1000, 100}];AbsoluteTiming[T = Quiet@FisherRatioTest[#, Automatic, "TestStatistic"]& /@ data;]AbsoluteTiming[T2 = FisherRatioTest[#, Automatic, "TestStatistic", VerifyTestAssumptions -> None]& /@ data;]SmoothHistogram[{T, T2}]应用 (1)
某实验室考虑将一个电压表用更准确的电表替换. 新电表的制造商允许进行统计检验以确定它的有效性. 一位实验室技术人员测量由 15 个电压设为 9 伏的电源产生的电压:
Subscript[m, old] = QuantityArray[{10.37, 8.28, 9.04, 8.96, 9.36, 8.18, 8.92, 8.44, 8.9, 9.82, 6.94, 9.67, 9.38, 10.43, 8.26}, "Volts"];Subscript[m, new] = QuantityArray[{9.52, 8.85, 9.17, 9.15, 9.19, 8.70, 9.09, 8.88, 8.98, 9.36, 8.19, 9.32, 9.26, 9.61, 8.73}, "Volts"];SmoothHistogram[{Subscript[m, old], Subscript[m, new]}//QuantityMagnitude]PairedTTest 的结果表明来自两个电表的读数没有显著差异:
PairedTTest[{Subscript[m, old], Subscript[m, new]}, Quantity[0, "Volts"], "TestDataTable"]FisherRatioTest[{Subscript[m, new], Subscript[m, old]}, 1, "TestDataTable", AlternativeHypothesis -> "Less"]属性和关系 (8)
Fisher ratio 检验等价于单个数据集的 LeveneTest:
data = RandomVariate[NormalDistribution[], 100];FisherRatioTest[data]LeveneTest[data]它也等价于单个数据集的 BrownForsytheTest:
BrownForsytheTest[data]给定长度为
的单个数据集,在
下检验统计量服从 ChiSquareDistribution[n-1]:
data = RandomVariate[NormalDistribution[], {1000, 100}];T = FisherRatioTest[#, Automatic, "TestStatistic", VerifyTestAssumptions -> None]& /@ data;Show[SmoothHistogram[T, PlotStyle -> Orange], Plot[PDF[ChiSquareDistribution[99], x], {x, 50, 160}], PlotRange -> All]EstimatedDistribution[T, ChiSquareDistribution[df]]DistributionFitTest[T, ChiSquareDistribution[99]]对于双样本,FisherRatioTest 的检验统计量:
Subscript[σ, 1] = 1;Subscript[σ, 2] = 3;data1 = RandomVariate[NormalDistribution[0, Sqrt@Subscript[σ, 1]], 50];
data2 = RandomVariate[NormalDistribution[0, Sqrt@Subscript[σ, 2]], 70];(Subscript[σ, 2]/Subscript[σ, 1])(Variance[data1]/ Variance[data2])FisherRatioTest[{data1, data2}, Subscript[σ, 1] / Subscript[σ, 2], "TestStatistic"]给定长度分别为
和
的两个数据集,在
下,检验统计量服从一个 FRatioDistribution[n-1,m-1]:
data1 = RandomVariate[NormalDistribution[], {1000, 100}];
data2 = RandomVariate[NormalDistribution[], {1000, 75}];T = MapThread[FisherRatioTest[{#1, #2}, Automatic, "TestStatistic", VerifyTestAssumptions -> None]&, {data1, data2}];Show[SmoothHistogram[T, PlotStyle -> Orange], Plot[PDF[FRatioDistribution[99, 74], x], {x, 0, 2}]]DistributionFitTest[T, FRatioDistribution[99, 74]]data = RandomVariate[ExponentialDistribution[10], {1000, 100}];Subscript[σ, 0] = Variance[ExponentialDistribution[10]]T = FisherRatioTest[#, Subscript[σ, 0], "TestStatistic", VerifyTestAssumptions -> None]& /@ data;检验统计量的分布不是一个 ChiSquareDistribution[n-1]:
Show[SmoothHistogram[T, PlotStyle -> Orange, PlotRange -> {0, .03}], Plot[PDF[ChiSquareDistribution[99], x], {x, 50, 160}]]对于样本数为
、样本方差为
并且服从 NormalDistribution[μ,σ] 的样本,随机变量
服从 ChiSquareDistribution[n-1]:
𝒟 = TransformedDistribution[((x - μ)^2/σ^2), xNormalDistribution[μ, σ]];MomentGeneratingFunction[𝒟, t]^n - 1 == MomentGeneratingFunction[ChiSquareDistribution[n - 1], t]下面服从 FRatioDistribution[n-1,m-1]:
f = (((n - 1)Subscript[s, 1]^2/σ^2) / (n - 1)) / (((m - 1)Subscript[s, 2]^2/σ^2) / (m - 1))TransformedDistribution[(x / (n - 1)/y / (m - 1)), {xChiSquareDistribution[n - 1], yChiSquareDistribution[m - 1]}]FisherRatioTest 的检验统计量服从 FRatioDistribution[n-1,m-1]:
{Subscript[s, 1], Subscript[s, 2]} = StandardDeviation[data = RandomVariate[NormalDistribution[], {100, 2}]];(Subscript[s, 1]^2/Subscript[s, 2]^2)FisherRatioTest[Transpose@data, Automatic, "TestStatistic"]只有当输入是 TimeSeries 时,Fisher ratio 检验作用于数值:
ts = 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];FisherRatioTest[ts]FisherRatioTest[ts["Values"]]当输入是 TemporalData 时,Fisher ratio 检验作用于所有数值:
td = TemporalData[Automatic, {{{-0.25275046867718637, -0.7175779198306353, -1.9370139837317764,
0.006665621735740701, -0.3730807122324292, 0.6740106823161018, 0.8562214990564344,
0.955785083955732, 1.7020898014886303, 1.8523009430646802, 0.244 ... 3951759101545, -1.1611722313627828, 1.1602446901533021,
1.1052173095128992, 1.1089143920161917, -0.13837156328402}}, {{0, 100, 1}}, 2,
{"Continuous", 2}, {"Discrete", 1}, 1, {ValueDimensions -> 1, ResamplingMethod -> None}}, False,
10.1];FisherRatioTest[td]data = td["ValueList"]//Flatten;
FisherRatioTest[data]{data1, data2} = td["ValueList"];FisherRatioTest[{data1, data2}]可能存在的问题 (1)
data = RandomVariate[CauchyDistribution[0, 1], {2, 100}];FisherRatioTest[data]当数据不服从正态分布时,使用 ConoverTest 或者 SiegelTukeyTest:
ConoverTest[data]SiegelTukeyTest[data]巧妙范例 (1)
data = RandomVariate[NormalDistribution[], {2500, 100}];T1 = FisherRatioTest[#, 1, "TestStatistic", VerifyTestAssumptions -> None]& /@ data;T2 = FisherRatioTest[#, 3, "TestStatistic", VerifyTestAssumptions -> None]& /@ data;SmoothHistogram[{T1, T2}, Filling -> Axis, PlotLegends -> {"SubscriptBox[H, 0] is True", "SubscriptBox[H, 0] is False"}, PlotStyle -> Thick]相关指南
-
▪
- 假设检验
文本
Wolfram Research (2010),FisherRatioTest,Wolfram 语言函数,https://reference.wolfram.com/language/ref/FisherRatioTest.html.
CMS
Wolfram 语言. 2010. "FisherRatioTest." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/FisherRatioTest.html.
APA
Wolfram 语言. (2010). FisherRatioTest. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/FisherRatioTest.html 年
BibTeX
@misc{reference.wolfram_2026_fisherratiotest, author="Wolfram Research", title="{FisherRatioTest}", year="2010", howpublished="\url{https://reference.wolfram.com/language/ref/FisherRatioTest.html}", note=[Accessed: 05-October-2026]}
BibLaTeX
@online{reference.wolfram_2026_fisherratiotest, organization={Wolfram Research}, title={FisherRatioTest}, year={2010}, url={https://reference.wolfram.com/language/ref/FisherRatioTest.html}, note=[Accessed: 05-October-2026]}