如何在 r 中执行 jarque-bera 测试


Jarque-Bera 检验是一种拟合优度检验,用于确定样本数据是否表现出与正态分布相对应的偏度和峰度。

Jarque-Bera 检验统计量始终为正数,如果它远离零,则表明样本数据不服从正态分布。

JB检验统计量定义为:

JB =[(n-k+1) / 6] * [S 2 + (0.25*(C-3) 2 )]

其中n是样本中的观测值数量, k是回归量的数量(如果不在回归上下文中使用,则 k = 1), S是样本的偏度, C是样本的峰度。

正态性零假设下, JB ~

本教程介绍如何在 R 中执行 Jarque-Bera 测试。

R 中的 Jarque-Bera 测试

要对示例数据集执行 Jarque-Bera 测试,我们可以使用tseries包:

 #install (if not already installed) and load tseries package
if(!require(tseries)){install.packages('tseries')}

#generate a list of 100 normally distributed random variables
dataset <- rnorm(100)

#conduct Jarque-Bera test
jarque.bera.test(dataset)

这会生成以下输出:

这告诉我们检验统计量为 0.67446,检验 p 值为 0.7137。在这种情况下,我们将无法拒绝数据呈正态分布的原假设。

这个结果应该不足为奇,因为我们生成的数据集由 100 个服从正态分布的随机变量组成。

相反,考虑一下我们是否生成了一个由 100 个均匀分布随机变量的列表组成的数据集:

 #install (if not already installed) and load tseries package
if(!require(tseries)){install.packages('tseries')}

#generate a list of 100 uniformly distributed random variables
dataset <- runif(100)

#conduct Jarque-Bera test
jarque.bera.test(dataset)

这会生成以下输出:

这告诉我们检验统计量为 8.0807,检验 p 值为 0.01759。在这种情况下,我们将拒绝数据呈正态分布的原假设。我们有足够的证据表明这个例子中的数据不是正态分布的。

这个结果应该不足为奇,因为我们生成的数据集由 100 个服从均匀分布的随机变量组成。毕竟,数据应该是均匀分布的,而不是正态分布的。

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注