精华内容
下载资源
问答
  • 2021-12-09 16:58:39

    数据分析--异常检测

    更多相关内容
  • 数据异常分析方法论总结

    千次阅读 2020-06-29 12:44:00
    走过路过不要错过点击蓝字关注我们数据异常分析作为数据分析日常工作中“再正常不过”的常规工作内容,经常出现在需求方的沟通消息中,"Hello,某某数据很异常啊,能查下原因么?”虽然...

    走过路过不要错过

    点击蓝字关注我们

    数据异常分析作为数据分析日常工作中“再正常不过”的常规工作内容,经常出现在需求方的沟通消息中,"Hello,某某数据很异常啊,能查下原因么?”

    虽然近乎一半的“数据异常”最后检查下来,都是口径不一致等的理解问题,但即便砍掉这部分需求,剩下的需求工作量也是不少的。

    本着“重复性需求”要想办法自动化解决或者沉淀出方法论(固定套路)让“小弟”去解决的“方针”,(咳咳,弟弟,我这不是害你呀,我这是爱你呀),我寻思着写写异动分析的方法论。

    具体步骤如下,enjoy.

    Step 0. 明确需求是不是真的是异动分析需求

    这一步准确来讲,其实不是异动分析的步骤,而是承接需求的工作习惯;所以本步骤记为 Step 0 吧。

    像上边说的那样,在真正的工作中,异动分析类的需求有不少都是理解偏差的伪需求,所以在接到需求时,不要着急马上就去拆解思路查问题;而是应当询问清楚需求方,Ta的数据异常结论是怎么得出来的,看了哪些数据。

    然后自己按照需求方发现问题的过程,检查一遍数据,排查是否是如下原因引起的伪需求:

    (1) 数据口径不一致等理解差异;

    (2) 数据源更新延迟等数仓侧原因;

    (3) 数据未上报/未采集等开发侧原因;

    Step 1.定位呈现问题的最小单元

    先解释下什么叫最小单元。最小单元就是对有这样问题表现的群体(即集合)进行不同维度(特征)的划分,直到找到某个集合,该集合中的群体都有这样的问题表现。

    举个例子,假设我们发现,某电商交易平台月活客户数持续下降。

    在问题提出时,我们得到的群体是“平台特定周期内所有活跃客户”,但是具体去看的时候,发生活跃度降低的用户群可能仅仅是某些渠道来的新客,也可能是具有某些群标签的老客,也可能是某些地区的用户(无新老客的差异),而我们要做的,就是对“平台特定周期内的活跃客户”进行一级*二级*三级等粒度维度的划分,具体去看呈现出异常表现的是具有哪些特征的人群。

    图1. 拆分所有维度/特征

    在这一步,用到的仅仅是人群维度的结构化拆解,注意维度列举时应遵循MECE原则,即:相互独立,完全穷尽。

    Step 2. 基于最小单元,梳理相关因素,进行猜想验证

    假设在第一步,我们定位到问题呈现现的最小单元是:某些投放渠道来的新客、某些城市的新客和某些城市的老客;

    图2. 验证相关维度/特征

    基于第一步的“最小单元”,梳理出每个单元涉及的相关方和相关因素。

    其中相关因素就涉及需求方的工作了,所以记得平时多和需求方沟通学习,了解合作方的工作内容。数据分析师能力模型中,所谓的“懂业务”,一部分就是可以通过这种多沟通的方式得到提升,特别是当你遇到一个很专业很能打的合作方。

    图3. 相关因素穷举

    针对梳理出来的因素,我们可以提出猜想并进行验证(以排除无关因素):

    1、【渠道】是不是渠道本身质量有问题?

    2、【渠道】是不是投放渠道配置的素材有问题,以致吸引的客群质量不佳?

    3、【渠道】是不是投放选的人群标签不对?

    4、【地区】是不是有竞对在分走客户?

    5、【地区】是不是区域的运营策略做了调整且调整后效果没有之前好?

    6、【地区】是不是区域最近有什么大事件,影响用户消费?

    ......

    列出各种猜想后,通过搜集相关资料和数据,来排除肯定错误的猜想,保留有证据支持的猜想。

     

    图4. 验证有效因素

    Step 3. 测算每个因素对结果的“贡献度”

    在第二步的基础上,排除掉确定无关的因素,且有证据表明剩余因素相关,若相关因素唯一,则原因定位到了,反馈给合作方,后续持续跟进问题解决即可;

    若相关因素不唯一,则需要通过对比分析等方法,测算出各个因素对结果的影响程度,和需求方一起讨论解决方案以及各个子方案的优先级。

    番外.碰到实在分析不出原因的数据异常怎么办?

    上述的方法一定程度上可以解决大多数异动分析问题,但是还是会遇见一些无法通过数据分析定位到异常原因的数据异常,这个时候就得上用户调研了。

    高手在民间,用户的行为,只有你想不到,没有他们做不到的。实在分析不出来,就去回访用户爸爸吧。

    热门文章

    直戳泪点!数据从业者权威嘲讽指南!

    数据分析师做成了提数工程师,该如何破局?

    全栈型VS专精型,团队到底需要什么样的人?

    数据驱动业务,比技术更重要的是思维的转变

    最近面了十多个数据分析师,聊一聊我发现的一些问题

    【您的在看,我的莫大鼓励】

    展开全文
  • 介绍一个用Python对Excel表格数据进行去重、分类、异常处理及分析的实例。

    前言:

    介绍一个用 Python 实现对 Excel 表格中的数据进行去重、分类、标记异常数据等功能的实例。

    虚拟文件简介:
    有一份电商数据的 Excel 表格数据,该数据中有部分字段缺失和数据异常,表格部分数据如下:

    在这里插入图片描述
    数据下载地址:示例数据下载地址注:因实例演示需要,数据有删改,操作Excel文件可私信或留言咨询。

    具体需求:

    1、数据去重: 读取所有数据,对数据中每个字段内容都一致的数据删除;
    2、数据分类: 按分类二对数据进行分类,将每类数据写入不同的sheet表中;
    3、异常处理: a:标记商品名称为空,市场价、店铺价、数量为NA的数据(红色字体); b: 标记店铺价大于市场价的数据(橙色字体);
    4、数据分析: 找出每类商品中(按分类三)市场价与商品价差距最大的数据,并加粗斜体、蓝色字体显示;
    5:用函数封装完成上述需求的代码。

    最终完成效果图:
    在这里插入图片描述

    主要实现代码及思路:

    1、主要思路:

    实现上述需求的主体思路为:

    第一步: 先获取到Excel的所有数据,因为每一行数据是一条独立数据,所以读取数据的方式为按行读取;
    第二步: 去除重复数据,遍历读取到的数据,如果数据全部字段都相同则删除重复数据。

    这里有一个问题,是先查找异常数据还是先对数据进行分类?
    考虑到需要在新建的Excel表格里标记异常数据,所以先对数据按分类二字段分类,再对分类后的数据进行异常处理会好更简单一点。

    第三步: 按分类二字段对数据分类,以字典数据结构存放分类数据。再对每类数据进行异常处理及数据分析,因需要是要标记异常值及分析后数据值,所以异常分析函数和数据分析函数只记录异常数据和数据分析结果数据的索引值。
    第四步: 创建异常数据和分析结果数据标记的样式表,将数据写入Excel表格。先按分类二创建不同的sheet表写入数据,再对每一类数据的异常数据按创建的样式重写数据。

    以下是实现上述分析的具体函数:

    2、读取数据函数:

    模块导入:

    import xlrd
    import xlwt
    

    用 xlrd 模块按行读取文件数据:

    # 读取数据方法
    def read_data(path):
        # 打开Excel文件,获取sheet对象
        work_book = xlrd.open_workbook(path)
        sheet = work_book.sheet_by_index(0)
        # 按行获取所有数据
        all_data = sheet._cell_values
        return all_data
    
    3、数据去重函数:

    数据去重函数:主要模拟pandas模块dataframe 里对数据去重的方法。

    主要思路为:

    1、先创建一个将放入bool值的 tag 列表;
    2、创建一个中间列表存放临时查重值;
    3、遍历需查重对象,没有重复的放入临时列表,tag 列表增加 True 值;
    4、重复对象不放入临时列表,tag 列表增加 False 值;
    5、根据 tag 列表提取查重对象无重复对象和重复对象。

    代码:

    # 数据去重
    def del_duplication(data):
        tags = [] #
        m = []
        for ds in data:
            if ds not in m:
                m.append(ds)
                tags.append(True)
            else:
                tags.append(False)
        clean_data = [ds for i,ds in enumerate(data)
                      if tags[i]]
        del_data = [ds for i,ds in enumerate(data)
                    if not tags[i]]
        del m
        return clean_data,del_data
    

    测试:

    c_data,d_data = del_duplication(data) # data 为读取的所有数据
    # 删除的重复数据
    print(d_data)
    

    打印截图:

    在这里插入图片描述

    4、数据分类函数:

    依据 Excel 文件中 分类2 字段对数据进行分类:

    # 数据分类
    def classify_data(data):
        class_data = {}
        for ds in data:
            if ds[2] not in class_data.keys():
                class_data[ds[2]] = [ds]
            else:
                class_data[ds[2]].append(ds)
    
        return class_data
    

    测试:

    d2 = classify_data(c_data[1:])
    print(d2.keys())
    # 打印结果
    # dict_keys(['男装', '男鞋'])
    

    按分类2进行分类时,数据被分为 2 类:男装、男鞋。

    5、查找异常数据:

    异常数据有两种,情形一:是数据为空或为NA值,情形二:店铺价大于市场价。

    筛选情形一异常值函数:

    # 查找异常数据,缺失数据、NA数据
    def strange_data(data):
        strange_index = []
        for i,ds in enumerate(data):
        	# 数据为空时
            if ds[0] == '':
                strange_index.append(i)
            # 数据为NA 值时
            elif ds[5] == 'NA':
                strange_index.append(i)
            elif ds[6] == 'NA':
                strange_index.append(i)
            elif ds[7] == 'NA':
                strange_index.append(i)
        return strange_index
    

    注:返回的是异常数据在所有数据中的索引值。

    筛选情形二异常值函数:

    # 店铺价大于商场价的数据
    def strange_data_2(data):
        strange_index = []
        for i,ds in enumerate(data):
            try:
                if float(ds[6]) > float(ds[5]):
                    strange_index.append(i)
            except:
                pass
        return strange_index
    

    注:因数据的商场价或店铺价可能为NA值,所以这里用 try 捕捉下异常情况。

    6、数据分析函数:

    按分类三,查找每类商品中市场价与商品价差距最大的数据:

    # 数据分析
    def analysis_data(data):
        # 按分类 3 分类对数据进行分类
        class_3_data = list(set([ds[3] for ds in data]))
        max_index = []
        for tag in class_3_data:
            middle_ = {}
            for i,ds in enumerate(data):
                if ds[3] == tag:
                    try:
                        middle_[i] = float(ds[5])-float(ds[6])
                    except:
                        middle_[i] = 0
            max_value = max(middle_.values())
            max_index += [key for key in middle_ if middle_[key] == max_value]
    
        return max_index
    

    注:数据分析和异常处理共三个函数,可以好好理一下里面的思路。

    7、汇总异常数据及数据分析数据函数:
    # 汇集异常数据、及数据分析后数据信息
    def data_index(data):
        data_dict = {}
        for key in data.keys():
            # 缺失数据索引
            index_1 = strange_data(data[key])
            # 店铺价大于商场价的数据索引
            index_2 = strange_data_2(data[key])
            # 数据分析结果索引
            index_3 = analysis_data(data[key])
            data_dict[key] = [index_1,index_2,index_3]
    
        return data_dict
    
    8、创建标记样式函数:
    # 建立样式
    def styles():
        # 红色字体
        style1 = xlwt.XFStyle()
        font1 = style1.font
        font1.colour_index = 0x0A
        # 橙色字体
        style2 = xlwt.XFStyle()
        font2 = style2.font
        font2.colour_index = 0x35
        # 加粗斜体蓝色字体
        style3 = xlwt.XFStyle()
        font3 = style3.font
        font3.italic = True
        font3.bold = True
        font3.colour_index = 0x0C
    
        return style1,style2,style3
    

    不清楚如何用 xlwt 模块设置单元格样式可参考:单元格格式、字体格式、对齐方式、边框等设置方法

    9、写入Excel表格函数:
    # 将数据写入Excel表格
    def create_excel(data,labels,data_index,file_name):
        # 建立字体格式
        s1,s2,s3 = styles()
        styles_ = [s1,s2,s3]
        # 建立工作薄
        work_book = xlwt.Workbook()
        for key in data.keys():
            # 建立sheet表,打开单元格重写
            sheet = work_book.add_sheet(key,cell_overwrite_ok = True)
            # 在sheet表中写入行标签
            for col_,label in enumerate(labels):
                sheet.write(0,col_,label)
    
            # 先按默认格式写入所有数据
            for row,ds in enumerate(data[key]):
                for col,d in enumerate(ds):
                    sheet.write(row+1,col,d)
    
            # 再按标记索引重写被标记的数据
            for i,ixs in enumerate(data_index[key]):
                for ix in ixs:
                    for col,d in enumerate(data[key][ix]):
                        sheet.write(ix+1,col,d,styles_[i])
    
        work_book.save(file_name)
    

    注:这里在创建sheet表时 add_sheet(key,cell_overwrite_ok = True) 重写设置需打开。

    主代码:

    if __name__ == '__main__':
        data = read_data('test01.xls')
        c_data,d_data = del_duplication(data)
        heads = c_data[0]
        d2 = classify_data(c_data[1:])
        ixs = data_index(d2)
        new_excel = create_excel(d2,heads,ixs,'new.xls')
    

    创建的 new.xls 文件截图:
    异常数据标记效果图:

    在这里插入图片描述
    按分类三分类计算的商场价与店铺价差价最大的标记效果图:
    在这里插入图片描述

    结尾:

    以上就是本篇博客的全部内容了,如有不清楚的地方可查看往期博客,感谢阅读。

    【Python与Office】专栏

    该专栏会对 Python 的第三方模块,如:xlwt,xlrd,python-docx等,操作 Office 办公软件(Word Excel PPT)的方法进行详细讲解。同时也会搭配一些实例演练,一方面强化知识点的理解与运用,另一方面也希望能起到,引导读者进行思考:如何用 python 提高 offic 办公软件办公效率的作用。

    感兴趣的朋友,可以点个 关注收藏 。如在博客中遇到任何问题或想法,可留言或私信。

    创作不易,你的支持是我最大的动力,感谢 !

    展开全文
  • 数据分析 | 异常数据识别小结

    千次阅读 2021-03-16 15:31:53
    单变量数据异常识别2.1 简单统计量分析2.2 三倍标准差2.3 box-cox转化+3倍标准差基本介绍基本公式Box-Cox优势python 实现2.4 箱线图3. 时间序列数据异常识别3.1 设置恒定阈值3.2 设置动态阈值-移动平均法3.3 STL...

    1. 定义与使用场景

    定义

    异常检测,即发现一组数据点中和大多数数据不同的数据点。如果你要去网上搜索英文文献,可以用下面这几个关键字:outlier detection,deviation detection,exception mining或者anomly detecton。但最常用的英语叫法还是outlier detection和anomly detection。
    异常检测的方法有很多,基于统计的方法,基于机器学习的方法,基于时间序列的方法等。所有这些方法都是基于一个异常点的稀有性或者与正常数据点的不一致性。异常点或者目标一般都比较稀有,即出现频率低。比如我们说一件事是“万里挑一”,说的就是稀有性。

    使用场景

    当前异常数据识别的使用场景主要有以下2方面:

    1. 数据分析和数据挖掘在正式分析前的数据处理,识别异常数据后,删除或者修正异常数据,避免异常数据影响分析结论;
    2. 数据去噪:一些异常数据可能会导致数据的期望或者方差等严重偏离正常,利用异常检测方法检测出数据中的噪声通常是数据预处理中很重要的一步。
    3. 风控业务,通过数据识别异常用户、异常访问、异常订单、异常支付等,避免黑产团队入侵。

    数据异常的原因

    1. 来自不同类的数据
      一个个体不同于其他个体可能是因为他们的数据源不同,即来自不同的类型或者类别。比如一个盗刷别人的信用卡的用户,跟一个合法的信用卡用户属于两类人。一堆体检男性报告中夹杂着一份女性的体检报告,女性的这份报告的和其他男性报告的本来就是不同的性别。
    2. 自然变异
      很多数据集都满足正态分布,正态分布中,的确会有极其个别样本偏离均值。比如姚明的身高就比一个普通人的身高高几十公分。
    3. 度量和采集造成的异常
      好多数据都是靠仪器和人测量整理的,这难免会有纰漏,比如一个体重秤可能出问题了,那这个秤测量的数据就不靠谱了,或者测量员刚好心情不爽,记录测量数据的时候随便填了一个数。

    https://zhuanlan.zhihu.com/p/26001674

    2. 单变量数据异常识别

    2.1 简单统计量分析

    对变量做描述性统计,然后再基于业务考虑哪些数据是不合理的。常用的统计量是最大值和最小值,判断这个变量是否超过合理的范围。例如:用户的年龄为150岁,这就是异常的。

    2.2 三倍标准差

    定义:如果单变量数据服从正态分布,异常值被定义为与平均值偏差超过3倍标准差的值。
    原因:是因为在正态分布的假设下,偏离均值3倍标准差出现的概率小于0.003,是一个小概率事件。
    在实际分析中,我们也不一定要拘泥于3倍标准差,可以根据实际严格程度定义,如偏离均值的4倍标准差。

    2.3 box-cox转化+3倍标准差

    基本介绍

    在这里插入图片描述

    基本公式

    如果原始数据的分布是有偏的,不满足正态分布时,可通过BOX-COX转化,在一定程度上修正分布的偏态。转换无需先验信息,但需要搜寻最优的参数λ。Box-Cox变换的一般形式为:
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述

    Box-Cox优势

    https://wenku.baidu.com/view/96140c8376a20029bd642de3.html
    在这里插入图片描述
    在这里插入图片描述

    python 实现

    式中y(lambda)为经Box-Cox变换后得到的新变量,y为原始连续因变量,lambda为变换参数。
    · 以上变换要求原始变量y取值为正,若取值为负时,可先对所有原始数据同加一个常数a,使其(y+a)为正值,然后再进行以上的变换。
    · 常见的lambda取值为0,0.5,-1;
    lambda = 0,时该变换为对数变换,
    -1时为倒数变换,
    0.5时为平方根变换。
    Box-Cox的python实现如下,可直接通过函数boxcox找到最优的lambda和转化后的值:

    2.4 箱线图

    箱形图(Box plot),又称为盒须图、盒式图、盒状图或箱线图,是一种用作显示一组数据分散情况的统计图。
    它能显示出一组数据的最大值、最小值、中位数及上下四分位数;

    箱线图提供了一种数据识别的标准:异常值通常被定义为小于下边缘或者大于上边缘的数据为异常值。如下图所示:
    上四分位数:1/4的样本值取值比他大
    下四分位数:1/4的样本值取值比他小
    上边缘=上四分位数+1.5*(上四分位数-下四分位数)
    下边缘=下四分位数-1.5*(上四分位数-下四分位数)

    箱线图识别异常数据的优势:

    1)箱线图根据数据的真实分布绘制,他对数据不做任何限制性的要求,比如要服从正态分布等;
    2)箱线图异常数据识别依赖于上四分数和下四分位数,因此异常值极其偏差不会影响异常值识别的上下边缘。这一点是优于3倍标准差方法的。

    3. 时间序列数据异常识别

    日常工作中还有一种场景,是需要对时间序列数据进行监控,如:订单量、广告访问量、广告点击量;我们需要从时间维度识别出是否异常刷单、刷广告点击的问题。像广告投放场景下,如果发现渠道刷量,会及时停止广告投放,减少损失。
    对于时间序列数据异常识别,根据数据不同的特点,识别方法不同。

    3.1 设置恒定阈值

    如果时间序列呈现平稳分布状态,即时间序列数据围绕中心值小范围内波动;我们可以定义上下界的恒定阈值,如果超过上下阈值则定义为异常。

    3.2 设置动态阈值-移动平均法

    所谓动态阈值是指,当前时间的异常阈值是由过去n段时间的时序数据计算决定的;通常对于无周期,比较平稳的时间序列,设定动态阈值的方法是移动平均法。

    所谓移动平均法是:
    就是用过去n个时间点的时序数据的平均值作为下一个时间点的时序数据的预测,
    异常数据识别即是:确定固定移动窗口n,以过去n个窗口的指标平均值作为下一个窗口的预测值;以过去n个窗口的指标的平均值加减3倍方差作为监控的上下界。

    使用范围:数据无周期性,数据比较平稳。

    3.3 STL数据拆解法

    如果时间序列数据是周期性数据,可使用STL算法将时序数据拆解成趋势项、周期项和余项。即每个时刻的时序数据等于当前时序趋势项、周期项和余项的和(或者乘)。

    趋势项(T_v):涵盖了这个时序数据的趋势变化;
    周期项(S_v):涵盖了时序数据的周期变化;
    余项(R_v):表示时序数据除去趋势项和周期项后的日常波动变化。

    一般使用STL需要确定2个点:
    1)确定数据周期,如外卖业务的一个常规周期为7天。
    2)拆分规则,是选择加法方式还是乘法方式。

    加法方式:原始数据 = 平均季节数据 + 趋势数据 + 余项这种方式,随着时间的推移季节数据不会有太大的变化,在以七天为一大周期的业务数据更适合这样的拆分方式。
    乘法方式:原始数据 = 平均季节数据 * 趋势数据 * 余项这种方式,直观感受是随着时间的推移季节数据波动会非常明显。

    至于如何要判断某事的时序数据是否异常,是根据STL分解后的余项来判断;一般情况下,余项部分的时序数据是平稳分布状态,我们可对余项设置恒定阈值或者动态阈值,如果某个时间节点的分解余项超过设定阈值,则是异常数据。

    python可以用seasonal_decompose可以将时间序列数据拆解成三部分,具体函数代码如下:

    import statsmodels.api as sm
    from statsmodels.tsa.seasonal
    import seasonal_decompose
    import matplotlib.pyplot as plt
    # Multiplicative Decomposition(乘法方式分解)
    result_mul = seasonal_decompose(data1, model='multiplicative', extrapolate_trend='freq')
    Actual_Values = result_mul.seasonal * result_mul.trend * result_mul.resid
    # Additive Decomposition(加法方式分解)
    result_add = seasonal_decompose(data1, model='additive', extrapolate_trend='freq')
    Actual_Values = result_mul.seasonal + result_mul.trend + result_mul.resid
    

    4. 多变量异常数据识别

    所谓多变量数据异常识别是指:不只从一个特征去判读数据异常,而是在多个特征下来判断其是否异常。多变量异常数据识别的方法很多,比如聚类模型、孤立森林模型、one-class svm模型等。下面主要介绍简单高效,更容易使用的孤立森林模型。

    4.1 孤立森林模型

    孤立森林iForest (Isolation Forest) 是一个可扩散到多变量的快速异常检测方法。iForest 适用于连续数据的异常检测,将异常定义为“容易被孤立的离群点——可以理解为分布稀疏且离密度高的群体较远的点。用统计学来解释,在数据空间里面,分布稀疏的区域表示数据发生在此区域的概率很低,因而可以认为落在这些区域里的数据是异常的。
    iForest属于非监督学习的方法,即不需要有标记的训练。

    展开全文
  • Python数据分析入门笔记1——学习前的准备 Python数据分析入门笔记系列文章目录一、pandas是什么?二、使用步骤1.引入库2.读入数据总结 # 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的...
  • 数据分析-数据异常的排查方法 数据异常主要从两个大方向进行排查:①数据是否有问题?②业务是否有问题? 第一个方向:数据是否有问题,即数据是否是真的异常? (1)亲自查看数据准确性,不要人云亦云 (2)时间轴...
  • python数据分析实战之异常值处理

    千次阅读 2021-09-17 09:28:44
    异常值处理1、异常值定义2、异常值处理方式3、实战 1、异常值定义 2、异常值处理方式 3、实战
  • 数据异常的三种主要类型 (1)违背常识的错误 比如调查上海市某小区居民的月收入,出现了小王的收入为-5000,这就属于异常值 (2)数据的离群值 离群值是指与其他数据差异较大,会对数据分析结果产生影响的观测值,...
  • 数据分析--异常值处理

    千次阅读 2020-10-04 18:19:35
    模型通常是对整体样本数据结构的一种表达方式,这种表达方式通常抓住的是整体样本一般性的性质,而那些在这些性质上表现完全与整体样本不一致的点,我们就称其为异常异常点在某些场景下极为重要,如疾病预测,...
  • 数据分析报告的通用结构

    千次阅读 2020-09-15 22:27:59
    根据阅读《数据分析师养成宝典》及个人理解后所得。 完成一份数据分析报告的整个流程: 明确业务目标; 数据准备; 数据指标与分析; 撰写分析报告; 明确业务目标 了解必须的业务信息,明确问题类型,因为不同的...
  • 箱型图可以通过程序设置一个识别异常值的标准,即大于或小于箱型图设定的上下界的数值则识别为异常值,箱型图如下图所示: 首先我们定义下上四分位和下四分位: 上四分位我们设为 U,表示的是所有样本中只有1/4...
  • 数据分析异常分析

    千次阅读 2018-09-02 08:08:19
    异常分析又分连续异常值,离散异常值,和知识异常值。 一.连续异常值  Q3,Q2,Q1分别为上四分位数,中位数和下四分位数 如图上下界之间的为正常值,那么上下界以外的就是异常值了,由此可见,异常值的测定...
  • 数据处理之异常分析、处理

    千次阅读 2018-07-30 21:52:41
    异常值的分析方法 1、简单统计量分析 做一个描述性统计,进而查看哪些数据不合理。最常用的是最大值和最小值,如年龄的最大值199,则存在异常。 2、3σ原则 针对服从正态分布的数据, 3、箱形图分析(R语言)...
  • :博主是正在学习数据分析的一员,博客记录的是在学习过程中一些总结,也希望和大家一起进步,在记录之时,未免存在很多疏漏和不全,如有问题,还请私聊博主指正。 博客地址:天阑之蓝的博客,学习过程中不免有困难...
  • 数据异常波动,应该如何分析

    千次阅读 2020-04-21 21:37:00
    ↑关注 + 置顶 ~ 别错过小z的干货内容来源:python数据分析和机器学习对于一枚数据分析师而言,监控日常指标数据是必不可少的工作之一,数据异常分析是数据分析工作中最常见且重要的...
  • 数据分析异常分析

    万次阅读 2018-04-11 14:20:24
    箱型图分析:(1)分位值 分位值...分位值(数)在统计学中也有很多应用,比如在一般的数据分析当中,需要我们计算25分位(下四分位),50分位(中位),75分位(上四分位)值。下面介绍一个例子具体说明什么是分位值:(1)23...
  • 异常检测模型整理

    千次阅读 2021-08-01 18:30:07
    异常检测主要检测数据中的离群点,异常数据的特征值与正常数据的特征值距离较远。 异常检测具有以下难点: 标签数据较少,从较少的标签数据中很难学习到哪些是正常数据,哪些是异常数据。 难以划分异常和正常的边界...
  • 数据分析学习总结笔记04:异常值处理1 异常值概述2 如何判断异常值2.1 简单的统计分析2.2 3δ原则2.3 四分位数检验/箱型图分析2.4 格拉布斯检验2.5 基于模型检测2.6 基于距离检测2.7 基于密度检测3 如何处理异常值 ...
  • 使用SPSS对数据异常值进行探索分析

    千次阅读 2020-12-09 14:11:56
    我们在进行临床分析数据的时候,有时候常遇到临床数据结果和临床常识不一样的时候。比如按照临床经验,下图B指标应该随着A指标升高而不断升高的,但是在A指标在115到126左右这段A指标升高,B指标反而下降了,为什么...
  • 数据分析异常值处理

    千次阅读 2020-03-15 10:30:00
    总第198篇/张俊红异常值是我们在数据分析中会经常遇到的一种特殊情况,所谓的异常值就是非正常数据。有的时候异常数据对我们是有用的,有的时候异常数据不仅对...
  • 异常值检测在数据挖掘中有着重要的意义,比如如果异常值是由于数据本身的变异造成的,那么对他们进行分析,就可以发现隐藏的更深层次的,潜在的,有价值的信息。 如何检测异常值? 异常值检测的方法: 1. 统计学...
  • Python数据分析基础: 异常值检测和处理

    万次阅读 多人点赞 2020-10-31 22:05:31
    【Python数据分析基础】: 数据缺失值处理 本篇继续分享数据清洗中的另一个常见问题:异常值检测和处理。 1 什么是异常值? 在机器学习中,异常检测和处理是一个比较小的分支,或者说,是机器学习的一个副产物,因为...
  • 文章目录行为分析数据集:疲劳驾驶数据异常行为监控数据集三维卷积特征提取器:100G异常行为数据集送上:异常行为数据集(图像)公众号来袭 行为分析数据集: oops数据集,近21000个视频的异常行为视频帧,截取...
  • 异常值是什么?什么原因导致异常值。找出和剔除异常值的方法介绍
  • 数据分析异常值检测与处理

    万次阅读 多人点赞 2020-03-20 15:10:22
    在机器学习中,异常检测和处理是一个比较小的分支,或者说,是机器学习的一个副产物,因为在一般的预测问题中,模型通常是对整体样本数据结构的一种表达方式,这种表达方式通常抓住的是整体样本一般性的性质,而那些...
  • 数据分析异常值检测--箱型图

    千次阅读 2018-12-12 09:24:33
    在做数据分析时,我们免不了要检查数据中的异常值,但是什么样的数据算作异常呢。有人说很大或者很小的值,那到底多大多小的值算异常。箱型图就可以很好的解决这个问题。我们都知道折线图、柱状图等,但很少使用过箱...
  • 数据处理-利用 python进行异常分析

    千次阅读 2019-07-06 14:17:18
    异常分析是检验数据是否有录入错误数据和不合常理的数据。不加剔除的把异常值代入数据分析过程中,会对结果产生不良影响,而对异常值的分析其原因,常常成为为发现问题的而改进决策的契机。 异常值是指样本中的...
  • 数据清洗:异常值识别和处理方法

    千次阅读 2022-04-26 10:47:46
    对异常数据进行处理前,需要先辨别出哪些是真正的数据异常。 从数据异常的状态看分为两种: 一种是“伪异常”,这些异常是由于特定的运营动作产生,其实正常反映了业务状态。 一种是“真异常”,这些异常并不是...
  • 数据分析思维|数据指标异动分析

    千次阅读 2020-12-30 23:13:53
    "脚下有路,前方有光" 这是加薪的第七篇推文,... 数据异常分析核心要点 数据指标异常 常见情况 案例分析:日活下降分析五步法 总结与思考 【文章约2900字,预计阅读时间17分钟】 1 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 651,287
精华内容 260,514
关键字:

数据异常分析

友情链接: 水温控制.终极版.zip