python 相关性 去极值_数据挖掘学习之路四:Python去极值方法_艾德琳的金鱼记忆的博客-程序员宅基地

技术标签: python 相关性 去极值  

1. MAD

#MAD(mean absolute deviation)又称为绝对值差中位数法,是一种先需计算所有因子与平均值之间的距离总和来检测离群值的方法.

#处理的逻辑:

#第一步,找出所有因子的中位数 Xmedian

#第二步:得到每个因子与中位数的绝对偏差值 Xi?Xmedian

#第三步:得到绝对偏差值的中位数 MAD

#第四步:确定参数 n,从而确定合理的范围为 [Xmedian?nMAD,Xmedian+nMAD],并针对超出合理范围的因子值做如下的调整

#超出最大值的用最大值代替,小于最小值的用最小值代替。

def filter_extreme_MAD(series,n): #MAD:中位数去极值

median = series.quantile(0.5)

new_median = ((series - median).abs()).quantile(0.50)

max_range = median + n*new_median

min_range = median - n*new_median

return np.clip(series,min_range,max_range)

data6=Series([18,18,19,19,20,20,100])

data7 = filter_extreme_MAD(data6,7)

print(data7)1

2

3

4

5

6

7

8

9

10

2. 3σ法

#3σ法又称为标准差法。标准差本身可以体现因子的离散程度,是基于因子的平均值 Xmean而定的。

#在离群值处理过程中,可通过用 Xmean±nσ来衡量因子与平均值的距离。

#标准差法处理的逻辑与MAD法类似:

#第一步:计算出因子的平均值与标准差

#第二步:确认参数 n(这里选定 n = 3)

#第三步:确认因子值的合理范围为 [Xmean?nσ,Xmean nσ],并对因子值作如下的调整:

#超出最大值的用最大值代替,小于最小值的用最小值代替。

def filter_extreme_3sigma(series,n=3): #3 sigma

mean = series.mean()

std = series.std()

max_range = mean + n*std

min_range = mean - n*std

print(max_range)

print(min_range)

return np.clip(series,min_range,max_range)

data8 = filter_extreme_3sigma(data6)

print(data8)1

2

3

4

5

6

7

8

9

10

11

3. 百分位法

#将因子值进行升序的排序,对排位百分位高于97.5%或排位百分位低于2.5%的因子值,进行类似于 MAD 、 3σ 的方法进行调整。

def filter_extreme_percentile(series,min = 0.10,max = 0.90): #百分位法

series = series.sort_values()

q = series.quantile([min,max])

return np.clip(series,q.iloc[0],q.iloc[1])

data9 = filter_extreme_percentile(data6)

print(data9)1

2

3

4

5

6

7

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_33168127/article/details/113966393

智能推荐

微信小程序热门教程(纯干货)_小星球微信小程序-程序员宅基地

这是一个寒冷的冬天,然而,微信新秀——应用号(小程序)在这个冬天确尤显火热,下面整理了一些资料供大家学习,希望对大家有帮助。第一部分1、兄弟连陈玉龙老师的教学链接:https://e.youku.com/cp/ECOMzQwNTY=/ECHNTIzOTg0#menu2、小程序开发资源合辑链接:http://pan.baidu.com/s/1pLCV8Kj 密码:up9l3、小程_小星球微信小程序

Type I – Semi-Static HARQ Feedback的一些补充_pdsch repetition-程序员宅基地

若反馈窗口中涉及BWP切换,那么在切换前的BWP的PDSCH不进行反馈,也不计入HARQ-ACK反馈的比特数之中。 图1 BWP切换场景 若PDSCH配置了re..._pdsch repetition

HTML、CSS和JavaScript学习五(案例分析一框架窗体分割、超链接和热点区域)_html热点区域分割-程序员宅基地

