如何计算异常值

异常值就是和其他样本数据有显著差异的值。这个词在统计学中经常用到,可以表示数据异常或测量错误。明白算异常值的方法,对于正确理解数据非常有用,而且会引出更精确的结论。以下介绍一个很简单的算异常值的过程和方法。

# 引用numpy模块
import numpy as np #求数组a的中位数
np.median(a) #求数组a的四分位数
np.percentile(a, [25, 50, 75])

 

 

步骤

  1.  
    了解如何认出潜在异常值。计算之前先辨认数据中的潜在异常值。比如一列数据,表示的是房间内12个东西的温度。如果其中11个的温度在70华氏度(21摄氏度左右)内,第12个却跑到300华氏度(约150摄氏度)了,那你可以粗略判断这是一个异常值。
     
  2.  
    把数据从小到大排列。以以上数据为例,继续考虑房间内物体温度: {71, 70, 73, 70, 70, 69, 70, 72, 71, 300, 71, 69},变更顺序为: {69, 69, 70, 70, 70, 70, 71, 71, 71, 72, 73, 300}.
     
  3.  
    计算中位数。中位数是一串数据中间的一个数据点,如果数据总数是偶数,那么中间两位数的平均数就是中位数。上面数据中,中间两项是70、71,则中位数是((70 + 71) / 2)或70.5
     
  4.  
    计算下四分位数,这里设置为Q1,表示总数据最小的25%的数据在这个点以下。在上面例子中,又有两个数据要被平分,即((70 + 70) / 2) 或 70
     
  5.  
    计算上四分位数,设置为Q3,表示最大的25%数据都在这个点以上。本例子中Q3 是71、72的平均数,即 71.5
     
  6.  
    找出数据的“内围”。第一步是把Q1和Q3的差(四分位差)乘以1.5。上面的例子中,四分位差是(71.5 - 70)得 1.5。再乘以1.5 得 2.25 ,加上Q3 ,用Q1 减去这个和,得到内围。本例中内围是67.75 and 73.75.

    • 任何在这个范围外的数字都是“平稳界外值”。本例子中,只有300华氏度是在范围以外的,即是所谓的平稳界外值。
     
  7.  
    找出数据外围。和内围方法类似,不过这里要将四分位差乘以3 而非1.5。乘以3即(1.5 * 3) 得到 4.5。得到外围是65.5 、 76

    • 任何这个范围以外的数字,都算是“极端界外值”,300度也在这个范围外,因此也算“极端界外值”

Tukey‘s test方法 异常值的更多相关文章

  1. Bonferroni校正法

    Bonferroni校正:如果在同一数据集上同时检验n个独立的假设,那么用于每一假设的统计显著水平,应为仅检验一个假设时的显著水平的1/n http://baike.baidu.com/view/12 ...

  2. 数据挖掘实战<1>:数据质量检查

    数据行业有一句很经典的话--"垃圾进,垃圾出"(Garbage in, Garbage out, GIGO),意思就是,如果使用的基础数据有问题,那基于这些数据得到的任何产出都是没 ...

  3. 数据准备<1>:数据质量检查-理论篇

    数据行业有一句很经典的话--"垃圾进,垃圾出"(Garbage in, Garbage out, GIGO),意思就是,如果使用的基础数据有问题,那基于这些数据得到的任何产出都是没 ...

  4. 探索性数据分析EDA综述

    目录 1. 数据探索的步骤和准备 2. 缺失值处理 为什么需要处理缺失值 Why data has missing values? 缺失值处理的技术 3. 异常值检测和处理 What is an ou ...

  5. javaSE27天复习总结

    JAVA学习总结    2 第一天    2 1:计算机概述(了解)    2 (1)计算机    2 (2)计算机硬件    2 (3)计算机软件    2 (4)软件开发(理解)    2 (5) ...

  6. 异常值监测的方法 Tukey test

    参考: https://www.zhihu.com/question/38066650

  7. pandas学习(常用数学统计方法总结、读取或保存数据、缺省值和异常值处理)

    pandas学习(常用数学统计方法总结.读取或保存数据.缺省值和异常值处理) 目录 常用数学统计方法总结 读取或保存数据 缺省值和异常值处理 常用数学统计方法总结 count 计算非NA值的数量 de ...

  8. kaggle信用卡欺诈看异常检测算法——无监督的方法包括: 基于统计的技术,如BACON *离群检测 多变量异常值检测 基于聚类的技术;监督方法: 神经网络 SVM 逻辑回归

    使用google翻译自:https://software.seek.intel.com/dealing-with-outliers 数据分析中的一项具有挑战性但非常重要的任务是处理异常值.我们通常将异 ...

  9. 异常值检测方法(Z-score,DBSCAN,孤立森林)

     机器学习_深度学习_入门经典(博主永久免费教学视频系列) https://study.163.com/course/courseMain.htm?courseId=1006390023&sh ...

随机推荐

  1. Java微信二次开发(七)

    自定义菜单 第一步:新建包com.wtz.menu,新建类Button.java package com.wtz.menu; /** * @author wangtianze QQ:864620012 ...

  2. delphi7调用数据库连接属性

    背景:连接数据库用ADOQuery控件,但是程序一旦编译完成,如果想更改数据库连接设置还得重新修改ADOQuery的属性重新编译 如果可以在程序中可以随时设置ADOQuery的属性则会方便很多. 实现 ...

  3. Lodop打印设计界面生成代码带”...(省略)”

    Lodop的设计界面中,菜单里的生成代码,如果打印项内容过多,后面会显示”...(省略)”,省略的是打印项的内容值,无论是纯文本还是超文本,都可以用选中打印项-右键-设置属性里找到该打印项的全部值,可 ...

  4. html页面出现&#65279,影响布局

    这个问题只会在chrome和edge浏览器出现.由于该HTML页面是由PHP解析模版生成的. UTF-8 + BOM编码方式一般会在windows操作系统中出现,比如WINDOWS自带的记事本等软件, ...

  5. 睡前小dp-poj3254-状压dp入门

    http://poj.org/problem?id=3254 从这里学的 http://blog.csdn.net/accry/article/details/6607703 状压dp的入门题.一片N ...

  6. 传递闭包(例题POJ3660)

    概念: 传递一种关系,例如 a//b   b//c  则 a//c 从已知的初始关系中  推出最后所有对象之间的关系 初始时把所有有关系的标记为1 即a[i][j] = 1 然后用Floyd 推出最后 ...

  7. 【CodeForces 624D/623B】Array GCD

    题 You are given array ai of length n. You may consecutively apply two operations to this array: remo ...

  8. 使用metasploit中Evasion模块

    简介 几天前我说了kali这次更新我最关心的是metasploit升级到了5.0,5.0中有一个新的模块叫Evasion模块,这个模块可以轻松的创建反杀毒软件的木马,今天我们就来试一试 操作 首先打开 ...

  9. httpd.yml实例

    httpd.ymlapiVersion: apps/v1beta1kind: Deploymentmetadata: name: httpdspec: replicas: 4 template: me ...

  10. 【POJ1179】Polygon 区间DP

    这道题是典型的环形石子归并模型,破环成链后时间复杂度为\(O(n^3)\) 不过,因为题目中所给的数字可能是负数,仅仅记录区间内合并之后的最大值并不满足动态规划的最优子结构性质.因此,还需要额外记录下 ...