Tukey‘s test方法 异常值
如何计算异常值
异常值就是和其他样本数据有显著差异的值。这个词在统计学中经常用到,可以表示数据异常或测量错误。明白算异常值的方法,对于正确理解数据非常有用,而且会引出更精确的结论。以下介绍一个很简单的算异常值的过程和方法。
# 引用numpy模块
import numpy as np #求数组a的中位数
np.median(a) #求数组a的四分位数
np.percentile(a, [25, 50, 75])
步骤
- 了解如何认出潜在异常值。计算之前先辨认数据中的潜在异常值。比如一列数据,表示的是房间内12个东西的温度。如果其中11个的温度在70华氏度(21摄氏度左右)内,第12个却跑到300华氏度(约150摄氏度)了,那你可以粗略判断这是一个异常值。
- 把数据从小到大排列。以以上数据为例,继续考虑房间内物体温度: {71, 70, 73, 70, 70, 69, 70, 72, 71, 300, 71, 69},变更顺序为: {69, 69, 70, 70, 70, 70, 71, 71, 71, 72, 73, 300}.
- 计算中位数。中位数是一串数据中间的一个数据点,如果数据总数是偶数,那么中间两位数的平均数就是中位数。上面数据中,中间两项是70、71,则中位数是((70 + 71) / 2)或70.5
- 计算下四分位数,这里设置为Q1,表示总数据最小的25%的数据在这个点以下。在上面例子中,又有两个数据要被平分,即((70 + 70) / 2) 或 70
- 计算上四分位数,设置为Q3,表示最大的25%数据都在这个点以上。本例子中Q3 是71、72的平均数,即 71.5
- 找出数据的“内围”。第一步是把Q1和Q3的差(四分位差)乘以1.5。上面的例子中,四分位差是(71.5 - 70)得 1.5。再乘以1.5 得 2.25 ,加上Q3 ,用Q1 减去这个和,得到内围。本例中内围是67.75 and 73.75.
- 任何在这个范围外的数字都是“平稳界外值”。本例子中,只有300华氏度是在范围以外的,即是所谓的平稳界外值。
- 找出数据外围。和内围方法类似,不过这里要将四分位差乘以3 而非1.5。乘以3即(1.5 * 3) 得到 4.5。得到外围是65.5 、 76
- 任何这个范围以外的数字,都算是“极端界外值”,300度也在这个范围外,因此也算“极端界外值”
Tukey‘s test方法 异常值的更多相关文章
- Bonferroni校正法
Bonferroni校正:如果在同一数据集上同时检验n个独立的假设,那么用于每一假设的统计显著水平,应为仅检验一个假设时的显著水平的1/n http://baike.baidu.com/view/12 ...
- 数据挖掘实战<1>:数据质量检查
数据行业有一句很经典的话--"垃圾进,垃圾出"(Garbage in, Garbage out, GIGO),意思就是,如果使用的基础数据有问题,那基于这些数据得到的任何产出都是没 ...
- 数据准备<1>:数据质量检查-理论篇
数据行业有一句很经典的话--"垃圾进,垃圾出"(Garbage in, Garbage out, GIGO),意思就是,如果使用的基础数据有问题,那基于这些数据得到的任何产出都是没 ...
- 探索性数据分析EDA综述
目录 1. 数据探索的步骤和准备 2. 缺失值处理 为什么需要处理缺失值 Why data has missing values? 缺失值处理的技术 3. 异常值检测和处理 What is an ou ...
- javaSE27天复习总结
JAVA学习总结 2 第一天 2 1:计算机概述(了解) 2 (1)计算机 2 (2)计算机硬件 2 (3)计算机软件 2 (4)软件开发(理解) 2 (5) ...
- 异常值监测的方法 Tukey test
参考: https://www.zhihu.com/question/38066650
- pandas学习(常用数学统计方法总结、读取或保存数据、缺省值和异常值处理)
pandas学习(常用数学统计方法总结.读取或保存数据.缺省值和异常值处理) 目录 常用数学统计方法总结 读取或保存数据 缺省值和异常值处理 常用数学统计方法总结 count 计算非NA值的数量 de ...
- kaggle信用卡欺诈看异常检测算法——无监督的方法包括: 基于统计的技术,如BACON *离群检测 多变量异常值检测 基于聚类的技术;监督方法: 神经网络 SVM 逻辑回归
使用google翻译自:https://software.seek.intel.com/dealing-with-outliers 数据分析中的一项具有挑战性但非常重要的任务是处理异常值.我们通常将异 ...
- 异常值检测方法(Z-score,DBSCAN,孤立森林)
机器学习_深度学习_入门经典(博主永久免费教学视频系列) https://study.163.com/course/courseMain.htm?courseId=1006390023&sh ...
随机推荐
- C从源码到运行发生了哪些事
一个C/C++程序从源代码到可执行程序主要经历了四个阶段: ①预处理.包括展开宏.处理#include,#if,#ifdef等指令.删除注释.还有一些其他操作.相关命令:gcc -E或cpp ②编译. ...
- BZOJ1127 POI2008KUP(悬线法)
首先显然地,如果某个格子的权值超过2k,其一定不在答案之中:如果在[k,2k]中,其自身就可以作为答案.那么现在我们只需要考虑所选权值都小于k的情况. 可以发现一个结论:若存在一个权值都小于k的矩阵其 ...
- POJ1942-Paths On a Grid-组合数学
从n+m步中挑选min(n,m)步向上走,剩下的就是向下走. 求解n+mCmin(n,m)时,要一边计算一边约分. #include <cstdio> #include <algor ...
- c# 获取变量名
也不知道哪里需要用到.反正很多人问. 这里就贴一下方法,也是忘记从哪里看到的了,反正是转载的! public static void Main(string[] args) { string abc= ...
- Codeforces Round #428 (Div. 2)A,B,C
A. Arya and Bran time limit per test 1 second memory limit per test 256 megabytes input standard inp ...
- day31 configparser 配置文件模块
#__author__: Administrator #__date__: 2018/8/8 # configparse 生成配置文件,配置文会以件.ini结尾 # 对于格式有要求 # 创建配置文档 ...
- day11 匿名函数
格式 lambda 形参 :逻辑运算方式 lambda x:x+1 普通的方式计算 卧槽.这么长! def calc(x): return x+1 res = calc(10) print(res) ...
- 学习Spring Boot:(二十五)使用 Redis 实现数据缓存
前言 由于 Ehcache 存在于单个 java 程序的进程中,无法满足多个程序分布式的情况,需要将多个服务器的缓存集中起来进行管理,需要一个缓存的寄存器,这里使用的是 Redis. 正文 当应用程序 ...
- 【转】IAR IDE for MSP430、8051、ARM等平台的结合使用
IAR IDE for MSP430.8051.ARM等平台的结合使用 以前很长一段时间使用IAR作为MSP430的开发平台,前几天一个无线监控的项目用到了Zigbee(CC2530),于是开始使用I ...
- for循环实例
for循环“池理解”[root@localhost ~]# vi showday.sh#!/bin/bashfor TM in "Morning" "Noon" ...