【问题标题】:Skew calculation positive when I believe it should be negative. Why is this?当我认为它应该为负时,偏斜计算为正。为什么是这样?
【发布时间】:2017-11-07 15:58:34
【问题描述】:

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

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

不应该一个是正面的,另一个是负面的吗?

【问题讨论】:

    标签: numpy scipy skew


    【解决方案1】:

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

    由于您每次传递的数字相同,因此结果是相同的。

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

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

    【讨论】:

    • 感谢您的回答。我看到迹象很重要。我相信我的问题是我使用的计数直方图都是正数。如果我想要正偏斜和负偏斜,我可以将计数的前半部分设为负数,将下半部分设为正数。有更好的方法吗?
    • 我想我不明白你在问什么......但是 skew 函数计算值的偏斜,而不是直方图的偏斜。这类似于更熟悉的 meanstd 函数计算值的平均值和标准差,而不是直方图。
    • 值的符号无关紧要:例如,[1, 100, 101, 102] 具有负偏差。
    • 好的,很抱歉造成混乱。我肯定是在尝试计算直方图的偏斜,而不是值的偏斜。如果不是从值的偏斜给出的,我将如何计算直方图的偏斜?
    • 这个答案可能会有所帮助:stackoverflow.com/questions/17588085/…
    猜你喜欢
    • 2021-07-12
    • 2017-09-01
    • 1970-01-01
    • 2020-05-20
    • 2020-08-24
    • 1970-01-01
    • 2012-07-17
    • 1970-01-01
    • 2015-10-02
    相关资源
    最近更新 更多