如何在 python 中找到倾斜数据的起点?

数据挖掘 Python 统计数据 海运
2022-01-21 11:47:29

我有一个这样的清单,

import random
import seaborn as sns

years = []

for i in range(1000):
    if i % 100 == 0:
        val = random.randint(1900, 2000)
    else:
        val = random.randint(2000, 2021)

    years.append(val)

sns.distplot(years);

这是输出图, 分布图

可以看到,2000年之后有一个密度,在这之前没有太多数据。我的问题是如何在倾斜数据中找到这一点?有没有给出这个的公式?任何的想法?提前致谢。

2个回答

根据您想要的级别,我建议从删除计数较低的数据开始:

  • 将您的数据分箱(相当于您通过绘制直方图所做的)
  • 计算每个 bin 中的值
  • 看看这些值的分布。
  • 删除最低计数
  • 将剩余部分的最小值截断
  • 尝试不同的 bin 大小

这应该包括获得价值。

然后您可能想对基础过程做出一些假设,然后尝试对之前/之后的数据进行一些统计测试,看看差异是否显着。

尝试寻找异常值的方法,例如 Tukey 的栅栏或修改后的 Thompson 的 tau。