jarque bera测试结果

时间:2019-05-16 13:05:03

标签: python scipy

我不了解Jarque Bera测试的结果。

from statsmodels.stats.stattools import jarque_bera    
np.random.seed(123)
jarque_bera(np.random.normal(-5, 1, 1000))

结果:

(0.1675179797931011,
 0.9196528750223983,
 -0.029040113501245704,
 2.9745614712223074)

第三个值看起来像P值。我以为其他的是峰度和偏斜度,还有我所不知道的第四度。

所以我检验了我的理论,但是按照下面的代码是错误的:

import scipy.stats as stats

print(stats.skew(np.random.normal(-5, 1, 1000)))
print(stats.kurtosis(np.random.normal(-5, 1, 1000)))

-0.19743173433793879
-0.11038007419823126

1 个答案:

答案 0 :(得分:2)

您需要n > 2000 for the Jarque Bera test to be valid

输出给您; the test stat, the p value, skew, kurtosis in that order.不确定为什么不在文档中吗?

实施的Jarque Bera测试也使用Pearson’s definition of kurtosis not Fisher's,所以...

from statsmodels.stats.stattools import jarque_bera  
import scipy.stats as stats
import numpy as np

np.random.seed(123)
samples = np.random.normal(-5, 1, 3000)

print(jarque_bera(samples))
print(stats.skew(samples))
print(stats.kurtosis(samples, fisher=False))

输出..

(3.9600892567754835, 0.13806307564092868, -0.08899286958111645, 3.0013381737844793)
-0.08899286958111645
3.0013381737844793