有一些准则可以检测离群点,如:正态分布3∂,Z-score 异常值检测,基于MAD的Z-score 异常值检测

以上部分详情与代码请参考:https://blog.csdn.net/weixin_35757704/article/details/89280715

文章目录

  • 高杠杆值点
  • DFFITS值
  • SR学生化残差
  • cook距离
  • covratio值
  • 全部代码

下面是其他的准则:高杠杆值点(帽子矩阵)、DFFITS值、SR学生化残差、cook距离和covratio值,先创建个例子:

import numpy as np
import statsmodels.api as sm
import pandas as pd
from sklearn.metrics import mean_squared_errorx = pd.DataFrame(np.random.randint(0, 100, size=(100, 4)), columns=['col1', 'col2', 'col3', 'col4']
)
y = np.random.randint(0, 100, size=(100, 1))
fit = sm.OLS(y, x).fit()print(fit.summary())pred = fit.predict()
print("RMSE : ", np.sqrt(mean_squared_error(y, pred)))  # 计算 RMSE# 离群点检验
out_points = fit.get_influence()

高杠杆值点

# 高杠杆值点(帽子矩阵)
leverage = out_points.hat_matrix_diag
# 高杠杆值点大于 2(p+1)/n时 被认为是异常点;其中p为维度,n为样本数量
leverage_out = x[leverage > 2 * (x.shape[1]) / x.shape[0]]

DFFITS值

# DFFITS值
dffits = out_points.dffits[0]# DFFITS统计值大于 2sqrt((p+1)/n) 时被认为是异常点,其中p为维度,n为样本数量
diffts_out = x[dffits > 2 * np.sqrt((x.shape[1] + 1) / x.shape[0])]

SR学生化残差

# 学生化残差
studentized_residual = out_points.resid_studentized_external# studentized_residual 的绝对值不大于2
studentized_residual_out = x[np.abs(studentized_residual) > 2]

cook距离

# cook距离cook = out_points.cooks_distance[0]
# 值的绝对值越大越有高概率是异常点

covratio值

# covratio值covratio = out_points.cov_ratio
# covratio值离 1 越远,越有可能是离群点

全部代码

import numpy as np
import statsmodels.api as sm
import pandas as pd
from sklearn.metrics import mean_squared_errorx = pd.DataFrame(np.random.randint(0, 100, size=(100, 4)), columns=['col1', 'col2', 'col3', 'col4']
)
y = np.random.randint(0, 100, size=(100, 1))
fit = sm.OLS(y, x).fit()print(fit.summary())pred = fit.predict()
print("RMSE : ", np.sqrt(mean_squared_error(y, pred)))  # 计算 RMSE# 离群点检验
out_points = fit.get_influence()# 高杠杆值点(帽子矩阵)
leverage = out_points.hat_matrix_diag
# 高杠杆值点大于 2(p+1)/n时 被认为是异常点;其中p为维度,n为样本数量
leverage_out = x[leverage > 2 * (x.shape[1]) / x.shape[0]]# DFFITS值
dffits = out_points.dffits[0]
# DFFITS统计值大于 2sqrt((p+1)/n) 时被认为是异常点,其中p为维度,n为样本数量
diffts_out = x[dffits > 2 * np.sqrt((x.shape[1] + 1) / x.shape[0])]# 学生化残差
studentized_residual = out_points.resid_studentized_external
# studentized_residual 的绝对值不大于2
studentized_residual_out = x[np.abs(studentized_residual) > 2]# cook距离cook = out_points.cooks_distance[0]
# 值的绝对值越大越有高概率是异常点# covratio值covratio = out_points.cov_ratio
# covratio值离 1 越远,越有可能是离群点# 将上面的几种异常值检验统计量与原始数据集合并
contat1 = pd.concat([pd.Series(leverage, name='leverage'),pd.Series(dffits, name='dffits'),pd.Series(studentized_residual, name='rs'),pd.Series(cook, name='cook'),pd.Series(covratio, name='covratio'),
], axis=1)

