离群点检测(Z-Score)

离群点(outlier)是指和其他观测点偏离非常大的数据点,离群点是异常的数据点,但是不一定是错误的数据点。确定离群点对于数据分析会带来不利的影响,比如,增大错误方差、影响预测和影响正态性。

从散点图上可以直观地看到离群点,离群点是孤立的一个数据点;从分布上来看,离群点远离数据集中其他数据点。

import numpy as np
import pandas as pd

def detect_outliers(data,threshold=3):
    mean_d = np.mean(data)
    std_d = np.std(data)
    outliers = []
   
    for y in data_d:
        z_score= (y - mean_d)/std_d
        if np.abs(z_score) > threshold:
            outliers.append(y)
    return outliers

参考链接:数据分析 第五篇:离群点检测 | 码农家园 (codenong.com)

离群点(Outliers)是数据集中与其他数据点显著不同的观测值。离群点检测(Outlier Detection)是指寻找这些离群点的过程。在Python中,有多种方法可以进行离群点检测。 一种常用的方法是基于统计学的离群点检测方法,例如Z-Score方法或箱线图方法。Z-Score方法利用数据的标准偏差来判断数据点是否为离群点,一般将Z-Score大于某个阈值(例如3)的数据点认为是离群点。箱线图方法则利用数据的四分位数范围来判断离群点,一般通过设定上下界来确定离群点。 另一种方法是基于聚类的离群点检测方法,例如DBSCAN(Density-Based Spatial Clustering of Applications with Noise)算法。DBSCAN算法通过将数据点划分为核心点、边界点和噪音点,并通过密度连通性来确定离群点。 还有一种流行的方法是基于机器学习的离群点检测方法,例如孤立森林(Isolation Forest)算法。孤立森林算法通过构建一棵随机的分割树来判断数据点是否为离群点,通过计算数据点的路径长度来确定离群点。 在Python中,可以使用一些库来实现这些离群点检测方法,如scikit-learn、statsmodels等。这些库提供了简便的API和丰富的功能,可以帮助我们进行离群点检测并进行进一步的分析和处理。 总而言之,在Python中进行离群点检测是一个相对简单且灵活的过程,可以根据具体需求选择适合的方法和库来进行处理。离群点检测对于数据分析和异常检测等领域具有重要的应用价值,并且在实际问题中有着广泛的应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值