JarqueBeraALMTest[data]
使用 Jarque-Bera ALM 检验法判断 data 是否服从正态分布.
JarqueBeraALMTest[data,"property"]
返回 "property" 的值.
JarqueBeraALMTest
JarqueBeraALMTest[data]
使用 Jarque-Bera ALM 检验法判断 data 是否服从正态分布.
JarqueBeraALMTest[data,"property"]
返回 "property" 的值.
更多信息和选项
- JarqueBeraALMTest 执行 Jarque-Bera ALM 拟合优度检验,其中零假设
为 data 从一个NormalDistribution 中抽取,而备择假设
认为并不服从. - 默认情况下,返回一个概率值或者
值. - 小的
-值建议 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)
执行 Jarque-Bera ALM 检验对正态性进行校验:
data = RandomVariate[NormalDistribution[], 10^4];JarqueBeraALMTest[data]data = RandomVariate[MultinormalDistribution[{1, 2, 3}, IdentityMatrix[3]], 1000];JarqueBeraALMTest[data]从一个 Jarque-Bera ALM 检验,提取检验统计量:
data = RandomVariate[NormalDistribution[], 10^3];JarqueBeraALMTest[data, "TestStatistic"]范围 (6)
检验 (3)
执行 Jarque-Bera ALM 检验对正态性进行校验:
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)
修正拉格朗日乘子(Adjusted Lagrange Multiplier)方法胜过传统的 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"]仅当输入是 TimeSeries 时,Jarque–Bera ALM 作用于数值:
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 语言. 2010. "JarqueBeraALMTest." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/JarqueBeraALMTest.html.
APA
Wolfram 语言. (2010). JarqueBeraALMTest. Wolfram 语言与系统参考资料中心. 追溯自 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]}