离群点、异常点检测及Python实现(正态分布3∂,Z-score 异常值检测,基于MAD的Z-score 异常值检测,杠杆值点、DFFITS值、SR学生化残差、cook距离和covratio值)相关推荐

  1. 用于时间序列异常检测的学生化残差( studentized residual)的理论和代码实现

    异常检测是指数据科学中可帮助发现数据集中的异常值有用的技术.异常检测在处理时间序列数据时特别有用.例如时间序列数据来自传感器测量结果(例如压力和温度),由于设备故障和瞬态现象等问题包含许多异常点, 异 ...

  2. OpenCV基于Python霍夫圆检测—基于梯度的霍夫圆检测

    基于梯度的霍夫圆检测 1. 回顾与目标 2. 基于梯度的霍夫圆检测 2.1 问题分析 2.2 基于梯度的霍夫圆检测步骤 3. 基于梯度的霍夫圆检测函数HoughCircles 3.1 函数HoughC ...

  3. 基于OpenCV的视频处理 - 人脸检测

    一个不知名大学生,江湖人称菜狗 original author: jacky Li Email : 3435673055@qq.com  Time of completion:2023.2.7 Las ...

  4. [论文阅读] (10)基于溯源图的APT攻击检测安全顶会总结

    <娜璋带你读论文>系列主要是督促自己阅读优秀论文及听取学术讲座,并分享给大家,希望您喜欢.由于作者的英文水平和学术能力不高,需要不断提升,所以还请大家批评指正,非常欢迎大家给我留言评论,学 ...

  5. 基于用户行为建模和异常检测算法的内部威胁检测

    Insider Threat Detection Based on User Behavior Modeling and Anomaly Detection Algorithms 内部威胁是授权用户的 ...

  6. 两个一样的图像相除会怎么样_【壮凌自动化分析】一种动力电池生产中基于图像运动模糊的速度检测方法...

    一种动力电池生产中基于图像运动模糊的速度检测方法 1.西南大学 电子信息工程学院,重庆 400715) 2.非线性电路与智能信息处理重庆市重点实验室,重庆 400715) 1.当前背景与成熟方法介绍 ...

  7. 肺结节目标检测_一种基于CT图像的肺结节检测方法及系统与流程

    本发明属于医学图像分析和计算机辅助诊断等技术领域,更具体地,涉及一种基于CT图像的肺结节检测方法及系统. 背景技术: 肺癌是导致患癌死亡的最危险的疾病之一,其发病率占所有癌症的三分之二,且5年存活率为 ...

  8. 基于深度学习的小目标检测方法综述

    随着深度学习的发展,基于深度学习的目标检测技术取得了巨大的进展,但小目标由于像素少,难以提取有效信息,造成小目标的检测面临着巨大的困难和挑战. 为了提高小目标的检测性能,研究人员从网络结构.训练策略. ...

  9. python 异常点检测 cook距离_异常检测算法汇总

    本文来自:https://github.com/Albertsr 第一部分:无监督异常检测 1. 算法 1.1 孤立森林(Isolation Forest) 算法论文: Isolation Fores ...

最新文章

  1. 查找python矩阵中最大元素_找出矩阵中最大的元素
  2. 201673020127 词频统计软件项目报告
  3. matlab 判断两个矩阵有元素相等_Matlab入门教程 第 1 章 Matlab基础知识之基本运算...
  4. 监理延期 验收工程款制约三方
  5. putty+Xming使用方法
  6. 微信小程序demo、开发工具下载地址
  7. Word如何快速绘制你需要的作文稿纸
  8. Google IO 2022——CSS 状态
  9. 高漫数位板1060PRO 8192级的驱动下载与安装
  10. 关于MOS管的详细介绍
  11. linux电脑主机国产,免费linux主机面板推荐,国产比较优秀Linux免费云主机管理面...
  12. 什么是绿色工厂?什么企业可以申报绿色工厂?
  13. vue+element ui 项目 后台管理系统
  14. 线程同步之互斥量(互斥锁)
  15. Java页面跳转失效_求助各位java大神,为什么表单提交之后跳转页面失灵
  16. maven的下载与配置,还有maven的使用逻辑
  17. python PIL 图片素描化
  18. 机器人自己造自己,像搭积木一样轻松 | MIT
  19. Windows桌面图标和分类美化小工具
  20. 鸿蒙系统有哪些手机可以用,鸿蒙系统手机有哪些型号,鸿蒙系统手机什么时候上市...

热门文章

  1. c语言变量生存期,C语言变量的生命周期
  2. 技本功丨用短平快的方式告诉你:Flink-SQL的扩展实现...
  3. mariadb数据库文件的组成
  4. 【mac apache】了解自带的apache
  5. python 遗传算法精简版
  6. 简单使用AutoMapper实现DTO转换
  7. lamp软件包安装(rpm)
  8. 关于 shell 脚本编程的10 个最佳实践
  9. 正则表达式收集(持久更新)
  10. 今天的天气好热哦!!!