微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

对极端数据集中缺失数据的标准化和控制

如何解决对极端数据集中缺失数据的标准化和控制

我有以下数据集

structure(list(q1 = c(5,40,200,100,3,10,50,20,600,15,80,45,30,5,2,50),q2 = c(5,11,60,0),q3 = c(2,70,400,160,350,500,300,1000,150,10),q4 = c(50,25,1510,q5 = c(20,8,15),q6 = c(0,35,17,q7 = c(5,30),q8 = c(0,6,q9 = c(20,180,1,90,q10 = c(10,q11 = c(20,120,9,20),q12 = c(20,12,31,q13 = c(200,202,q14 = c(0,10020,q15 = c(50,q16 = c(50,200),q17 = c(0,140,q18 = c(0,250,800,q19 = c(0,75,q20 = c(100,1500,5020,63,40),q21 = c(100,2525,q22 = c(100,q23 = c(10,4,700,1010,15)),row.names = c(NA,-60L),class = "data.frame")

edit*: 0 不是缺失数据,因为它是 $

中的值

从图形上看,它看起来远非理想

Boxplot(as.matrix(example))
plot(density(as.matrix(example)))

我想通过转换和控制异常值来规范化这些数据,所以我有两个问题:

问题 1

您将如何处理此数据集中的异常值。我不想丢失数据所以我想替换它们,但是我不清楚使用哪种方法在这件事上,是否有任何软件包可以帮助我自动执行此操作?我也想看看所用方法的基本原理

问题 2

控制异常值后,我想将变量转换为正态。为此,我有两个我倾向于使用的包:

library(rcompanion)
a<- transformTukey(as.matrix(example))

library(LAmbertW)
b<-Gaussianize(example,type = "h")

但是,我不太确定它们在数学上是如何工作的,以及如何评估它们是否做得很好,哪个更好,或者是否有其他更实用的解决方案。

解决方法

目前还不清楚您要对数据做什么,但我几乎会从简单的事情开始,然后从那里开始。例如, hist() 是什么样子的,所有正态分布(当然你可以在网上找到更好的地方)检查。我认为我在异常值中总是采用的是简单的 lm() ,它将包含异常值的图表以及如果您查看这些图表的“截止”位置。通常,数据类型也会让您对规范化方法有一些了解,但通常对数范数通常是一个很好的默认选择

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。