AndersonDarlingTest[data]
Anderson–Darling検定を使い,data が正規分布に従っているかどうかを調べる.
AndersonDarlingTest[data,dist]
Anderson–Darling検定を使い,data が dist に従った分布かどうかを調べる.
AndersonDarlingTest[data,dist,"property"]
"property"の値を返す.
AndersonDarlingTest
AndersonDarlingTest[data]
Anderson–Darling検定を使い,data が正規分布に従っているかどうかを調べる.
AndersonDarlingTest[data,dist]
Anderson–Darling検定を使い,data が dist に従った分布かどうかを調べる.
AndersonDarlingTest[data,dist,"property"]
"property"の値を返す.
詳細とオプション
- AndersonDarlingTestは,data が分布 dist の母集団から取り出されたという帰無仮説
と,そうではないという対立仮説
でAnderson–Darlingの適合度検定を行う. - デフォルトで,確率値つまり
値が返される. - 小さい
値は data が dist から来ている可能性が低いことを示す. - dist は,記号および数値の母数,またはデータ集合,を持つ任意の記号分布でよい.
- data は一変量{x1,x2,…}でも多変量{{x1,y1,…},{x2,y2,…},…}でもよい.
- Anderson–Darling検定はデータが連続分布のものであると仮定する.
- Anderson–Darling検定は事実上
に基づく検定統計を使う.ただし,
は data の経験的CDFであり
は dist のCDFである. - 一変量データについては,検定統計は
で与えられる.ただし,
はソートされたデータである. - 多変量検定については,一変量限界
値の総和が使われる.総和は
のもとでUniformSumDistributionに従うと想定される. - AndersonDarlingTest[data,dist,"HypothesisTestData"]はHypothesisTestDataオブジェクト htd を返す.これは htd["property"]として追加的な検定結果と特性の抽出に使うことができる.
- AndersonDarlingTest[data,dist,"property"]を使って直接"property"を与えることができる.
- 検定結果のレポートに関連する特性
-
"PValue"
値"PValueTable" "PValue"のフォーマットされたバージョン "ShortTestConclusion" 検定結果の簡単な説明 "TestConclusion" 検定結果の説明 "TestData" 検定統計と
値"TestDataTable" "TestData"のフォーマットされたバージョン "TestStatistic" 検定統計 "TestStatisticTable" "TestStatistic"のフォーマットされたバージョン - 次の特性はどの検定が行われているかに依存しない.
- データ分布に関連する特性
-
"FittedDistribution" データのフィットした分布 "FittedDistributionParameters" データの分布母数 - 使用可能なオプション
-
Method Automatic
値を計算するメソッドSignificanceLevel 0.05 診断とレポートのための切捨て - 適合度検定では,
のときにのみ
が棄却されるような切捨て
が選択される.特性"TestConclusion"および"ShortTestConclusion"で使われる
の値はSignificanceLevelオプションで制御される.デフォルトで,
は0.05に設定されている. - Method->"MonteCarlo"の設定では,入力
と同じ長さの
個のデータ集合が
のもとにフィットされた分布を使って生成される.次に,AndersonDarlingTest[si,dist,"TestStatistic"]からのEmpiricalDistributionを使って
値が推定される.
例題
すべて開く すべて閉じる例 (3)
data = RandomVariate[NormalDistribution[], 10^3];AndersonDarlingTest[data]Show[SmoothHistogram[data, PlotStyle -> {Dashed, Red}], Plot[PDF[NormalDistribution[], x], {x, -4, 4}]]data = RandomVariate[PowerDistribution[1, 2], 10^4];AndersonDarlingTest[data, PowerDistribution[1, 2]]Show[Histogram[data, Automatic, "PDF"], Plot[PDF[PowerDistribution[1, 2], x], {x, 0, 1}, PlotStyle -> Thick, PlotRange -> All]]data1 = RandomVariate[NormalDistribution[], 100];data2 = RandomVariate[NormalDistribution[.1, 1], 150];AndersonDarlingTest[data1, data2]SmoothHistogram[{data1, data2}]スコープ (9)
検定 (6)
data1 = RandomVariate[NormalDistribution[], 10^4];
data2 = RandomVariate[StudentTDistribution[3], 10^4];AndersonDarlingTest[data1]AndersonDarlingTest[data2]data1 = RandomVariate[NormalDistribution[], 10^3];
data2 = RandomVariate[CauchyDistribution[0, 1], 10^3];AndersonDarlingTest[data1, CauchyDistribution[0, 1]]AndersonDarlingTest[data2, CauchyDistribution[0, 1]]data1 = RandomVariate[NormalDistribution[], 10^3];
data2 = RandomVariate[NormalDistribution[], 10^3];AndersonDarlingTest[data1, data2]data3 = RandomVariate[NormalDistribution[0, 1.25], 10^3];AndersonDarlingTest[data1, data3]data1 = RandomVariate[BinormalDistribution[.5], 10^3];
data2 = RandomVariate[LaplaceDistribution[1, 2], {10^3, 2}];AndersonDarlingTest[data1]AndersonDarlingTest[data2]data1 = RandomVariate[BinormalDistribution[.5], 10^3];
data2 = RandomVariate[𝒹 = LaplaceDistribution[1, 2], {10^3, 2}];𝒟 = ProductDistribution[𝒹, 𝒹];AndersonDarlingTest[data1, 𝒟]AndersonDarlingTest[data2, 𝒟]繰り返し特性を抽出するためにHypothesisTestDataオブジェクトを作成する:
data = RandomVariate[NormalDistribution[], 10^5];ℋ = AndersonDarlingTest[data, Automatic, "HypothesisTestData"]ℋ["Properties"]レポート (3)
data = RandomVariate[NormalDistribution[], 100];ℋ = AndersonDarlingTest[data, Automatic, "HypothesisTestData"];ℋ["TestDataTable"]ℋ["PValueTable"]ℋ["TestStatisticTable"]カスタマイズされたレポート用にAnderson–Darling検定表から項目を取り出す:
data1 = RandomVariate[NormalDistribution[], 100];
data2 = RandomVariate[NormalDistribution[], 100];ℋ1 = AndersonDarlingTest[data1, Automatic, "TestData"]ℋ2 = AndersonDarlingTest[data2, Automatic, "TestData"]BarChart[{Labeled[ℋ1, "Set 1"], Labeled[ℋ2, "Set 2"]}, ChartLabels -> {"SuperscriptBox[A, 2]", "p‐value"}]"ShortTestConclusion"と"TestConclusion"を使って検定結果をレポートする:
data = BlockRandom[SeedRandom[1];RandomVariate[ParetoDistribution[1.05, 2], 100]];ℋ = AndersonDarlingTest[data, ParetoDistribution[1, 2], "HypothesisTestData"];ℋ["ShortTestConclusion"]ℋ["TestConclusion"]//TraditionalFormℋ = AndersonDarlingTest[data, ParetoDistribution[1, 2], "HypothesisTestData", SignificanceLevel -> .001];ℋ["ShortTestConclusion"]ℋ["TestConclusion"]//TraditionalFormオプション (4)
Method (3)
計算式にモンテカルロ(Monte Carlo)法に基づくメソッドを使う:
data = RandomVariate[NormalDistribution[], 100];AndersonDarlingTest[data, NormalDistribution[], Method -> "MonteCarlo"]AndersonDarlingTest[data, NormalDistribution[], Method -> Automatic]data = RandomVariate[NormalDistribution[], 100];pts = Table[{i, AndersonDarlingTest[data, NormalDistribution[], Method -> {"MonteCarlo", "MonteCarloSamples" -> i}]}, {i, Range[5, 250, 15]}];モンテカルロ推定は,サンプルを増やすと,真の
値に収束する:
pval = AndersonDarlingTest[data, NormalDistribution[]];Show[ListLinePlot[pts, PlotRange -> {0, 1}, FrameLabel -> {"Samples", "P-Value"}, Frame -> True, AxesOrigin -> {0, 0}], Graphics[{Dashed, Line[{{0, pval}, {250, pval}}]}]]モンテカルロ法に基づくメソッドで使われるランダムなシードを設定する:
data = RandomVariate[NormalDistribution[], 100];pts = Table[{i, AndersonDarlingTest[data, NormalDistribution[], Method -> {"MonteCarlo", "RandomSeed" -> i, "MonteCarloSamples" -> 50}]}, {i, Range[1, 10]}];シードは生成器の状態に影響を与え,結果の
値にもいくらか影響を与える:
pval = AndersonDarlingTest[data, NormalDistribution[]];Show[ListLinePlot[pts, PlotRange -> {Min[pts[[All, 2]]], Max[pts[[All, 2]]]}, FrameLabel -> {"Seed", "P-Value"}, Frame -> True, AxesOrigin -> {0, 0}], Graphics[{Dashed, Line[{{0, pval}, {100, pval}}]}]]SignificanceLevel (1)
"TestConclusion"と"ShortTestConclusion"で使う有意水準を設定する:
data = BlockRandom[SeedRandom[1];RandomVariate[NormalDistribution[], 100]];AndersonDarlingTest[data, NormalDistribution[0, 1.5], "ShortTestConclusion", SignificanceLevel -> .05]AndersonDarlingTest[data, NormalDistribution[0, 1.5], "ShortTestConclusion", SignificanceLevel -> .01]AndersonDarlingTest[data, NormalDistribution[0, 1.5], "TestConclusion"]//TraditionalFormアプリケーション (4)
GammaDistribution[1,1/λ]がExponentialDistribution[λ]に等しいことを示すことができる.この結論はシミュレーションでサポートされる:
λvect = {2, 4, 6, 8, 10};data = Table[RandomVariate[GammaDistribution[1, (1/λ)], {1000, 100}], {λ, λvect}];Anderson–Darling検定を行い,それぞれのデータ集合をその予測される
の値でグループ分けする:
p = Table[(AndersonDarlingTest[#1, ExponentialDistribution[λvect[[i]]]]&) /@ data[[i]], {i, Length[λvect]}];And@@(AndersonDarlingTest[#, UniformDistribution[], "PValue"] > 0.05& /@ p)data = Table[RandomVariate[UniformDistribution[{-4, 4}], {500, i}], {i, n = {5, 7, 10, 15, 20, 25, 30}}];ℋ = Table[AndersonDarlingTest[data[[i, j]], NormalDistribution[]], {i, Length[data]}, {j, Length[data[[i]]]}];pC = Interpolation[Transpose[{n, Table[Probability[x ≤ 0.05, xi], {i, ℋ}]}], InterpolationOrder -> 1];Plot[pC[x], {x, 5, 30}, PlotRange -> {.6, 1}, Ticks -> {n, Automatic}, AxesOrigin -> {0, 0.6}]基礎となる分布がUniformDistribution[{-4,4}]であり,検定サイズが0.05,サンプルサイズが6である場合に,Anderson–Darling検定の検出力を推定する:
pC[6.]3種のアヤメのそれぞれからの50のメンバーに対していくつかの測定を行う.setosa 種は簡単に見分けることができるが,残り2つの種である versicolor と virginica は混同されることが多いことが分かっている:
data = ExampleData[{"Statistics", "FisherIris"}];petalLen = data[[All, 3]];species = data[[All, -1]];SmoothHistogram[Pick[petalLen, species, #], PlotLabel -> #, Filling -> Axis]& /@ DeleteDuplicates[species]versicolor と virginica については同じ分布で,setosa は全く異なる:
AndersonDarlingTest[Pick[petalLen, species, "versicolor"], Pick[petalLen, species, "viginica"]]AndersonDarlingTest[Pick[petalLen, species, "setosa"], Pick[petalLen, species, "virginica" | "versicolor"]]以下のような花びらの長さの測定値が母集団について知られていると仮定する:
Subscript[μ, s] = 1.5;Subscript[μ, vv] = 4.9;Subscript[σ, s] = .2;Subscript[σ, vv] = .8;𝒟 = MixtureDistribution[{50 / 150, 100 / 150}, {NormalDistribution[Subscript[μ, s], Subscript[σ, s]], NormalDistribution[Subscript[μ, vv], Subscript[σ, vv]]}];𝒟data = SmoothKernelDistribution[petalLen, {"Adaptive", Automatic, .5}];Plot[{PDF[𝒟, x], PDF[𝒟data, x]}, {x, 0, 8}, PlotLegends -> {"𝒟", "𝒟data"}]正規混合分布が花びらの長さの分布によくフィットしているようである:
AndersonDarlingTest[petalLen, 𝒟, "TestDataTable"]Anderson-Darling検定統計を最小にすることで分布パラメータを推定する:
data = RandomVariate[StudentTDistribution[6.4], 500];adDistance[df_Real] := AndersonDarlingTest[data, StudentTDistribution[df], "TestStatistic"]Plot[adDistance[ν], {ν, 1, 10}]νMinAD = NArgMin[{adDistance[ν], ν > 0}, ν]νMLE = ν /. FindDistributionParameters[data, StudentTDistribution[ν]]これら2つの最適パラメータについてAnderson-Darling検定統計を比較する:
{adDistance[νMinAD], adDistance[νMLE]}特性と関係 (9)
デフォルトで一変量データはNormalDistributionと比べられる:
data = RandomVariate[NormalDistribution[2, 3], 10^4];ℋ = AndersonDarlingTest[data, Automatic, "HypothesisTestData"];ℋ["TestDataTable"]ℋ["FittedDistribution"]多変量データは,デフォルトでMultinormalDistributionと比べられる:
data = RandomVariate[MultinormalDistribution[{1, 2, 3}, IdentityMatrix[3]], 1000];ℋ = AndersonDarlingTest[data, Automatic, "HypothesisTestData"];ℋ["TestDataTable"]ℋ["FittedDistribution"]//TraditionalForm検定分布の母数は,指定されない場合にはデータから推測される:
data = RandomVariate[NormalDistribution[1, 2], 1000];AndersonDarlingTest[data, NormalDistribution[μ, σ], "FittedDistribution"]AndersonDarlingTest[data, NormalDistribution[μ, 2], "FittedDistribution"]AndersonDarlingTest[data, NormalDistribution[1, 2], "FittedDistribution"]data = RandomVariate[ExponentialDistribution[3], 10^3];ℋ = AndersonDarlingTest[data, ExponentialDistribution[λ], "FittedDistribution"]EstimatedDistribution[data, ExponentialDistribution[λ]]母数が未知の場合,AndersonDarlingTestは可能であれば修正を適用する:
data = RandomVariate[NormalDistribution[3, 4], 10^4];est = EstimatedDistribution[data, NormalDistribution[μ, σ]]AndersonDarlingTest[data, est]ℋ = AndersonDarlingTest[data, NormalDistribution[μ, σ], "HypothesisTestData"];ℋ["FittedDistribution"]ℋ["PValue"]data = RandomVariate[MultinormalDistribution[{0, 0}, {{0.118, 0.252}, {0.252, 0.665}}], 100];AndersonDarlingTest[data, MultinormalDistribution[{0, 0}, {{0.118, 0.252}, {0.252, 0.665}}], "TestStatistic"]AndersonDarlingTest[data, MultinormalDistribution[{0, 0}, {{0.118, 0}, {0, 0.665}}], "TestStatistic"]n = 100;data = Sort@RandomVariate[StudentTDistribution[3], n];F[x_] := CDF[NormalDistribution[], x];-n - Underoverscript[∑, k, n](2 k - 1/n) (Log[1 - F[data[[n - k + 1]]]] + Log[F[data[[k]]]])AndersonDarlingTest[data, NormalDistribution[], "TestStatistic"]Anderson–Darling検定はNExpectationを使って定義することができる:
n = 10;
h0 = NormalDistribution[1, 2];
data = RandomVariate[h0, n];f[x_] := CDF[h0, x]
Overscript[f, ^ ][x_] := CDF[EmpiricalDistribution[data], x]n NExpectation[((Overscript[f, ^ ][t] - f[t])^2/f[t] (1 - f[t])), th0]AndersonDarlingTest[data, h0, "TestStatistic"]Anderson–Darling検定は,入力がTimeSeriesのときにのみ値に働く:
ts = TemporalData[TimeSeries, {{{0., -0.11029234344648474, 0.0345779635879646, 0.1743666051306928,
0.16967400225598006, 0.1411114639333355, 0.23851991945192513, 0.26921448263698,
0.24027115738328042, 0.17492509184799315, 0.2781622872829057, 0. ... 276577, -0.45856201940681207, -0.4228641161946517,
-0.21228762599990375}}, {{0, 1., 0.01}}, 1, {"Continuous", 1}, {"Continuous", 1}, 1,
{ValueDimensions -> 1, ResamplingMethod -> {"Interpolation", InterpolationOrder -> 1}}}, False,
10.1];AndersonDarlingTest[ts]AndersonDarlingTest[ts["Values"]]考えられる問題 (2)
Anderson–Darling検定は離散分布には使えない:
data = RandomVariate[PoissonDistribution[30], 35];AndersonDarlingTest[data, PoissonDistribution[30]]sim = RandomVariate[PoissonDistribution[30], {500, 35}];p = Quiet[AndersonDarlingTest[#, PoissonDistribution[30]]]& /@ sim;Show[ListLinePlot[Table[{α, Probability[pv ≤ α, pvp]}, {α, .01, 1, .01}]], Plot[x, {x, 0, 1}, PlotStyle -> {Gray, Dashed}]]sim = RandomVariate[DiscreteUniformDistribution[{1, 3}], {500, 35}];p = Quiet[AndersonDarlingTest[#, DiscreteUniformDistribution[{1, 3}]]]& /@ sim;Show[ListLinePlot[Table[{α, Probability[pv ≤ α, pvp]}, {α, .01, 1, .01}]], Plot[x, {x, 0, 1}, PlotStyle -> {Gray, Dashed}]]そのような場合にはモンテカルロ法またはPearsonChiSquareTestを使う:
AndersonDarlingTest[sim[[1]], DiscreteUniformDistribution[{1, 3}], Method -> "MonteCarlo"]PearsonChiSquareTest[sim[[1]], DiscreteUniformDistribution[{1, 3}]]母数がデータから推定される場合には,Anderson–Darling検定は,分布によっては有効ではないことがある:
data = RandomVariate[BetaDistribution[1, 2], 100];AndersonDarlingTest[data, BetaDistribution[1, b]]AndersonDarlingTest[data, BetaDistribution[1, 2]]AndersonDarlingTest[data, BetaDistribution[1, b], Method -> "MonteCarlo"]おもしろい例題 (1)
data = RandomVariate[NormalDistribution[], {2500, 100}];T1 = AndersonDarlingTest[#, NormalDistribution[], "TestStatistic"]& /@ data;T2 = AndersonDarlingTest[#, NormalDistribution[1, 2], "TestStatistic"]& /@ data;SmoothHistogram[{T1, T2}, Filling -> Axis, PlotLegends -> {"SubscriptBox[H, 0]は真", "SubscriptBox[H, 0]は偽"}, PlotStyle -> Thick]テキスト
Wolfram Research (2010), AndersonDarlingTest, Wolfram言語関数, https://reference.wolfram.com/language/ref/AndersonDarlingTest.html.
CMS
Wolfram Language. 2010. "AndersonDarlingTest." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/AndersonDarlingTest.html.
APA
Wolfram Language. (2010). AndersonDarlingTest. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/AndersonDarlingTest.html
BibTeX
@misc{reference.wolfram_2026_andersondarlingtest, author="Wolfram Research", title="{AndersonDarlingTest}", year="2010", howpublished="\url{https://reference.wolfram.com/language/ref/AndersonDarlingTest.html}", note=[Accessed: 14-August-2026]}
BibLaTeX
@online{reference.wolfram_2026_andersondarlingtest, organization={Wolfram Research}, title={AndersonDarlingTest}, year={2010}, url={https://reference.wolfram.com/language/ref/AndersonDarlingTest.html}, note=[Accessed: 14-August-2026]}