CorrelationTest[{{x1,y1},{x2,y2},…}]
检验一个二元总体的相关系数是否为零.
CorrelationTest[{{x1,y1},{x2,y2},…},ρ0]
检验相关系数是否为 ρ0.
CorrelationTest[{{x1,y1},{x2,y2},…},{{u1,v1},{u2,v2},…}]
检验两个总体的相关系数是否相等.
CorrelationTest[…,"property"]
返回 "property" 的值.
CorrelationTest
CorrelationTest[{{x1,y1},{x2,y2},…}]
检验一个二元总体的相关系数是否为零.
CorrelationTest[{{x1,y1},{x2,y2},…},ρ0]
检验相关系数是否为 ρ0.
CorrelationTest[{{x1,y1},{x2,y2},…},{{u1,v1},{u2,v2},…}]
检验两个总体的相关系数是否相等.
CorrelationTest[…,"property"]
返回 "property" 的值.
更多信息和选项
- CorrelationTest 检验零假设
与备择假设
: -





{{{x1,y1},{x2,y2},…},{{u1,v1},{u2,v2},…}} 

- 其中
是 {{x1,y1},{x2,y2},…} 的总体相关系数. - 默认情况下,返回概率值或
-值. - 小的
-值表示
不可能为真. - 数据 {{x1,y1},…} 和 {{u1,v1},…} 可以为任意的实值二元矩阵.
- 参数 ρ0 可以是任意满足
的实数. - CorrelationTest[{{x1,y1},{x2,y2},…},ρ0] 将选择适用于数据的最有功效的检验.
- CorrelationTest[…,All] 将选择适用于数据的所有检验.
- CorrelationTest[…,"test"] 根据 "test" 报告
-值. - 可以使用以下检验:
-
"PearsonCorrelation" 根据皮尔逊积矩 
"SpearmanRank" 根据斯皮尔曼 
- "PearsonCorrelation" 检验假定数据来自正态分布.
- CorrelationTest[…,"HypothesisTestData"] 返回一个 HypothesisTestData 对象 htd,该对象可利用形式 htd["property"] 提取额外的检验结果和属性.
- CorrelationTest[…,"property"] 可用于直接给出 "property" 的值.
- 与检验结果报告相关的属性包括:
-
"AllTests" 列出所有适用的检验列表 "AutomaticTest" 如果使用 Automatic 所选择的检验 "PValue"
-值列表"PValueTable"
-值的格式化表格"ShortTestConclusion" 检验结论的简短说明 "TestConclusion" 检验结论的说明 "TestData" 检验统计量和
-值对的列表"TestDataTable"
-值和检验统计量的格式化表格"TestStatistic" 检验统计量的列表 "TestStatisticTable" 检验统计量的格式化表格 - 可以使用下列选项:
-
AlternativeHypothesis "Unequal" 备择假设的不等性 SignificanceLevel 0.05 诊断和报告的截止值 VerifyTestAssumptions Automatic 需要验证的假设 - 对于相关性检验,选择的截止值
使得
仅当
时被拒绝. 用于 "TestConclusion" 和 "ShortTestConclusion" 属性的
值由 SignificanceLevel 选项控制. 值
也用于正态性诊断检验. 默认时
的值为 0.05. - CorrelationTest 中用于 VerifyTestAssumptions 的命名设置包括:
-
"Normality" 验证所有数据为正态分布
范例
打开所有单元 关闭所有单元基本范例 (3)
m = RandomVariate[BinormalDistribution[.05], 1000];ListPlot[m]CorrelationTest[m]m = RandomVariate[BinormalDistribution[.05], 1000];CorrelationTest[m, .25]m1 = RandomVariate[BinormalDistribution[.5], 1000];
m2 = RandomVariate[BinormalDistribution[-.5], 850];ListPlot[{m1, m2}]CorrelationTest[m1, m2]CorrelationTest[m1, m2, {"TestDataTable", All}]范围 (13)
检验 (9)
m1 = RandomVariate[BinormalDistribution[0], 1000];
m2 = RandomVariate[BinormalDistribution[-.8], 1000];Correlation[BinormalDistribution[0]][[1, 2]]CorrelationTest[m1]Correlation[BinormalDistribution[-.8]][[1, 2]]CorrelationTest[m2]m1 = RandomVariate[BinormalDistribution[.5], 1000];
m2 = RandomVariate[BinormalDistribution[0], 1000];Correlation[BinormalDistribution[.5]][[1, 2]]CorrelationTest[m1, .5]Correlation[BinormalDistribution[-0]][[1, 2]]CorrelationTest[m2, .5]m1 = RandomVariate[BinormalDistribution[-.5], 1000];
m2 = RandomVariate[BinormalDistribution[0], 185];
m3 = RandomVariate[BinormalDistribution[-.5], 200];CorrelationTest[m1, m3, "TestStatistic"]CorrelationTest[m1, m2]使用 Automatic 应用最有功效的适当检验:
m = RandomVariate[BinormalDistribution[0], 100];CorrelationTest[m, 0, Automatic]属性 "AutomaticTest" 可用于确定所选择的检验:
CorrelationTest[m, 0, "AutomaticTest"]m = RandomVariate[BinormalDistribution[0], 100];CorrelationTest[m, 0, "PearsonCorrelation"]CorrelationTest[m, 0, {"PearsonCorrelation", "SpearmanRank"}]m = RandomVariate[BinormalDistribution[0], 100];CorrelationTest[m, 0, All]CorrelationTest[m, 0, "AllTests"]为重复的属性提取创建一个 HypothesisTestData 对象:
m = RandomVariate[BinormalDistribution[0], 100];ℋ = CorrelationTest[m, 0, "HypothesisTestData"];ℋ["Properties"]从 HypothesisTestData 对象中提取一些属性:
m = RandomVariate[BinormalDistribution[0], 100];ℋ = CorrelationTest[m, 0, "HypothesisTestData"]来自 "PearsonCorrelation" 检验的
-值和检验统计量:
ℋ["PValue", "PearsonCorrelation"]ℋ["TestStatistic", "PearsonCorrelation"]m = RandomVariate[BinormalDistribution[0], 100];ℋ = CorrelationTest[m, 0, "HypothesisTestData"];来自 "SpearmanRank" 检验的
-值和检验统计量:
ℋ[{"PValue", "SpearmanRank"}, {"TestStatistic", "SpearmanRank"}]报告 (4)
m = RandomVariate[BinormalDistribution[0], 100];ℋ = CorrelationTest[m, 0, "HypothesisTestData"];ℋ["TestDataTable", All]m = RandomVariate[BinormalDistribution[0], 100];ℋ = CorrelationTest[m, 0, "HypothesisTestData"];res = ℋ["TestData", All];tests = ℋ["AllTests"]Show[BarChart[res[[All, 2]], ChartLabels -> Placed[tests, Center], BarOrigin -> Left], Graphics[{Dashed, InfiniteLine[{{.05, 0}, {.05, 1}}]}]]m = RandomVariate[BinormalDistribution[0], 100];ℋ = CorrelationTest[m, 0, "HypothesisTestData"];ℋ["PValueTable"]ℋ["PValue"]ℋ["PValueTable", All]m = RandomVariate[BinormalDistribution[0], 100];ℋ = CorrelationTest[m, 0, "HypothesisTestData"];ℋ["TestStatisticTable"]ℋ["TestStatistic"]ℋ["TestStatisticTable", All]选项 (8)
AlternativeHypothesis (2)
m = RandomVariate[CopulaDistribution[{"Clayton", 1}, {NormalDistribution[], NormalDistribution[]}], 100];CorrelationTest[m, AlternativeHypothesis -> "Unequal"]CorrelationTest[m, AlternativeHypothesis -> Automatic]m = RandomVariate[CopulaDistribution[{"Clayton", 3}, {NormalDistribution[], NormalDistribution[]}], 100];CorrelationTest[m, AlternativeHypothesis -> "Unequal"]CorrelationTest[m, AlternativeHypothesis -> "Less"]CorrelationTest[m, AlternativeHypothesis -> "Greater"]SignificanceLevel (3)
m = BlockRandom[SeedRandom[2];RandomVariate[CopulaDistribution[{"Clayton", 1}, {NormalDistribution[], NormalDistribution[]}], 100]];CorrelationTest[m, 0, "PearsonCorrelation", SignificanceLevel -> .0001]默认时使用0.05. 消息显示0.025,这是因为进行了两个检验:
CorrelationTest[m, 0, "PearsonCorrelation"]m = BlockRandom[SeedRandom[2];RandomVariate[CopulaDistribution[{"Clayton", 1}, {NormalDistribution[], NormalDistribution[]}], 100]];CorrelationTest[m, 0, "AutomaticTest", SignificanceLevel -> .0001]CorrelationTest[m, 0, "AutomaticTest", SignificanceLevel -> .1]该显著性水平也用于 "TestConclusion" 和 "ShortTestConclusion":
m = BlockRandom[SeedRandom[2];RandomVariate[CopulaDistribution[{"Clayton", 2}, {NormalDistribution[], NormalDistribution[]}], 100]];ℋ1 = CorrelationTest[m, 0, "HypothesisTestData", SignificanceLevel -> .05];ℋ2 = CorrelationTest[m, 0, "HypothesisTestData", SignificanceLevel -> .000005];ℋ1["TestConclusion"]//TraditionalFormℋ2["TestConclusion"]//TraditionalFormℋ1["ShortTestConclusion"]ℋ2["ShortTestConclusion"]VerifyTestAssumptions (3)
m = BlockRandom[SeedRandom[2];RandomVariate[CopulaDistribution[{"Clayton", 1}, {NormalDistribution[], NormalDistribution[]}], 100]];CorrelationTest[m, 0, "PearsonCorrelation", VerifyTestAssumptions -> Automatic]诊断程序可以利用 All 或 None 作为一个组进行控制:
m = BlockRandom[SeedRandom[2];RandomVariate[CopulaDistribution[{"Clayton", 1}, {NormalDistribution[], NormalDistribution[]}], 100]];CorrelationTest[m, 0, "PearsonCorrelation", VerifyTestAssumptions -> All]CorrelationTest[m, 0, "PearsonCorrelation", VerifyTestAssumptions -> None]m = BlockRandom[SeedRandom[2];RandomVariate[CopulaDistribution[{"Clayton", 1}, {NormalDistribution[], NormalDistribution[]}], 100]];CorrelationTest[m, 0, "PearsonCorrelation", VerifyTestAssumptions -> "Normality"]CorrelationTest[m, 0, "PearsonCorrelation", VerifyTestAssumptions -> {"Normality" -> True}]CorrelationTest[m, 0, "PearsonCorrelation", VerifyTestAssumptions -> {"Normality" -> False}]属性和关系 (5)
fisherZTransform[r_, ρ0_, n_] := (ArcTanh[r] - ArcTanh[ρ0] - (ρ0/2 (n - 1))) Sqrt[n - 3]m = BlockRandom[SeedRandom[10];RandomVariate[BinormalDistribution[.5], 100]];z1 = fisherZTransform[Correlation[Sequence@@(m)], 0.25, 100]Probability[Abs[x] > Abs[z1], xNormalDistribution[]]CorrelationTest[m, .25, "PearsonCorrelation"]m2 = BlockRandom[SeedRandom[10];RandomVariate[CauchyDistribution[0, 1], {100, 2}]];z2 = fisherZTransform[SpearmanRho[Sequence@@(m2)], 0.25, 100]Probability[Abs[x] > Abs[z2], xNormalDistribution[]]CorrelationTest[m2, .25, "SpearmanRank"]fisherZTransform[r1_, r2_, n1_, n2_] := (ArcTanh[r1] - ArcTanh[r2]) / Sqrt[(1/n1 - 3) + (1/n2 - 3)]m1 = BlockRandom[SeedRandom[1];RandomVariate[BinormalDistribution[.5], 100]];m2 = BlockRandom[SeedRandom[1];RandomVariate[BinormalDistribution[-.5], 35]];z = fisherZTransform[Correlation[Sequence@@(m1)], Correlation[Sequence@@(m2)], 100, 35]Probability[Abs[x] > Abs[z], xNormalDistribution[]]CorrelationTest[m1, m2]data = BlockRandom[SeedRandom[2];RandomVariate[BinormalDistribution[0], {1000, 50}]];fisherZTransform[r_, ρ0_, n_] := (ArcTanh[r] - ArcTanh[ρ0] - (ρ0/2 (n - 1))) Sqrt[n - 3]t = CorrelationTest[#, 0, "TestStatistic", VerifyTestAssumptions -> None]& /@ data;z = fisherZTransform[#, 0, 50]& /@ t;QuantilePlot[z]DistributionFitTest[z, NormalDistribution[0, 1]]使用 IndependenceTest 来测试向量和矩阵之间的独立性:
m = BlockRandom[SeedRandom[1];RandomVariate[BinormalDistribution[.5], 100]];IndependenceTest[Sequence@@(m), "TestDataTable"]当输入为 TimeSeries 时,相关性检验适用于时间标记和值:
ts = TemporalData[TimeSeries, {{{1.0081913025727498, 1.4304731751840027, -0.4125117157733782,
-1.1413187519244148, -0.2664060220778645, -1.0365522431905356, 0.203588890642496,
-0.12998044410791582, -0.5041339333806572, 0.6882189863641266, -0.0 ... 714166717388, 0.49655299069078945, 1.7174825766625412, 0.45095266624527885,
0.14798747430790704, 2.1461822155040498}}, {{0, 100, 1}}, 1, {"Continuous", 1},
{"Discrete", 1}, 1, {ValueDimensions -> 1, ResamplingMethod -> None}}, False, 10.1];ts["ValueDimensions"]CorrelationTest[ts]CorrelationTest[Transpose@{ts["Times"], ts["Values"]}]可能存在的问题 (3)
CorrelationTest 不应该被用来测试因果关系:
BlockRandom[
SeedRandom[1];
d1 = RandomVariate[NormalDistribution[], 100];
d2 = RandomVariate[NormalDistribution[], 100];
]CorrelationTest[Transpose[{Sort@d1, Sort@d2}], 0, "TestDataTable"]d3 = d1 ^ 2;CorrelationTest[Transpose[{d1, d3}], 0, "TestDataTable"]相关性检验不能识别多变量 TimeSeries:
ts = TemporalData[TimeSeries, {{{{1.0081913025727498, 0.08141087155028082},
{1.4304731751840027, -0.056482126116319795}, {-0.4125117157733782, -2.64990770657697},
{-1.1413187519244148, 1.582933898719192}, {-0.2664060220778645, -0.9013658525565 ... 27885, -0.9820487653060537},
{0.14798747430790704, 0.8363549184013521}, {2.1461822155040498, 0.9726049961243627}}},
{{0, 100, 1}}, 1, {"Continuous", 1}, {"Discrete", 1}, 2,
{ValueDimensions -> 2, ResamplingMethod -> None}}, False, 10.1];CorrelationTest[ts]
CorrelationTest /@ ts["PathComponents"]CorrelationTest /@ ts["ValueList"]相关性检验不能线性作用于 TemporalData 的路径:
td = TemporalData[Automatic, {{{{-0.5434667050992523, 0.46314064380741066},
{-1.6588644425631323, 0.47154247202353816}, {-2.34646934599704, 0.5039135236314848},
{0.5176089743195925, 0.5329787913867369}, {0.23294476670437064, -0.195915630443586 ... 275967729, 1.9512017274876106}, {-0.789601844933439, 0.3327695314775849},
{-1.4271973425082942, 1.3188336921085977}}}, {{0, 100, 1}}, 4, {"Continuous", 4},
{"Discrete", 1}, 2, {ValueDimensions -> 2, ResamplingMethod -> None}}, False, 10.1];CorrelationTest[td]
CorrelationTest[td["PathComponent", 1]]CorrelationTest[td["PathComponent", 2]]相关指南
-
▪
- 假设检验
文本
Wolfram Research (2012),CorrelationTest,Wolfram 语言函数,https://reference.wolfram.com/language/ref/CorrelationTest.html.
CMS
Wolfram 语言. 2012. "CorrelationTest." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/CorrelationTest.html.
APA
Wolfram 语言. (2012). CorrelationTest. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/CorrelationTest.html 年
BibTeX
@misc{reference.wolfram_2026_correlationtest, author="Wolfram Research", title="{CorrelationTest}", year="2012", howpublished="\url{https://reference.wolfram.com/language/ref/CorrelationTest.html}", note=[Accessed: 16-September-2026]}
BibLaTeX
@online{reference.wolfram_2026_correlationtest, organization={Wolfram Research}, title={CorrelationTest}, year={2012}, url={https://reference.wolfram.com/language/ref/CorrelationTest.html}, note=[Accessed: 16-September-2026]}