精华内容
下载资源
问答
  • 本文主要介绍如何使用excel 检测离群值(outlier)或极端值(extreme value) 通常对于检测离群值需要用到箱型图(盒须图)的概念,即第一四分位(Q1),中位数(Q2),平均值(avg),第三四分位(Q3),四分位距 ...

    本文主要介绍如何使用excel 检测离群值(outlier)或极端值(extreme value)

    通常对于检测离群值需要用到箱型图(盒须图)的概念,即第一四分位(Q1),中位数(Q2),平均值(avg),第三四分位(Q3),四分位距 IQR 

     

     

    第一四分位 Q1=QUARTILE(B3:B27,1)

    中位数Qmid=median(B3:b37)

    第三四分位Q3==QUARTILE(B3:B27,3)

    IQR=Q3-Q1

    离群值下限=Q1-1.5*IQR

    离群值上限=Q3+1.5*IQR

    最后可以用OR函数,检查是否有超出上限或者下限,如超出则即为离群值

    展开全文
  • 探索多维数据极端值处理方法

    千次阅读 2019-05-21 14:58:46
    极端值出现频率过高,极端值过于极端,都有可能造成分析结果的严重偏误,在探索数据之间关系和规律的过程中,这种极端值造成了很大困扰。 而金融数据分析中,无论是金融理论在实践分析中的应用,比如尝试使用CAPM,...

    背景介绍

    我们知道,在各种数据分析方法中,除了部分方法本身对数据值不敏感外,离群值、极端值对于分析结果都是具有影响的。这种影响尤其体现在需要对数据具体的值进行运算的方法中,比如回归类型的问题。极端值出现频率过高,极端值过于极端,都有可能造成分析结果的严重偏误,在探索数据之间关系和规律的过程中,这种极端值造成了很大困扰。

    而金融数据分析中,无论是金融理论在实践分析中的应用,比如尝试使用CAPM,Fama-Franch因子模型对现实经济标的进行分析,还是在量化决策过程中应用模型进行择时或品种选择,都离不开对原始数据的处理和运算。对于数据在这些领域的应用,模型能否给出精准结果至关重要,前者决定着学术观点是否能被现实情况有力支撑,后者则直接决定了投资行为是否能最大化的产生效益。虽然保证模型结果的精确性是一个多步骤的复杂过程,但一定离不开对原始数据的维护。在这个前提下,对待极端值的态度和处理方法也就成了需要不断探索的问题。

    对于极端数据,在量化领域有一些常用的方法。比如3-Mad方法,3-Sigmod方法,这些方法在剔除离群的数据方面是简单而有效的,受到了广泛的认可。用沪深300股票的市值数据为例,沪深300的原始市值分布如下:

    探索多维数据极端值处理方法

    图1:沪深300成分股票市值分布

    我们可以看到,沪深300成分股市值分布十分极端,存在部分市值规模过于庞大的股票,如果用这样的数据进行运算,得出的结果会收到极端值非常严重的影响,我们使用3-Mad方法进行剔除(如下图)。

    探索多维数据极端值处理方法

    图2:3-Mad方法剔除离群值

    无论是从纵坐标的值域还是分布图像上都可以看出,3-Mad方法剔除后,筛选出的股票市值波动都被压缩到了一定的范畴内,并且对比原始分布,几乎完全剔除了特别极端的离群点。

    我们再看一看以标准差为参照基准的3-Sigmod方法对离群点的剔除效果。

    探索多维数据极端值处理方法

    图3:3-Sigmod方法剔除离群值

    对比原始分布的图例值域,可以看出极端离群的市值点被3-Sigmod方法过滤掉了,而对比3-Mad方法,3-Sigmod方法在剔除条件上更宽松一点,两者各有优劣,3-Mad方法严格地保证了数据在一定范围内波动,而3-Sigmod方法则保留了更多的数据值,可以根据不同的需求对方法进行选择。

    通过上文的介绍,我们已经看出,在剔除离群点上,已经有很多行之有效的方法可供选择。但是,事实上我们仍然面对一个问题,那就是,上文介绍的所有方法,都是对于单一序列的处理,如果我们现在面对的是有两个以上维度的高维数据,我们该如何考虑离群点的处理方法。

    可能有人会说,高维数据也是由不同截面下的一维序列构成的,对于每个不同的维度应用一下上面的方法就可以了。但事实上并不能这么做,这样做的,光是显然易见的弊端就有两个:第一,会造成更大规模的信息损失,因为逐一进行剔除,不同的纬度之间剔除的部分是取并集的,最极端会出现提出所有数据的情况;第二,这样的方法在高维度上没有考虑到不同维度之间联合分布。

    方法介绍

    基于上述问题,我们思考了对高维数据剔除极端值的一种新方法,并且对极端值的处理重新做了设计。

    首先我们知道高维数据是形如这样的向量组:

    探索多维数据极端值处理方法

     

    这些向量组虽然无法直接可视化描述,但是对于他们联合分布的关系我们可以使用替代的方法去描述标志。在这里我选择了距离作为这个替代变量,距离计算公式表示如下。

    探索多维数据极端值处理方法

     

    为了能够描述数据点之间的分布,我们需要找到一个目标数据点,使得所有其他数据点到这个目标数据点距离最小化,然后用其他数据点到目标数据点之间的距离来近似地描述所有数据在高维上的分布情况,数学表示如下:

    探索多维数据极端值处理方法

     

    我把找到的这个目标向量称为核向量。还是以沪深300股票为例子,我们使用的数据维度为市值,ROE和市盈率(pe ratio),我们观察一下通过寻找核向量而计算得出的数据分布情况。

    探索多维数据极端值处理方法

    图4:核向量方法数据分布描述

    这时候我们发现了一个问题,我们看一看数据点各个维度单一序列的分布情况。

    探索多维数据极端值处理方法

     

    探索多维数据极端值处理方法

     

    探索多维数据极端值处理方法

    图5:3种不同维度单一序列分布情况

    我们发现,寻找核向量并计算出来用以描述高维联合分布情况地距离数据,和市值数据的分布情况一致性程度非常高,也就是说,市值数据由于本身数值巨大,完全影响了我们对距离的计算,占到了巨大的权重,但事实上,在我们的想法以及现实经济意义中,我们认为这些财务情况对股票的影响权重虽然不一定等权,但不可能是这样不平衡的极端情况,鉴于此,我们修改了核向量的寻找方法,在加入了距离惩罚项,以此来平衡不同量纲的数据对距离计算的影响。当然这个距离惩罚项可以有多种计算方法,比如Max-Min,、Z-score等,这里我们使用最简单的均值作为距离惩罚。

    我们观察一下修改方法后的数据情况:

    首先把修改方法前所有的原始数据分布绘制出来看一看

    探索多维数据极端值处理方法

    图6:方法修改前各个维度数据分布情况

    可以看到市值在数据上的体量完全覆盖掉了其他数据的分布情况。

    探索多维数据极端值处理方法

    图7:方法修改前各个维度数据分布情况

    这个时候我们可以看到修改方法后,不同数据的分布情况都能够较为明显得体现出来。当前计算出来的核向量距离数据分布如下:

    探索多维数据极端值处理方法

    图8:修改方法后核向量距离分布情况

    经过以上计算,我们就可以进行下一步,处理数据了。

    处理极端数据的方法,我并没有直接使用传统的直接剔除的方法,因为鉴于目前各种统计方法对数据量的需求,我们更愿意保留一些数据信息使得模型更加平滑可靠。在统计学习领域有一种叫做KNN的计算方法,聚宽的量化课堂上有详细的描述,我之前也写过如何实现KNN的文章,有需求的读者可以去阅读,在这里不再赘叙。

    简单来说,我们的模型使用的历史数据都是有标注的,一个特征向量对应一个特征值,我们经常通过KNN算法对特征值进行预测,但是这个方法中我们反向运用KNN,首先我们通过一个准则来确定一个特征向量是不是离群点,如果是,则通过寻找和它标签值最邻近的K个值特征向量,然后将这个离群点的特征向量值替换为K个点对应特征值的平均值。这样既处理了数据,又部分保留了特征信息,同时没有减少数据量。

    这时候我们又遇到了一个问题,在回归问题中,特征向量的标签值是连续的数字,寻找最临近数据点,但是分类问题中,标签大多为离散取值,甚至在二分类问题中我们的标签全都是bool值,总不能随机选取几个bool值进行KNN计算吧?

    所以我们给出的权衡方法是,在分类问题中,如果数据点A是离群点,那么我们就寻找和数据点A到核向量数据点距离值最接近且不为离群点的的K个数据点作为A的临近点进行计算。这样可以比较妥当的解决不同问题中由于数值特性带来的计算问题。

    最后要提及的是,我们的离群点确认方法是在核向量距离中确定离群点,我们认为距离核向量过于远的数据为离群点,这里我还是使用了3-Mad的方法,和上文一致,我们可以看下这样处理后,单一维度的分布情况。

    探索多维数据极端值处理方法

     

    探索多维数据极端值处理方法

     

    探索多维数据极端值处理方法

    图9:高维处理后3种不同维度单一序列分布情况

    大家可以对比一下上图完全无处理时候的单一序列分布图,可以明显看出各个特征维度在极端值和值分布上都得到了较好的处理。

    方法实证

    >>> 截面回归实证

    为了检验数据情况,我们直接使用截面数据进行一次OLS回归,看看是否能提升模型的解释能力。

    选取股票池:以沪深300为例子

    选取解释变量为:30日后的收益率

    选取被解释变量为:上文进行处理的市值,ROE和市盈率财务指标

    未进行数据处理前的回归情况:

    探索多维数据极端值处理方法

    图10:无任何处理直接回归结果

    可以看到无论是参数置信程度还是回归R^2效果都很差

    进行上述处理方法后的回归结果:

    探索多维数据极端值处理方法

    图11:数据处理后回归结果

    可以看到无论是参数置信程度还是回归R^2效果都得到了显著提升,从截面角度验证了处理方法有效。

    >>> 策略实证

    我们选取一个对数据相对敏感的策略进行测试,通过观察直接使用原始数据和使用处理后的数据是否能带来绩效提升来判断处理方法是否有效。

    为了方便起见,我设计了一个SVM分类对未来股票走势进行预测的简单策略,使用股票池仍为沪深300指数成分股票。使用特征数据为Fama-Franch三因子模型中的因子值(并非是分组收益率的形式,而是直接使用因子的原始值)。预测目标为未来30天的股票的涨幅情况。

    未处理前绩效如下:

    探索多维数据极端值处理方法

    图12:无任何处理前策略绩效

    数据处理后绩效情况如下:

    探索多维数据极端值处理方法

    图13:数据处理后策略绩效

    我们看到,虽然绩效均不理想,或者可以说非常差劲。但是数据处理后的绩效结果,对比直接使用原始数据的策略绩效有了一些提升。一个策略的收益程度会受到多方面的影响,可能是模型思路需要改进,选取因子、数据需要调整仓位管理等等。但绩效的改变,对我们数据处理方法的有效性提供了一定的参考。

    展开全文
  • spss中如何处理极端值、错误值

    千次阅读 2016-05-19 14:27:00
    spss中如何处理极端值、错误值 spss中录入数据以后,第一步不是去分析数据,而是要检验数据是不是有录入错误的,是不是有不合常理的数据,今天我们要做一个描述性统计,进而查看哪些数据是不合理的。下面是具体的...

    spss中如何处理极端值、错误值

    spss中录入数据以后,第一步不是去分析数据,而是要检验数据是不是有录入错误的,是不是有不合常理的数据,今天我们要做一个描述性统计,进而查看哪些数据是不合理的。下面是具体的步骤:
    工具/原料
        spss20.0
    方法/步骤
        1
        先准备好数据,然后打开描述性统计对话框,如图所示,执行菜单:analyse--descriptive statistic--descriptive

        2
        将你要检验的变量放入variables对话框,点击箭头可以添加或者删除变量

        3
        勾选如图所示的选项,他的意思是输出Z分数,并作为一个变量列出来。因为检查数据有效性的时候会用到Z分数
      
        4

    点击options按钮,设置需要输出的描述性统计量,我们需要的统计量主要是最大值和最小值,所以,你看到下面第二幅图,勾选最大值和最小值


        5
        点击continue按钮,点击ok,开始处理数据,并输出处理结果

        6
        我们看到有一个表格,输出了最大值和最小值,根据这个值我们可以判断,这个变量中的数据是不是超出了合理的范围,比如,这个变量的意思是身高,你的数据的最大值为5米,这时侯你就可以想到,有数据录入错误了。

        7

    接下来切换到数据视图中,我们看到生成了一个新的变量,他是x8这个变量的Z分数,我们知道,如果数据是正太分布的,那么数据应当分布在正负三个标准差之内,因此,从图中我们看到,Z分数大于3或小于-3的数据就是错误的数据.http://www.cda.cn/view/17607.html

    转载于:https://www.cnblogs.com/amengduo/p/9587497.html

    展开全文
  • 极端值:又称离群值,往往会扭曲预测结果并影响模型精度。回归模型(线性回归,广义线性回归)中离群值的影响尤其大,使用该模型时我们需要对其进行检测和处理。处理离群值或者极端值并不是数据建模的必要流程,然而,...

    极端值:又称离群值,往往会扭曲预测结果并影响模型精度。回归模型(线性回归,广义线性回归)中离群值的影响尤其大,使用该模型时我们需要对其进行检测和处理。

    处理离群值或者极端值并不是数据建模的必要流程,然而,了解它们对预测模型的影响也是大有裨益的。
    数据分析师们需要自己判断处理离群值的必要性,并结合实际问题选取处理方法。
    检测离群值的重要性:由于离群值的存在,模型的估计和预测可能会有很大的偏差或者变化
    可以选择对极端值不敏感的模型,例如KNN,决策树
    那么如何检测某个特征数据是否存在极端值呢?
    1)对样本数据进行可视化

    2) 3-sigma方法检
    一般来说,如果某个特征数据,最大值为maxValue,均值为mean,标准差为std。如果满足maxValue>mean+3*std,那么我们就认为这个特征数据存在离群点。

    (function () {('pre.prettyprint code').each(function () { var lines = (this).text().split(\n).length;varnumbering = $('
    • ').addClass('pre-numbering').hide();
    (this).addClass(hasnumbering).parent().append(numbering); for (i = 1; i
    展开全文
  • 统计学---极端异常的检测

    万次阅读 2017-12-19 21:59:01
    有时候数据集中会包含一个或多个数值异常大或异常小的值,这样的极端值称为异常极端值( outlier )。这在现实数据集中是很有可能发生的,如数据录入错误、测量错误、试验错误、数据处理错误等。异常值的存在当然对...
  • 格拉布斯法—异常值判断 ▲概述:一组测量数据中,如果个别数据偏离平均很远,那么这个(这些)数据称作“可疑”。如果用统计方法—例如格拉布斯(Grubbs)法判断,能将“可疑”从此组测量数据中剔除而不参与平均...
  • pandas数据的异常值判断、可视化、处理方式 回想一下我们小时候参加唱歌比赛,最后算分的时候总会去掉一个最高分,去掉一个最低分,将剩下的分数进行去平均。这里面就有筛选异常的思想。一个非常夸张的异常可能...
  • %计算水文极端,年最大,年连续5日最大,连续干日,连续极端径流低日数%wqianghy@163.com%南京大学流域水文过程模拟实验室datapath=strcat(filepath,filename);data=dlmread(datapath);data(1)=[];datalength=...
  • 1.极端值处理 1.1 极端值定义 极端值也称离群值,可能会影响模型精度,进而影响预测...###如何量化判断极端值呢? ###我们一般将三个标准差以外的值称为极端值。 1.3极端值的处理 (1)删除极端值: 如果数据量足够大
  • 判断Linux load的是否过高

    千次阅读 2017-07-01 16:04:00
    接触过和使用过unix或linux的朋友,都知道如何查看Unix/Linux load的,这边我也重复一下查看load的方法:[root@www.linuxidc.com ~]# uptime13:33:37 up 7 days, 1:52, 1 user, load average: 4.15, ...
  • 使用 clumsy 模拟极端网络状况

    千次阅读 2019-09-09 13:42:32
    clumsy 能在 Windows 平台下人工造成不稳定的网络状况,方便你调试应用程序在极端网络状况下的表现。 简介 利用封装 Winodws Filtering Platform 的WinDivert 库, clumsy 能实时的将系统接收和发出的网络数据包...
  • ET或Extra-Trees(Extremely randomized trees,极端随机树)是由PierreGeurts等人于2006年提出。该算法与随机森林算法十分相似,都是由许多决策树构成。但该算法与随机森林有两点主要的区别: 1、随机森林应用的是...
  • 消费者在产品价格不确定时候会采取两种重要的原则来判断这个产品的价格是否合适: 1.避免极端,在有三个或者更多选择的时候,很多人不会选择最低,或者最高的版本而更倾向选择中间那个产品。 2.权衡对比,消费者无从...
  • 不平衡学习是机器学习问题的一个重要子域,其主要关注于如何从类别分布不均衡的数据中学习数据的模式。在这篇文章中我们主要关注不平衡分类问题,特别地,我们主要关注类别极端不平衡...
  • 统计学中的p

    千次阅读 2016-03-20 11:36:27
    在我看来,假设检验从本质上是一种反证法。当你想证明一样事物是对的,有时候...p一直是一个令人迷惑的地方,p实际上是当H0假设为真,一些极端情况出现的概率。即 p={极端情况概率|H0} p = \{极端情况概率|H0\
  • 数据分析学习总结笔记04:异常处理1 异常概述2 如何判断异常2.1 简单的统计分析2.2 3δ原则2.3 四分位数检验/箱型图分析2.4 格拉布斯检验2.5 基于模型检测2.6 基于距离检测2.7 基于密度检测3 如何处理异常 ...
  • 如何处理机器学习中的异常

    千次阅读 2018-09-16 12:24:48
    在机器学习中进行数据处理往往会遇到极端异常,是否删除极端异常往往会影响到最终模型的准确性。找到异常以后,判断是否需要移除是根据我们的目标而定。 异常的几种情况 如果我们只是要找到人为错误导致的...
  • 数据预处理之缺失、异常处理

    千次阅读 2017-11-08 10:27:45
    缺失的检查与处理应该来说是比较...这边补充一些用来判断异常的统计学方法。 1、基于正态分布的一元离群点检测方法 假设有 n 个点 ,那么可以计算出这 n 个点的均值 和方差。均值和方差分别被定义为:
  • P之死

    千次阅读 2015-07-25 10:39:21
    2014-07-04 数说工作室有一天,我走进统计学的神殿 ,将所有谎言都装进原假设的盒子里,“P为零”,一个声音传来,“但你已经不能再拒绝,因为,P已经死了”从此,这个世界上充斥着谎言。一、一个悲伤的故事:...
  • 假设检验和P那些事

    千次阅读 2019-01-05 07:46:02
    文章目录假设检验和P那些事假设检验PR中的实践参考文献 假设检验和P那些事 记得大学时候学习概率论与数理统计的时候,学习过假设检验,但我不记得课本上有提到过P。后来翻阅了一些资料,大概弄明白了它们...
  • 常用异常检测方法总结梳理笔记

    万次阅读 2019-05-10 16:21:16
    异常检测方法 ...
  • python数据预处理之异常、缺失处理方法

    千次阅读 多人点赞 2020-05-03 20:23:27
    除了互联网埋点的数据或企业内部的业务数据之外,往往我们拿到的,比如说网上采集的数据并不是那样规整,这类数据经常出现错误、缺失和异常。 一、异常 异常是指样本中的个别,其数值明显偏离其余的...
  • O(1)调度器的饥饿判断与交互判断

    千次阅读 2010-02-09 21:58:00
    众所周知O(1)调度器的优先级调整,交互判断以及饥饿判断非常复杂,事实上抵消了pick- next算法的高效性,以至于最终被cfs调度器所取代,交互判断是有目共睹的,代码表示也十分明确,唯一不足的就是那些经验实在是...
  • 数据清洗之 异常处理

    千次阅读 2020-04-20 15:26:49
    数据清洗异常处理
  • 可以初步判断存在异常。 (3)离群值、极值 在SPSS中可以通过“箱图”直观的看到异常,探索分析项或者箱图功能可实现。 上图,为spss探索分析结果,还可以设置分组变量。可以直观的发现...
  • 假设检验中的p

    千次阅读 2016-01-05 21:49:39
    p是指对于该样本,在假设原假设(H0)正确时,出现现状或更差(极端)的情况的概率。 也就是说,p是已经发生的概率,如果这个概率很小,小到几乎是不可能发生,但是这件事情却已经发生了,我们就有理由怀疑原假设...
  • IV和WOE的理解

    万次阅读 多人点赞 2018-03-02 10:32:13
    极端情况下,当前分组的响应和未响应的比例和样本整体的响应和未响应的比例相等时,IV为0; IV的取值范围是[0,+∞),且,当当前分组中只包含响应客户或者未响应客户时,IV = +∞。 OK,再次回到正题。...
  • L6-假设检验:临界法与P

    千次阅读 2020-04-26 13:38:00
    假设检验(hypothesis testing),又称统计假设检验,先做出某种假设,然后通过抽样收集数据进行统计推理,对此假设应该被拒绝还是接受做出推断。 包括临界语P法。
  • 异常与缺失处理 总结及感受

    千次阅读 2019-05-20 20:01:51
    目录 1. 异常数据 1.1 物理判别法: 1.2 统计判别法: 1.3 应注意的问题: ...3. 特殊填充: 4. 单一插补 5. 多重插补方法(Multiple Imputation) 2.3总结 1. 异常数据 1.1 物理判别法...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 42,597
精华内容 17,038
关键字:

如何判断极端值