在资源预测数据中查找异常值

数据挖掘 熊猫 预测
2022-01-23 21:15:47

不确定这是否是放置它的正确位置,如果是,请关闭。

我是一家大型零售公司的劳动力分析师,我拥有并维护我们零售店的所有预测。这是基于产品销售预测,我通过一个模型运行该模型,该模型将各种任务(例如更换货架上的物品或销售汽车警报器)分类为定时类别,例如

项目 A 需要 30 秒,因此 500 个产品预测将允许您(0.5 * 500)或 4.1 小时,然后进一步划分为每周分配。

现在,对于我运行的这个模型的每次迭代,总是存在异常值(读取错误),例如商店 Y 在第 22 周没有产品组 X 的产品量,这是财务团队的错误。

我的前辈说过,在他在公司工作 8 年左右的时间里,情况一直如此。

现在,在我的脑海中,我假设我可以使用某种统计方法根据历史数据找到异常值,但是,我不知道从哪里开始,我的数据如下,大约有 1000 万行数据。

import pandas as pd
import numpy as np

data =  [19,21,24,18,3]
pg = ['PG','ZF','AA','GG','ZF']
location = ['AA_1','AA_1','AA_2','AA_2','AA_2']
weeks = [1,1,2,2,2]

df = pd.DataFrame({'Location' : location,
            'productGroup' : pg,
            'Week' : weeks,
            'productVolumes' : data })
print(df)


  Location  productGroup    Week    productVolumes
0   AA_1    PG  1   19
1   AA_1    ZF  1   21
2   AA_2    AA  2   24
3   AA_2    GG  2   18
4   AA_2    ZF  2   3

在您的专家意见中,最好的方法是什么?

1个回答

检测异常值的方法不止一种。大多数统计方法都假设一个潜在的正态分布。如果是这种情况,您可以申请例如 Thompson Tau 测试。您还可以定义一些自己的标准。在您的用例中,我认为一个重要的问题是:如果您删除或修改丢失的数据,模型的质量会发生什么变化。这让您了解如何处理这些缺失的数据点。