当我认为应该为负时,偏斜计算为正。为什么是这样?

Skew calculation positive when I believe it should be negative. Why is this?

使用以下代码,无论大多数计数在哪里,我都会得到正偏斜,这是为什么?

import numpy as np
from scipy import stats

negativeSkew = np.array([1,1,1,1,1,1,100])
positiveSkew = np.array([100,1,1,1,1,1,1])

print stats.skew(negativeSkew) # 2.04124145232
print stats.skew(positiveSkew) # 2.04124145232

来看

https://en.wikipedia.org/wiki/File:Negative_and_positive_skew_diagrams_(English).svg

不应该是一正一负吗?

skew 计算一组值的偏差,值的顺序无关紧要(类似于传递给 np.meannp.std 的值的顺序)没关系)。

由于您每次都传递相同的数字,所以结果是相同的。

这是一个简单的负偏斜和正偏斜的示例:

>>> stats.skew([-1, 0, 1, -100])
-1.153777116551257

>>> stats.skew([-1, 0, 1, 100])
1.153777116551257