• 数据建模中利用3σ剔除异常值进行数据清洗


    方法原理:

            3σ准则又称为拉依达准则,它是先假设一组检测数据只含有随机误差,对其进行计算处理得到标准偏差,按一定概率确定一个区间,认为凡超过这个区间的误差,就不属于随机误差而是粗大误差,含有该误差的数据应予以剔除。
            在正态分布中σ代表标准差,μ代表均值。x=μ即为图像的对称轴
    3σ原则:
            数值分布在(μ-σ,μ+σ)中的概率为0.6827
            数值分布在(μ-2σ,μ+2σ)中的概率为0.9544
            数值分布在(μ-3σ,μ+3σ)中的概率为0.9974
            可以认为,Y 的取值几乎全部集中在(μ-3σ,μ+3σ)区间内,超出这个范围的可能性仅占不到0.3%。

    示例数据:

    日期商品编码销售数量
    02020-12-01A0051
    12020-12-01A0142
    22020-12-01A0073
    32020-12-01A0124
    42020-12-01A0095
    52020-12-01A0196
    62020-12-01A0087
    72020-12-01A0198
    82020-12-01A0029
    92020-12-02A00510

     现在利用3σ剔除异常值的操作。

    1. df_avg = df['销售数量'].mean() # 计算均值
    2. df_std = df['销售数量'].std() # 计算标准差
    3. df['z_score'] = (df['销售数量'] - df_avg)/ df_std
    4. print(display(df))
    5. df = df.loc[(df['z_score']>-3)|(df['z_score']<3)] # 过滤掉销量过高的数据,排除一下异常值干扰
    6. df = df.drop('z_score',axis =1)
    7. print('均值:',df_avg)
    8. print('标准差:',df_std)
    均值: 5.5
    标准差: 3.0276503540974917

    查看处理后的结果:

    日期商品编码销售数量
    02020-12-01A0051
    12020-12-01A0142
    22020-12-01A0073
    32020-12-01A0124
    42020-12-01A0095
    52020-12-01A0196
    62020-12-01A0087
    72020-12-01A0198
    82020-12-01A0029
    92020-12-02A00510

            可以看到结果没有变 ,现在人工加入一个异常值,看看能不能被过滤掉。

            利用loc函数方法进行添加。

    1. df.loc[10]=['2020-12-02','A007',1000]
    2. df

             再运行一下3σ剔除异常值的操作代码,查看结果,异常数据销售数量为1000已经剔除掉

    日期商品编码销售数量
    02020-12-01 00:00:00A0051
    12020-12-01 00:00:00A0142
    22020-12-01 00:00:00A0073
    32020-12-01 00:00:00A0124
    42020-12-01 00:00:00A0095
    52020-12-01 00:00:00A0196
    62020-12-01 00:00:00A0087
    72020-12-01 00:00:00A0198
    82020-12-01 00:00:00A0029
    92020-12-02 00:00:00A00510
  • 相关阅读:
    Java项目:SSM酒店客房管理系统
    上海市培育“元宇宙”新赛道行动方案——虹膜识别技术为其助力
    Java里使用AspectJ实现AOP
    Java之HashMap经典算法-红黑树(插入节点平衡调整,左旋转,右旋转)
    “赋能”企业,数加服装ERP智助企业乘风破浪
    不用充值的OCR识别工具
    你了解TCP协议吗(二)?
    【shell】循环语句(for、while、until)
    【AI视野·今日NLP 自然语言处理论文速览 第七十九期】Thu, 18 Jan 2024
    开发一款小程序游戏需要多少钱?
  • 原文地址:https://blog.csdn.net/jcjic/article/details/125633332