Python 为什么Jarque Bera测试正确值只返回0?

Python 为什么Jarque Bera测试正确值只返回0?,python,pandas,normal-distribution,Python,Pandas,Normal Distribution,我测试jarque_bera的代码如下: for x in data.columns.values: print(x, "-", stats.jarque_bera(data[x])) 结果是 这是否意味着我的数据帧的所有列都没有标准化?jarque_bera测试正在测试零假设,即您的值以相同的正态分布偏度和峰度分布 发生的情况是,对于每个测试,您的测试统计数据都足够大,以至于p值非常小,因此python只显示0。Scipy使用cdf来计算p值,该值仅限于e-16。使用sf可以给出小

我测试jarque_bera的代码如下:

for x in data.columns.values:
    print(x, "-", stats.jarque_bera(data[x]))
结果是


这是否意味着我的数据帧的所有列都没有标准化?

jarque_bera测试正在测试零假设,即您的值以相同的正态分布偏度和峰度分布

发生的情况是,对于每个测试,您的测试统计数据都足够大,以至于p值非常小,因此python只显示0。Scipy使用
cdf
来计算p值,该值仅限于
e-16
。使用
sf
可以给出小数,直到它下溢为止

from scipy import stats

stats.chi2.cdf(1154.1959249402914, 2)  
#1.0

# scipy reported p-value
1 - stats.chi2.cdf(1154.1959249402914, 2)
#0.0

# This function gives us decimals
stats.chi2.sf(1154.1959249402914, 2)
#2.3417438136962163e-251

它不是真的0,但是p值非常小,它只显示0。无论采用哪种方法,您都可以轻松地拒绝零假设,即您的变量具有相同的正态分布的偏度和峰度。(请注意,这与“normalized”不同,后者通常具有与值的某些缩放相关的其他含义。)好的,谢谢!我也是这么想的这是一个统计问题而不是编程问题,不是吗?此外,不鼓励使用屏幕截图来共享信息,并且只应在绝对必要时进行。