我不了解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
答案 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