昨天小妹讲到自己最喜欢的JMP一点就是她的交互分析功能,所谓的“牵一发动全身”,今天小妹就给大家介绍一场精彩应用,如何用JMP来“纵观全局”,进行所谓的“离群值监测”。
1. 我们为什么要监测异常值
所谓异常值,通俗点讲就是那个偏离正常水平的观测。比如赵四村里的高考状元,比如高考三次没成功最后能让中国几亿人剁手吃土的马老板。
那我们为什么要监测异常值呢?
建模需要
经常建模的童鞋恐怕早已经知道一个异常值对模型的影响有多么巨大,不经常建模的同学嘛,你知道马云走进你们家,用你们屋里人的平均收入来衡量你们家的收入有多么不靠谱就知道了!(富二代可以忽略这句话)
业务实践需要
有很多时候,我们是很想发现那些异常值的。正经点说,银行需要发现谁在进行信用卡欺诈,医学需要监测谁发了病,网络工程师需要发现是不是有人入侵了网络,这些都是相对于大部分人群和事件的“异常值”; 不正经点说,我们常常爱八卦哪个灰姑娘找到了王子,今天高考谁是黑马,以及霍建华要大婚了,胡歌是不是最伤心等等,显然大家都对不正常的事件更感兴趣嘛~
2. 在数据分析的实践中如何监测
那么在统计学领域,异常值是如何监测的呢?翻开一本统计书,你可以找到一大摞用于监测统计异常值的论文,的观点,的方法,的包。比如基于距离的方法,基于密度的方法,基于聚类的方法,甚至基于矩阵分解的方法,基于主成分的方法,考虑各种局部离群,全局异常的高大上的概念,在追求艺术品的路上一路向前!
然而,在实际的数据分析中呢,用到的道道更简单实用(基于小妹有限的实际操作经验)常用的有两种,一种是事前筛,基于变量正常值,基于业务实际背景,看谁在单变量中就跟别人不一样;第二种是事后筛,建完模型,看模型诊断图,看有没有杠杆值,有没有异常点等等,所以归结起来,更多的是基于单变量的正常表现来监测异常值(通常基于统计理论3倍标准差以外)
3. JMP能给我们提供什么新视角
然而,在常规的异常值监测中,小妹想到的是,假如一个对象在每个变量都变现正常,但是就是这些变量组合起来就不对劲了,不合群了,这种情况怎么办?有没有简便的方法实现?嘿~当小妹发现JMP的这种联动分析功能后,觉得它在异常点检测的直观体验很好呢。
小妹以一个简单的例子说明。
数据是JMP软件内置的“financial" 数据,记录的是财富杂志90年4月23日世界500强的一些公司营业指标。
底下是小妹结合单指标的异常值表现,然后对应到原始数据,多元分布散点图以及JMP内置的jacknife距离进行离群值分析机制做的示意图。
大家可以看到,利用这个可视化神器,是不是可以同时结合四种方式来同时考察一个点是不是真的离群,这个思路有木有很有意思呀?
<鸡汤时间>
毛爷爷告诉我们要用联系的观点看问题,要用全面的观点看问题,JMP的这点在所有打开的窗口同时高亮同一对象的技能是不是很酷炫呢哇?
标签: fina