JarqueBeraALMTest[data]
Jarque–Bera ALM検定を使い,data が正規分布に従っているかどうかを調べる.
JarqueBeraALMTest[data,"property"]
"property"の値を返す.
JarqueBeraALMTest
JarqueBeraALMTest[data]
Jarque–Bera ALM検定を使い,data が正規分布に従っているかどうかを調べる.
JarqueBeraALMTest[data,"property"]
"property"の値を返す.
詳細とオプション
- JarqueBeraALMTestは data がNormalDistributionから取り出されたという帰無仮説
とそうではないという対立仮説
でJarque–Bera ALMの適合度検定を行う. - デフォルトで,確率値つまり
値が返される. - 小さい
値は data が 正規分布に従っている可能性が低いことを示す. - data は一変量{x1,x2,…}でも多変量{{x1,y1,…},{x2,y2,…},…}でもよい.
- Jarque–Bera ALM検定は事実上 data の歪度と尖度をNormalDistributionと比較する.
- 一変量データについては,検定統計は
で与えられる.ただし,
,
で,
,
,
で与えられる有限のサンプルサイズについて
個の補正因子がある. - 多変量検定については,一変量限界
値の総和が使われる.総和は
のもとでUniformSumDistributionに従うものと想定される. - JarqueBeraALMTest[data,dist,"HypothesisTestData"]はHypothesisTestDataオブジェクト htd を返す.これは htd["property"]として追加的な検定結果と特性の抽出に使うことができる.
- JarqueBeraALMTest[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"の設定では,入力
と同じ長さの
個のデータ集合が
のもとにフィットされた分布を使って生成される.次に,JarqueBeraALMTest[si,"TestStatistic"]からのEmpiricalDistributionを使って
値が推定される.
例題
すべて開く すべて閉じる例 (3)
data = RandomVariate[NormalDistribution[], 10^4];JarqueBeraALMTest[data]data = RandomVariate[MultinormalDistribution[{1, 2, 3}, IdentityMatrix[3]], 1000];JarqueBeraALMTest[data]data = RandomVariate[NormalDistribution[], 10^3];JarqueBeraALMTest[data, "TestStatistic"]スコープ (6)
検定 (3)
data1 = RandomVariate[NormalDistribution[], 10^4];
data2 = RandomVariate[GammaDistribution[10, 2], 10^4];JarqueBeraALMTest[data1]JarqueBeraALMTest[data2]data1 = RandomVariate[BinormalDistribution[.5], 10^3];
data2 = RandomVariate[LaplaceDistribution[1, 2], {10^3, 2}];JarqueBeraALMTest[data1]JarqueBeraALMTest[data2]繰り返し特性を抽出するためにHypothesisTestDataオブジェクトを作成する:
data = RandomVariate[NormalDistribution[], 10^5];ℋ = JarqueBeraALMTest[data, "HypothesisTestData"]ℋ["Properties"]レポート (3)
data = RandomVariate[NormalDistribution[], 100];ℋ = JarqueBeraALMTest[data, "HypothesisTestData"];ℋ["TestDataTable"]ℋ["PValueTable"]ℋ["TestStatisticTable"]カスタマイズしたレポート用にJarque–Bera ALM検定表から項目を取り出す:
data1 = RandomVariate[NormalDistribution[], 100];
data2 = RandomVariate[NormalDistribution[], 100];ℋ1 = JarqueBeraALMTest[data1, "TestData"]ℋ2 = JarqueBeraALMTest[data2, "TestData"]BarChart[{Labeled[ℋ1, "Set 1"], Labeled[ℋ2, "Set 2"]}, ChartLabels -> {"SubscriptBox[D, n]", "p‐value"}]"ShortTestConclusion"と"TestConclusion"を使って検定の結論をレポートする:
data = BlockRandom[SeedRandom[1];RandomVariate[StudentTDistribution[3], 100]];ℋ = JarqueBeraALMTest[data, "HypothesisTestData"];ℋ["ShortTestConclusion"]ℋ["TestConclusion"]//TraditionalFormℋ = JarqueBeraALMTest[data, "HypothesisTestData", SignificanceLevel -> .001];ℋ["ShortTestConclusion"]ℋ["TestConclusion"]//TraditionalFormオプション (3)
Method (3)
data = RandomVariate[NormalDistribution[], 100];JarqueBeraALMTest[data, Method -> "MonteCarlo"]JarqueBeraALMTest[data, Method -> Automatic]data = RandomVariate[NormalDistribution[], 100];pts = Table[{i, JarqueBeraALMTest[data, Method -> {"MonteCarlo", "MonteCarloSamples" -> i}]}, {i, 5, 1000, 50}];モンテカルロ推定は,サンプルを増やすと,真の
値に収束する:
pval = JarqueBeraALMTest[data];ListLinePlot[{pts, {{0, pval}, {1000, pval}}}, PlotStyle -> {Automatic, Dashed}, AxesLabel -> {"# of Samples", "p-Value"}]モンテカルロ法に基づくメソッドで使われるランダムなシードを設定する:
data = RandomVariate[NormalDistribution[], 100];pts = Table[{i, JarqueBeraALMTest[data, Method -> {"MonteCarlo", "RandomSeed" -> i, "MonteCarloSamples" -> 50}]}, {i, 10}];シードは生成器の状態に影響を与え,結果の
値にもいくらか影響を与える:
pval = JarqueBeraALMTest[data];ListLinePlot[{pts, {{0, pval}, {10, pval}}}, PlotStyle -> {Automatic, Dashed}, AxesLabel -> {"Seed", "p-Value"}]アプリケーション (2)
data = Table[RandomVariate[CauchyDistribution[0, 1], {500, i}], {i, n = {10, 15, 20, 25, 30}}];ℋ = Table[JarqueBeraALMTest[data[[i, j]]], {i, Length[data]}, {j, Length[data[[i]]]}];pC = Interpolation[Transpose[{n, Table[Probability[x ≤ 0.05, xi], {i, ℋ}]}], InterpolationOrder -> 1];Plot[pC[x], {x, 10, 30}, PlotRange -> {0, 1}, Ticks -> {n, Automatic}, AxesOrigin -> {7, 0}]基礎となる分布がCauchyDistribution[0,1]であり,検定サイズが0.05,サンプルサイズが12である場合に,Jarque–Bera ALM検定の検出力を推定する:
pC[12.]他の分布に一般化されるJarque–Bera ALM検定統計を作成する:
jbTest[data_, c1_, c2_, c3_] := With[{n = Length[data], skew = Skewness[data], kurt = Kurtosis[data]},
n((skew^2/c1) + ((kurt - c2)^2/c3))]sampleCM[r_] := MomentConvert[CentralMoment[r], "SampleEstimator"]c1[dist_, n_] := MomentEvaluate[MomentConvert[sampleCM[3]^2, {CentralMoment, n}] / MomentConvert[sampleCM[2]^3, {CentralMoment, n}], dist]c2[dist_, n_] := MomentEvaluate[MomentConvert[sampleCM[4], {CentralMoment, n}] / MomentConvert[sampleCM[2] ^ 2, {CentralMoment, n}], dist]c3[dist_, n_] := (MomentEvaluate[MomentConvert[(sampleCM[4] - c2[dist, n] * sampleCM[2] ^ 2) ^ 2, {CentralMoment, n}] / MomentConvert[sampleCM[2] ^ 4, {CentralMoment, n}], dist])LaplaceDistributionにフィットさせるJarque–Bera ALM検定統計:
c1L[n_] = c1[LaplaceDistribution[μ, σ], n];
c2L[n_] = c2[LaplaceDistribution[μ, σ], n];
c3L[n_] = c3[LaplaceDistribution[μ, σ], n];jbGen[data_, n_] := (1/n)jbTest[data, c1L[n], c2L[n], c3L[n]]With[{n = 150}, T = jbGen[#, n]& /@ RandomVariate[LaplaceDistribution[1, 2], {10 ^ 4, n}]];With[{n = 150}, t = jbGen[#, n]& /@ RandomVariate[LaplaceDistribution[1, 2], {1000, n}]];DistributionFitTest[SurvivalFunction[EmpiricalDistribution[T], t], UniformDistribution[]]検定は,似た平均と分散を持つHyperbolicDistributionの対立仮説に対して強い:
Histogram[Table[SurvivalFunction[EmpiricalDistribution[T], jbGen[RandomVariate[HyperbolicDistribution[4, 3, 8.36, -9.13], 150], 150]], {10 ^ 3}], Automatic, "PDF"]特性と関係 (4)
ALM(修正されたラグランジュの乗数)法の方が,従来のJarque–Bera検定より性能が優れている:
data = RandomVariate[NormalDistribution[], {1000, 15}];s[data_] := Skewness[data];
k[data_] := Kurtosis[data] - 3;jb[data_] := (Length[data]/6)(s[data]^2 + (1/4)k[data]^2)jbpval[t_] := SurvivalFunction[ChiSquareDistribution[2], t]jbT = jbpval[jb[#]]& /@ data;Show[Histogram[jbT, Automatic, "PDF"], Graphics[{Thick, Dashed, Line[{{0, 1}, {1, 1}}]}]]jbalmT = JarqueBeraALMTest[#]& /@ data;Jarque–Bera ALM検定は小さいサンプルを扱うのに優れている:
Show[Histogram[jbalmT, Automatic, "PDF"], Graphics[{Thick, Dashed, Line[{{0, 1}, {1, 1}}]}]]Jarque–Bera ALM検定は,従来の検定における0, 6, 3, 24の漸近値ではなく,歪度および尖度の平均と分散に有限サンプル値を使う:
jbTest[data_, c1_, c2_, c3_] := With[{n = Length[data], skew = Skewness[data], kurt = Kurtosis[data]},
n((skew^2/c1) + ((kurt - c2)^2/c3))]jbTraditional[data_] := jbTest[data, 6, 3, 24]有限サンプル値は,MomentEvaluateおよびMomentConvertを使って引き出される:
c1 = Factor[MomentEvaluate[MomentConvert[MomentConvert[CentralMoment[3], "SampleEstimator"]^2, {CentralMoment, n}] / MomentConvert[MomentConvert[CentralMoment[2], "SampleEstimator"]^3, {CentralMoment, n}], NormalDistribution[μ, σ]]]jbALM[data_] := With[{n = Length[data]}, (1/n)jbTest[data, (6(n - 2)/(n + 1)(n + 3)), (3 (n - 1)/n + 1), (24 n (n - 2) (n - 3)/(n + 1)^2 (n + 3) (n + 5))]]ListLinePlot[Table[data = RandomVariate[NormalDistribution[], n];{n, jbTraditional[data] - jbALM[data]}, {n, Join[Range[5, 100, 10], Range[101, 1000, 25], Range[1001, 10000, 100]]}], PlotRange -> All, PlotStyle -> Thick]帰無仮説
のもとのJarque–Bera ALM統計はChiSquareDistributionに従う:
data = RandomVariate[NormalDistribution[], {1000, 2000}];T = JarqueBeraALMTest[#, "TestStatistic"]& /@ data;Show[Histogram[T, 40, "PDF"], Plot[PDF[ChiSquareDistribution[2], x], {x, 0, 10}, PlotStyle -> Thick]]DistributionFitTest[T, ChiSquareDistribution[2], "TestDataTable"]DistributionFitTest[T, ChiSquareDistribution[2], "ShortTestConclusion"]Jarque–Bera ALM検定は入力がTimeSeriesのときにのみ値に使うことができる:
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];JarqueBeraALMTest[ts]JarqueBeraALMTest[ts["Values"]]考えられる問題 (1)
おもしろい例題 (1)
data1 = RandomVariate[NormalDistribution[], {250, 100}];T1 = JarqueBeraALMTest[#, "TestStatistic"]& /@ data1;data2 = RandomVariate[ChiSquareDistribution[50], {250, 100}];T2 = JarqueBeraALMTest[#, "TestStatistic"]& /@ data2;SmoothHistogram[{T1, T2}, Filling -> Axis, PlotRange -> {{0, 40}, All}, PlotLegends -> {"SubscriptBox[H, 0] is True", "SubscriptBox[H, 0] is False"}, PlotRange -> All]関連するガイド
-
▪
- 仮説検定
テキスト
Wolfram Research (2010), JarqueBeraALMTest, Wolfram言語関数, https://reference.wolfram.com/language/ref/JarqueBeraALMTest.html.
CMS
Wolfram Language. 2010. "JarqueBeraALMTest." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/JarqueBeraALMTest.html.
APA
Wolfram Language. (2010). JarqueBeraALMTest. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/JarqueBeraALMTest.html
BibTeX
@misc{reference.wolfram_2026_jarqueberaalmtest, author="Wolfram Research", title="{JarqueBeraALMTest}", year="2010", howpublished="\url{https://reference.wolfram.com/language/ref/JarqueBeraALMTest.html}", note=[Accessed: 03-November-2026]}
BibLaTeX
@online{reference.wolfram_2026_jarqueberaalmtest, organization={Wolfram Research}, title={JarqueBeraALMTest}, year={2010}, url={https://reference.wolfram.com/language/ref/JarqueBeraALMTest.html}, note=[Accessed: 03-November-2026]}