如何在 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 个服从均匀分布的随机变量组成。毕竟,数据应该是均匀分布的,而不是正态分布的。