CorrelationTest[{{x1,y1},{x2,y2},…}]
二変量の母集団の相関係数が0かどうかの検定を行う.
CorrelationTest[{{x1,y1},{x2,y2},…},ρ0]
相関係数が ρ0かどうかの検定を行う.
CorrelationTest[{{x1,y1},{x2,y2},…},{{u1,v1},{u2,v2},…}]
2つの母集団の相関係数が等しいかどうかの検定を行う.
CorrelationTest[…,"property"]
"property"の値を返す.
CorrelationTest
CorrelationTest[{{x1,y1},{x2,y2},…}]
二変量の母集団の相関係数が0かどうかの検定を行う.
CorrelationTest[{{x1,y1},{x2,y2},…},ρ0]
相関係数が ρ0かどうかの検定を行う.
CorrelationTest[{{x1,y1},{x2,y2},…},{{u1,v1},{u2,v2},…}]
2つの母集団の相関係数が等しいかどうかの検定を行う.
CorrelationTest[…,"property"]
"property"の値を返す.
詳細とオプション
- CorrelationTestは,帰無仮説
と対立仮説
で検定を行う. -





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

- ただし,ρx,yは{{x1,y1},{x2,y2},…}の母相関係数である.
- デフォルトで,確率の値すなわち
値が返される. - 小さい
値は
が真ではないことを示唆する. - データ{{x1,y1},…}と{{u1,v1},…}は任意の実数値二変量行列である.
- 引数 ρ0は
となるような任意の実数値である. - CorrelationTest[{{x1,y1},{x2,y2},…},ρ0]はデータに適用する最も強力な検定を選ぶ.
- CorrelationTest[…,All]はデータに適用するすべての検定を選ぶ.
- CorrelationTest[…,"test"]は"test"に基づく
値のレポートを返す. - 使用可能な検定
-
"PearsonCorrelation" ピアソン(Pearson)積率
に基づく"SpearmanRank" スペアマン(Spearman)積率
に基づく - "PearsonCorrelation"検定はデータが正規分布から取られたと仮定する.
- CorrelationTest[…,"HypothesisTestData"]は htd["property"]の形で追加的な検定結果と特性を引き出すことができるHypothesisTestDataオブジェクト htd を返す.
- 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]特定"AllTests"を使ってどの検定が使われたのかを確かめる:
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"];ℋ[{"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"]
値は0.05より大きいので,このレベルで
を棄却するための十分な証拠はないことになる:
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 が使われる.2つの検定が行われたのでこのメッセージは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)
値はサンプルの相関 r のフィッシャー(Fisher)
変換を使って計算される:
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 Language. 2012. "CorrelationTest." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/CorrelationTest.html.
APA
Wolfram Language. (2012). CorrelationTest. Wolfram Language & System Documentation Center. Retrieved from 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]}