python - 在数组中查找不寻常的值,列表

标签 python algorithm algorithmic-trading

我有数组形式的销售统计数据,可以根据这些数据计算标准偏差或平均值。

stats = [100, 98, 102, 100, 108, 23, 120] 

假设+-20%的差异是正常情况,23显然是特例。

找到这个异常值的最佳算法是什么(在任何语言、伪或任何原则中)?

最佳答案

您可以将它们转换为 Z-scores并寻找异常值。

>>> import numpy as np
>>> stats = [100, 98, 102, 100, 108, 23, 120]
>>> mean = np.mean(stats)
>>> std = np.std(stats)
>>> stats_z = [(s - mean)/std for s in stats]
>>> np.abs(stats_z) > 2
array([False, False, False, False, False,  True, False], dtype=bool)

关于python - 在数组中查找不寻常的值,列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10510169/

相关文章:

python - 如何在 Python 中创建一个简单的标志

python - python中的视频和音频处理库

python - argparse:包括默认值并键入 '--help'

python - 使用 xlwt 复制工作表

algorithm - 如何在方形网格上创建分支静脉/河流结构

c++ - 在 C++ 中生成 N 选择 K 排列

python - Python 中可以进行深度猴子修补吗?

algorithm - 具有重复值的大型二叉树中两个值之间的最小距离

bloomberg - 任何使用彭博逐笔数据的开源回测引擎?

python - 在没有 sudo 权限的 Linux 系统上安装 Python TA-lib 包时出错