gpt4 book ai didi

python - Matplotlib 中的 Tukey Boxplots - 代码中的异常值逻辑?

转载 作者:太空宇宙 更新时间:2023-11-03 16:32:01 32 4
gpt4 key购买 nike

在阅读a related question in StackOverflow的答案时,我看到matplotlib中使用的代码to compute the wiskers positions and detect outliers :

    # get high extreme
iq = q3 - q1
hi_val = q3 + whis * iq
wisk_hi = np.compress(d <= hi_val, d)
if len(wisk_hi) == 0 or np.max(wisk_hi) < q3:
wisk_hi = q3
else:
wisk_hi = max(wisk_hi)

现在,else 部分非常有意义 - 根据 Tukey boxplots 的规范,我们找到上四分位数 1.5 IQR 范围内的最高数据。事实上,这就是 max(wish_hi) - 低于 Q3+1.5*IQR 的最大数据条目。

但是部分...我不明白。 if len(wisk_hi) == 0 转换为...

if we find no elements below the `hi_val` ...

这个条件如何适用? Q3 是通过将数据拆分为中位数,然后取上半部分的中位数,然后在其上添加 1.5*IQR 来找到的 - 怎么可能没有数据下半部分强>比这个值?

如果这是关于空数据集,则 的第二部分也没有意义(因为没有数据,Q3 或 IQR 就没有意义)。

可能缺少一些明显的东西 - 帮助?

最佳答案

四分位距可能存在偏差。 “上邻接值可以小于 Q3,这会强制将 mustache 从 Q3 拉入盒子中。下邻接值也可以大于 Q1,这会强制将 mustache 从 Q1 拉入盒子中。” (source)

IQR = Q3 - Q1

下限:Q1 - 1.5(Q3 - Q1)

上限:Q3 + 1.5(Q3 - Q1)

查看链接中的数据。

关于python - Matplotlib 中的 Tukey Boxplots - 代码中的异常值逻辑?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37522002/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com