添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

1. 箱型图分析

1、对数据没有作任何限制性要求(如服从某种特定的分布形式),它只是真实直观地表现数据分布的本来面貌;
2、判断异常值的标准以四分位数和四分位距为基础,四分位数具有一定的鲁棒性:多达25%的数据可以变得任意远而不会很大地扰动四分位数,所以异常值不能对这个标准施加影响。

#-*- coding: utf-8 -*-
import pandas as pd
catering_sale = '../data/catering_sale.xls' #餐饮数据
data = pd.read_excel(catering_sale, index_col = u'日期') #读取数据,指定“日期”列为索引列
import matplotlib.pyplot as plt #导入图像库
plt.rcParams['font.sans-serif'] = ['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False #用来正常显示负号
plt.figure() #建立图像
p = data.boxplot() #画箱线图,直接使用DataFrame的方法
plt.show() #展示箱线图

箱型图结果

2. 统计量分析

data = data[(data[u'销量'] > 400)&(data[u'销量'] < 5000)] #过滤异常数据
statistics = data.describe() #保存基本统计量
statistics.loc['range'] = statistics.loc['max']-statistics.loc['min'] #极差
statistics.loc['var'] = statistics.loc['std']/statistics.loc['mean'] #变异系数
statistics.loc['dis'] = statistics.loc['75%']-statistics.loc['25%'] #四分位数间距
print(statistics)

从命令行可以看到下面的输出:

>>>statistics
count   195.000000
mean   2744.595385
std     424.739407
min     865.000000
25%    2460.600000
50%    2655.900000
75%    3023.200000
max    4065.200000
>>> statistics
count   195.000000
mean   2744.595385
std     424.739407
min     865.000000
25%    2460.600000
50%    2655.900000
75%    3023.200000
max    4065.200000
range  3200.200000
var       0.154755
dis     562.600000
	参数 path 指定要打开的文件;
	参数 mode 指定打开文件的方式:只读、读写;
	函数返回一个整数,该整数作为文件的标识符;如果打开文件成功,则返回一个非负的整数;如果打开文件失败,则返回 -1。
因此,通过检查函数 open 的返
Statistical Methods for Univariate Data
Using Gaussian Mixture Models
Fitting an elliptic envelope
Isolation Forest
Local Outlier Factor
Using clustering met...
                                    异常值检测与概念此博客讲得不错:http://blog.csdn.net/zpdreamer/article/details/54095828下面对不同年月的销售量进行异常值检测。部分数据如下: 
代码如下:#-*- coding: utf-8 -*-
import pandas as pdcatering_sale = 'catering_sale.xls' #餐饮数据
data = pd.rea
                                    在统计学中,异常值是指不属于某一特定群体的数据点。它是一个与其他数值大不相同的异常观测值,与良好构成的数据组相背离。例如,你可以清楚地看到这个列表里的异常值:[20, 24, 22, 19, 29, 18, 4300, 30, 18].当观测值仅仅是一堆数字并且是一维时,很容易识别出异常值。但是,当你有成千上万的观测值或者是多维度时,你将需要更多巧妙的办法来检测出那些异常值。这就是本文要讨论的内容。
                                    异常值是指数据中存在的数值明显偏离其余数据的值。异常值的存在会严重干扰数据分析的结果,因此经常要检验数据中是否有输入错误或含有不合理的数据。在利用简单的数据统计方法中,一般常用散点图、箱线图检测异常值。
1、散点图
通过数据分布的散点图可以发现异常值
import numpy as np
import pandas as pd
from numpy import *
wdf = pd.DataFrame(np.arange(20),columns = ['W'])
wdf['Y'] = wdf['W
                                    (一)什么是异常值?
在机器学习中,异常检测和处理是一个比较小的分支,或者说,是机器学习的一个副产物,因为在一般的预测问题中,模型通常是对整体样本数据结构的一种表达方式,这种表达方式通常抓住的是整体样本一般性的性质,而那些在这些性质上表现完全与整体样本不一致的点,我们就称其为异常点,通常异常点在预测问题中是不受开发者欢迎的,因为预测问题通产关注的是整体样本的性质,而异常点的生成机制与整体样本完全不...
                                    异常检测可以作为异常值分析的一项统计任务来处理。但是如果我们开发一个机器学习模型,它可以像往常一样自动化,可以节省很多时间。
异常检测有很多用例。信用卡欺诈检测、故障机器检测或基于异常特征的硬件系统检测、基于医疗记录的疾病检测都是很好的例子。还有更多的用例。异常检测的应用只会越来越多。
在本文中,我将解释在Python中从头开始开发异常检测算法的过程。
公式和过程
与我之前解释过的其他机器学习算法相比,这要简单得多。该算法将使用均值和方差来计算每个训练数据的概率。
如果一个训练实例的概率很高,这是
                                    【Python实战】单变量异常值检测异常值检测数据预处理阶段重要的环节,这篇文章介绍下对于单变量异常值检测的常用方法,通过Python代码实现。一、什么是异常值异常值是在数据集中与其他观察值有很大差距的数据点,它的存在,会对随后的计算结果产生不适当的影响,因此检测异常值并加以适当的处理是十分必要的。二、异常值的处理异常值并不都是坏的,了解这一点非常重要。只是简单地从数据中删除异常值,而不考虑它们...
                                    这种方法是利用箱型图的四分位距(IQR)对异常值进行检测,也叫Tukey‘s test。箱型图的定义如下:四分位距(IQR)就是上四分位与下四分位的差值。而我们通过IQR的1.5倍为标准,规定:超过上四分位+1.5倍IQR距离,或者下四分位-1.5倍IQR距离的点为异常值。下面是Python中的代码实现,主要使用了numpy的percentile方法。也可以使用seaborn的可视化方法boxpl...