文章分为两个部分,缺失值诊断和缺失值处理。所用到的R包为mice、VIM、mvoutlier

一、异常值诊断

(1)通过箱线图呈现噪声值。这种该方法可以查看明显的噪声值,但无法提供索引,无法在数据中准确定位噪声值。

(2)聚类方法诊断

为每个观测值聚类,计算与聚类中心距离。距离最大的N类(自定)被诊断为异常值。

(3)聚类方法发现强影响变量

m<-(scale(orgData2)-centers)[outliers,]
m0<-apply(m,2,sd)
m0<-m0/sum(m0)
m2<-abs(m)/apply(abs(m),1,sum)
m3<-t(m0*t(m2))
m3<-m3/apply(m3,1,sum)
#设置最小影响强度
minInf<-0.4
m3[m3>=minInf]<-1
m3[m3<minInf]<-0
orgData2[outliers,]

(4)回归方法诊断噪声值

这种方法必须提前处理缺失值。如用 mice中的多重插补法,或直接忽略。处理完缺失值后,建立线性回归模型。

a. 残差拟合图

b. QQ图

c. 标准化后的残差拟合值图

d. cook距离判断噪声值。一般来说,cook=4/(n-k-1),其中n为观测数,k为变量数(不包括常数项)。计算每个观测的cook距离,若观测cook值明显大于计算出的cook,则可认为是异常点。

二、异常值处理

(1)等宽分箱平滑

这种方法将属性值按照最大最小值,等距地分为N份。用每一份中的平均值或中位数,替换异常值,进行平滑处理。使用cut函数,如cut(orgData4$Gest,4)。

(2)等比分箱平滑

思路与等宽分箱类似。不同之处在于,等比分箱采用分位数进行分箱处理。如quantile(orgData4$Gest,probs=seq(0,1,1/4))。若按此种方法分,分割值为第一分位数、中位数和第三中位数。这种方法较等宽分箱的优势在于,数据在箱中分布较为均匀,得出箱中的平均数或中位数,可以较好地替换平滑异常值。

(3)直接删除法

(4)回归拟合法

前面可以用利用大于计算出的cook值的方法发现异常值。发现异常值后,用线性回归模型的拟合值进行代替。我对这种方法用一个疑虑。回归模型的建立是包含异常值的,但用包含异常值拟合的模型去拟合异常值,会不会产生结果的失真?或许可以采用处理缺失值类似的方法,先剔除异常值的影响,重新建模,用剔除异常值的模型与拟合异常值。

R语言异常值处理方法总结相关推荐

  1. R语言使用回归方法解决方差分析问题

    R语言使用回归方法解决方差分析问题 线性回归与t检验等价: 线性回归与方差分析等价: 线性回归与协方差分析等价: ANOVA 和回归都是广义线性模型的特例. 案例1 回归分析做ANOVA librar ...

  2. R语言基于Bootstrap方法计算标准误差(std. error)实战

    R语言基于Bootstrap方法计算标准误差(std. error)实战 目录 R语言基于Bootstrap方法计算标准误差实战 #Bootstrapping计算标准误的流程

  3. 掌握R语言文件读取方法

    目标 掌握 R语言文件读取方法 学习笔记 utils包内Date Input用法 base包内readLines用法 stringi包内stri_read_lines xlsx包内Date Input ...

  4. R语言气象相关分析方法

    R语言气象相关分析方法(包括二进制文件R语言读取) ######读取热带印度洋海温场资料################# read.filename <- file("D:\\99\ ...

  5. R语言︱异常值检验、离群点分析、异常值处理

    每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 笔者寄语:异常值处理一般分为以下几个步骤:异常 ...

  6. R语言|数据预处理方法

    数据预处理的主要内容包括 数据清洗 原始数据的质量直接影响了数据分析的质量,不符合要求的脏数据有: 无关数据. 重复数据或者含有特殊符号的数据. 缺失值.产生原因是有些数据无法获取,或者获取成本过高, ...

  7. R语言包安装方法,及优质包推荐

    R语言,之所以能成为统计学的"当红炸子鸡",因为它内置了海量统计函数,使用者可以利用其对数据进行快速的交互分析,在数据分析界是当之无愧的"瑞士军刀". 因此,通 ...

  8. Ubuntu18.04安装最新R语言环境的方法

    写在前面 最近学习R语言,在Windows环境配置很简单,但是导出的PDF不尽人意,于是选择Ubuntu来搞,可惜一开始我还是太天真,直接sudo apt install r-base了,导致安装的R ...

  9. R语言igraph软件包方法

    一.igraph软件包创建图和网络 R语言的术语网络是加权无向图和加权有向图.igraph 是一个独立的库,底层是 C,上层有 Python 和 R 接口,主要做图和网络方面的计算,附带绘图功能. 调 ...

最新文章

  1. 数组中只出现一次的数字
  2. 将本地win10作为web服务器
  3. 尝试优化骨骼动画计算的意外收获——使用嵌入式汇编对float转int进行优化
  4. php邮件发送tp,Thinkphp5 邮件发送Thinkphp发送邮件
  5. cad和python哪个好学_对纯外行人来说,学习PS和Python哪个更容易?
  6. 洛谷——P1001 A+B Problem
  7. Bailian2764 数根(POJ NOI0113-50)【数论】
  8. 灰常好的开源项目[c/c++]
  9. Testbed单元测试
  10. 浅谈在线IDE的搭建,配置,体验
  11. 查看Win10是否永久激活
  12. 国密(2)-- SM2签名和加密算法介绍
  13. markdown笔记(二)—— 插入图片及调整大小
  14. python-合并两个列表并去重
  15. 网络电视测试软件,电视屏幕检测(三款智能电视屏幕检测软件)
  16. Jina AI创始人肖涵博士解读多模态AI的范式变革
  17. 松饼行业调研报告 - 市场现状分析与发展前景预测
  18. 《深入理解Android内核设计思想》已陆续在全国各大书店及网上书店上市,感谢大家一直以来的支持~~
  19. AirDisk产品Q3C两大功能
  20. 算法岗位2019年秋招面试

热门文章

  1. excel拆分工具怎么拆分表格?
  2. STM32上电启动代码详解(转自安富莱电子)
  3. CCTalk:为什么你做了很多无效的自动化?
  4. 云存储及其分布式文件系统
  5. 学籍管理系统:详细设计说明书- -
  6. TestFlight应用
  7. 学计算机编程我有什么好处,学编程到底有什么好处?我发现了这三个秘密!
  8. ToDesk软件安装教程(远程办公必备软件)
  9. 集赞免费领《新程序员》电子刊!
  10. 在CAD里怎么测量面积?