HTML、CSS和JavaScript三者合并时下面主要以不同例子进行说明三者的结合使用:一.框架之间的链接,以及热点区域的使用:先看效果图:准备四个html文件,分别是framesets.html、img.html、lianjie1.html和lianjie2.htmlframesets.html 的代码如下,很简单:[java_html热点区域分割

sohu读博:鱼顺顺_三木_新浪博客-程序员宅基地

草根名博排在第一位的是鱼顺顺(http://yushunshun.blog.sohu.com/),怀着好奇的心情,去她那里转了转,发现了她的访问量大的惊人。草根怎么才能蹦到千万的访问量?经常更新自不用说,作为名博,她的博客更新速度的确很快,每天都有多篇文章发表。文章内容方面,她的博客大都是关于日常唠嗑的那种方式,比较有可读性。尤其是文章的分类特别有特点,能体现出一个居家的女人所能关注...

V3.5.0版本新增内容-程序员宅基地

V3.5.0版本新增内容 日期版本新增内容2010.02.09V3.5.0多路解码器类型定义为DS630X_D;新增接口功能(NET_DVR_MatrixStartDynamic_V30、NET_DVR_MatrixSetLoopDecChanInfo_V30、NET_DVR_MatrixGetLoopDecChanInfo_V30、NET_DVR_MatrixGetDecChanInfo_V30、NET_DVR_MatrixSetTranInfo_V30、NET_DVR_MatrixGetTr

关于 SummaryWriter 使用时 找不到、循环引用以及版本不够1.15的报错_summarywriter add_graph_不喜欢写代码的小吴的博客-程序员宅基地

在使用 SummaryWriter 时引用了add_image() 和 add_graph() 时出现了如下报错1.使用from torch.utils.tensorboard import SummaryWriter引入时报错torch.utils.tensorboard找不到模组most likely due to a circular import2.使用from tensorboardX import SummaryWriter引入时报错TensorB_summarywriter add_graph

随便推点

广义表-取表头head与取表尾tail,深度及长度_广义表tail和head操作-程序员宅基地

广义表最基本的操作:取表头head(LS)与取表尾tail(LS)例:LS=(a,(b,c,d))head(LS)=atail(LS)=((b,c,d))head(tail(LS))=(b,c,d)tail(tail(LS))=()head(head(tail(LS)))=btail(head(tail(LS)))=(c,d)head(tail(head(tail(LS))))=ctail(tail(head(tail(LS))))=(d)head(tail(tail(head(tail_广义表tail和head操作

解决 Vue 项目中使用 iView 组件库设置样式不生效的问题_iview按需引入没有样式-程序员宅基地

有时候我们使用iview 组件库样式达不到需要的效果我们可以通过重写对应的CSS样式,来达到效果,但是有时候,我们不管是怎样写,他就是不生效,我们可以使用下面的方法,贼暴力。找到要设置样式的类名,直接按照下面写法设置就可以了!(这里用的是vue 的 less-loader 插件)/deep/ 深度选择器在写一些vue项目时候,经常会引入一些组件。无论是自定义组件还是引入的外部组件。style标签上都有scoped属性。防止影响到其他页面上的样式。但是又是需要在父组件更改自组件的样式。就要用到组件穿透_iview按需引入没有样式

ubuntu12.04连接winscp服务器时出现了:拒绝了SFTP连接,但它监听FTP连接。 想要用FTP协议来代替SFTP吗?最好是用加密的。_ubuntu服务器拒绝了sftp在连接-程序员宅基地

出现这种情况的原因是未安装sshd. 先安装"sudo apt-get install yum"输入 "sudo apt-get install openssh-server" 然后输入 "y"输入"sudo ps -e |grep ssh"-->回车-->有sshd,说明ssh服务已经启动如果没有启动,输入"sudo service ssh start"-->回车-->ssh_ubuntu服务器拒绝了sftp在连接

Java实现FTP文件上传-程序员宅基地

原文链接:http://www.phpxs.com/code/1002228/importorg.apache.commons.io.IOUtils;importorg.apache.commons.net.ftp.FTPClient; importjava.io.File;importjava.io.FileIn

java内存加载状况监听_java程序员必须知道的内存知识-操作系统层_JjjjjNP的博客-程序员宅基地

1.虚拟存储器作用1.为了给每个进程提供一致的地址空间(都从0开始),方便内存管理。2.保护每个进程的数据不会因为其它进程而被破坏。基于以上的原因,有了虚拟存储器,虚拟存储器是在硬盘上的一个文件,例如我们申请20G内存,其实只是在硬盘上创建了一个20g的文件,内存中只会有我们频繁读写的数据,换句话说内存是这个文件的缓存。这是一个32操作系统的虚拟存储器图结构为了对所有进程一致,下方是低地址从0开始..._java 监听类加载

Springboot项目中maven无法下载spring-boot-maven-plugin依赖的解决办法_spring boot 下载maven失败-程序员宅基地

Springboot项目中maven无法下载spring-boot-maven-plugin依赖的解决办法在setting.xml中添加<pluginRepositories> <pluginRepository> <id>spring plugins</id> <name>Spring plugins</name> <url>https://maven.ali_spring boot 下载maven失败

推荐文章

热门文章

相关标签