当你拿到数据开始分析时,第一步通常会做什么?

是使用功能强大的JMP Graph Builder(图形生成器) 做可视化分析?

或是利用JMP Distribution(分布)平台做描述性统计量分析?

又或是利用JMP多样的预测建模工具,找到最适当的预测模型?

虽然这些都是JMP为人所乐道的一些功能,但是作为使用JMP进行分析的第一步,除了上述平台外,你不妨考虑利用Explore Outliers (探索离群值)及 Explore Missing Values(探索缺失值)平台,来清洗你的数据,正所谓磨刀不误砍柴工。

也许你认为探索缺失值还能理解,毕竟空值要先剔除,对后续分析比较合理。但是,为什么需要将离群值也排除?假如这样的离群值正是代表数据总体的状况,是否对我们的分析会有影响?而且,离群值很难抓取出来,不能先忽略这个影响吗?

要厘清这些问题,我们需要先搞清楚什么是离群值。

Part.1 哪些数据属于离群值?

一元数据的离群值

我们先讨论一元数据的情况。

随机生成1000个标准正态分布Nor(0, 1)的值,如图一,其中标记红色的点,为超出[-4,4]范围的离群点,这样的发生几率为0.0063%,是非常小的几率,于是这样小几率区域上发生的点我们就视为离群值。

图一 随机生成的常态分配点图

接着,我们来看二元变量的情形。

二元数据的离群值

在JMP软件中,利用Graph Builder(图形生成器) 分析,不论数据点是两个变量之间具有相同均值及变异数(X2 vs. X1)、或是具有不同均值及变异数(X3 vs. X1),如下方图二,我们都能用肉眼发现这些离群点(红点)似乎跟其他的点有不一样的趋势,且与数据中心点的距离较远。

图二 (a) 2变量具有相同均值及变异数散点图

图二(b) 2变量具有不同均值及变异数散点图

而当两变量间有强相关性,也能发现有些离群点距离其他的样本点之间的距离较大(图三红点)。

另外,利用Fit Y by X(以X拟合Y)平台的Histogram Boarder功能观察两变量的分布(图三),我们发现

如果只关注单一变量,有些离群值则会侦测不到,如下图所示,这一个典型的例子说明,我们全盘考虑多变量的离群值时,会抓到一些潜在的离群点,避免只观察管控单一变量的误判。幸运的是,JMP提供了这样的多变量离群点观测平台。

图三 两变量间有强相关性的散点图

到此,我们能够了解离群值的概念,就是找出相较于其他的样本点,距离样本中心较远,或是点的坐落位置与样本整体”趋势”不符合的点。有趣的是,离群点不代表有问题的点,而是代表与其他的样本有着差距而无相同的”趋势”。所以离群值,有可能代表良善社会的问题人物,也可能代表万恶城市中的一股清流,就看你的样本来自哪里。

接下来,我们用一个半导体制造的电性测试数据来进一步说明和验证。

半导体数据的案例说明

半导体晶圆制造的组件参数都有其对应电子特性。因此透过电性测试这些参数的结果便可反推对应制程的质量。晶圆代工厂一般称电性参数测试称为WAT (Wafer Acceptance Test),其客户需要检视WAT测试数据来确认制造质量。而新制程研发阶段更需要搜集大量WAT数据来解决制程问题或寻找优化的因子配置。

我们利用一组简单的WAT数据作为示范,其中包含10个观测参数数据。

当我们直接分析产线三的数据时,利用JMP Analyze>Distribution (分析>分布)功能,可以快速做出相应的直方图及Outlier Box Plot (离群值箱线图)观察是否有离群值。

结果如图四(a),Outlier Box 上的红色线段标记出最集中涵盖50%的区域,从此处我们可以发现数据集中在中间的区段。同样的,你也可以利用Graph Builder的箱线图功能完成箱线图的绘制,如图四(b)。

图四(a) Distribution 平台的直方图及Outlier Box Plot (b) Graph Builder的Box Plot

根据Quantile Range (分位数范围)离群值检验,我们发现参数一存在一个离群值(红点),利用Analyze>Screening>Explore Outliers (JMP>分析>筛选>探索离群值)平台中的Quantile Range Outliers(分位数范围离群值)功能,可以发现其离群值(图五),并可以针对数据做标记、排除、视为缺失值等动作。

同时,你也可以调整判定为离群值的规则,可以调整尾端百分位值(Tail Quantile)和其倍数(Q),以常见的IQR离群值检验,上限为Q3+1.5IQR,上限为Q1-1.5IQR为例, Tail Quantile 即为0.25, Q则为1.5。

而当你的数据较不符合正态分布时,可以考虑使用Robust Fit Outliers(稳健拟合离群值)作为离群值筛选平台。

图五 Explore Outliers 平台中的Quantile Range Outliers

但当我们更全面考虑,纳入所有产线的数据,你会发现产线三拥有较高的参数一测试结果,如图六,原本产线三上的离群值8.01反而较符合大多数数据的测试结果,而实际的离群值则转为产线三最高的三个值(图六红点),这样的结果也正如前面所说的样本出处的重要性,广泛获取能够代表总体数据对于筛选正确的离群值有着举足轻重的作用。

图六 全部产线的Box Plot

当考虑所有参数的影响,找出所有参数影响下的离群值时,JMP也提供了Robust PCA Outliers(稳健PCA离群值)或是K Nearest Neighbor Outliers (K最近邻离群值)功能供用户使用。你可以在Analyze> Screening> Explore Outliers(分析>筛选>探索离群值)下找到这两个功能平台。

在这里,我们使用K Nearest Neighbor Outliers 平台寻找离群值,利用复合选取距离较高的样本点,标记为离群值(图七)。

图七 K Nearest Neighbor Outliers 平台下的距离图

通过Graph Builder 确认这些被选为离群值的数据点在每一个参数上的分布位置可以发现,不是所有的点都属于单一参数的离群值(如数据点290, 295, 296, 297, 298, 299),这样的结果也和前面所提到的通过JMP多元离群值筛选平台,可以抓出许多在观测单变量下所忽略的潜在问题点(图八)。

图八 用Boxplot 比较离群值分别在变量上的分布

现在,我们知道了JMP有很强大的平台可以帮助我们把离群值筛选出来,但是,如果没有把离群值筛选掉,会有哪些影响?

Part.2 离群值不剔除,会有什么影响?

化繁为简,我们先看一下两参数间的离群值影响。

我们观测WAT数据参数一和参数二之间的二次效应回归式估计的R-square值,在还没移除筛选出的离群值前,R-square值为0.602,如图九(a),而移除离群值后,R-square值上升为0.740,如图九(b),这说明移除离群值能够构建出更准确的模型,拥有差距更小的估计值。

当我们利用这些参数构建出预测结果,例如良率预估或是CP/FT 测试预估值等,我们便能更有效地侦测不良,降低成本,增加效益。

图九(a) 没移除离群值的二次回归估计,图九(b) 移除离群值的二次回归估计

接着,放大考虑全部参数,并用这些参数预估后续Bin值结果,找到关键因子,并在最小化Bin值的设定下找到最佳因子设定值。

同样的,我们先考虑不移除离群值,找出最适合的回归模型。

利用JMP Fit Model(拟合模型)平台,我们得到回归模型R-square 大约为0.971,包含许多因子效应项,这其中可以看到许多的交互作用项效应比主效应强, 似乎比较混乱,且观察Residual by Row Plot 可以发现,筛选为离群值的那几个样本差距是比较大的(图十)。

图十 不移除离群值回归式R-square、Residual by Row Plot及影响的因子效应项

下一步,我们把离群值移除,再做一次回归估计。

我们发现,不仅R-square 上升到0.999,关键因子也缩减到四个因子效应项,观察Residual by Row Plot,也没有发现差异比较大的样本(图十一)。因此,根据此回归公式预测的结果也会更准确,可防止做出错误的判断。

图十一 移除离群值回归式R-square、Residual by Row Plot及影响的因子效应项

搜集更多的数据做后续测试回归式的准确度,我们可以在Analyze>Fit Y by X(分析>以X拟合Y)的平台下,比较回归式的预估值及实际的Bin 值,新数据依然能够有很好的水平。R-square有0.999的准确度,而且没有特殊的点有过大的差异(图十二)。

图十二 比较回归式的预估值及实际的Bin 值

由此,我们可以看到,通过JMP的探索离群值平台,我们能够轻松快速地排除离群值,避免受到离群值影响误判因子之间的相关性或是做出错误的模型预测,导致错误的预估及决策。

作为分析的前哨站,JMP的Explore Outliers(探索离群值) 平台能够针对不同的应用场景,不论单变量或是多变量,数据是否为正态分布等等情形,一应俱全地提供相应的平台,让用户可以高效地寻找离群值,“让数据说真话”,真正地发挥数据在实际工作中的作用。

如果你也想在JMP中自己动手试试看的话,可下载JMP 30天免费试用。

磨刀不误砍柴工——利用JMP探索离群值相关推荐

  1. 磨刀不误砍柴工——数据准备的过程与实践

      众所周知,我们常用"磨刀不误砍柴工"来比喻要办成一件事,不一定要立即着手干活,而是先要进行一些筹划和安排,充分做好准备工作,创造出有利条件,这样不但不会浪费时间,反而会大大提高 ...

  2. linux 测试端口连通性_磨刀不误砍柴工,带你搞定云网络系统性能测试

    磨刀不误砍柴工,带你搞定云网络系统性能测试 一.前言 在部署或管理网络系统时,我们更多的是关心网络的连通性,而对于其整体的性能往往考虑不多,或者即使考虑到性能.异常或稳定性的问题,但却发现没有合适的手 ...

  3. 磨刀不误砍柴工-----为提升自己找到一个平衡点

    作为一名软件开发人员,你该如何磨快你的锯子? "磨锯子"实际上是一个代名词,泛指一切编程以外的活动(不必编写代码),而这些活动(理论上来说)能使你成为一名更出色的程序员.这个词源自 ...

  4. [浪风分享]很简单的查看电脑所支持的最大内存的方法--磨刀不误砍柴工

    硬件+操作系统====决定支持的最大内存 在开始---运行处输入cmd(或者按住winkdy+R键输入CMD),打开命令窗口,输入wmic memphysical get maxcapacity然后回 ...

  5. 制作短视频需注意的三个要点,做好计划再制作,磨刀不误砍柴工

    制作短视频需注意的三个要点,做好计划再制作,磨刀不误砍柴工 俗话说得好,磨刀不误砍柴工,做短视频也是如此.我们在制作短视频之前,还应当注意到三个要点,并做好准备,只有提前做好了制作短视频的准备,我们才 ...

  6. 磨刀不误砍柴工 —— 自己动手写操作系统 入门导引

    磨刀不误砍柴工 刺猬@http://blog.csdn.net/littlehedgehog <自己动手写操作系统>其实阅读所需要的前提不过只是C和汇编了,里面涉及到很多操作系统的东西.于 ...

  7. 磨刀不误砍柴工 ——《自己动手写操作系统》入门导引

    磨刀不误砍柴工 刺猬@http://blog.csdn.net/littlehedgehog <自己动手写操作系统>其实阅读所需要的前提不过只是C和汇编了,里面涉及到很多操作系统的东西.于 ...

  8. 磨刀不误砍柴工,带你搞定云网络系统性能测试

    一.前言 在部署或管理网络系统时,我们更多的是关心网络的连通性,而对于其整体的性能往往考虑不多,或者即使考虑到性能.异常或稳定性的问题,但却发现没有合适的手段去测试或监控网络健康状况.在本文中,首先简 ...

  9. 磨刀不误砍柴工—Exceptionless搭配log4net记录日志

    Exceptionless专注于.net平台提供实时错误和日志报告.主要包括:错误通知.智能分组异常.详细错误报告堆栈跟踪.支持离线.UI查看重要错误和确定优先级.仪表板上的统计信息和趋势.对异常标记 ...

  10. 磨刀不误砍柴工,ORAchk健康检查好帮手

    ORAchk 之前被称为RACcheck,后来它的检查范围进行了扩展,改名为了ORAchk,它是在数据库系统进行健康检查的一个专用工具,这个工具主要用来检查软件的配置是否符合要求以及一些最佳实践是否被 ...

最新文章

  1. Linux运维系统工程师系列---25
  2. 产品经理岗位将要消亡?后端PM表示别瞎焦虑了
  3. java高并发(二)并发与高并发基本概念
  4. Delphi与Windows 7下的用户账户控制(UAC)机制
  5. c语言 feof_C语言 技能提升 系列文章(六)文件操作
  6. html5视频播放事件相关
  7. rstudio和matlab,R语言与matlab循环时间对比
  8. Makefile 中:= ?= += =的差别 和条件运行
  9. 中国酒精炉行业市场供需与战略研究报告
  10. select、poll、epoll的区别
  11. What decide the USB OTG port as host or device
  12. jstree取消勾选_zTree 节点勾选取消勾选 选中取消选中
  13. Java程序员的求职面试简历应该怎么写?
  14. html实现个人空间主页(附源码)
  15. 常用的参数检验和非参数检验方法对比
  16. 企业网站内容维护日常工作有哪些
  17. 计算机网络显示正常 但无法上网怎么办,如何解决显示网络已连接但无法上网...
  18. python aks_使用环回aks和terraform构建基于打字稿的游戏后端
  19. [转] 一篇不错的Perl-LWP文档
  20. 如何快速高效的进入新的知识领域

热门文章

  1. php mysql知识总结_Mysql数据库知识总结(看资料总结出来的)
  2. Ubuntu双系统、ROS、软件安装教程
  3. 软件测试跟踪需求矩阵,测试管理之从需求到跟踪操作实务
  4. flex C#在线拍照
  5. 如何读群晖硬盘_群晖直接读取Windows硬盘-eSATA挂载
  6. c语言病毒编写教程,来来来,教你一个用C语言写个小病毒
  7. LoadRunner教程(19)-LoadRunner 性能图表分析
  8. 打开网页右下角广告栏慢慢出现,点击慢慢消失
  9. 计算机桌面图标扁了,电脑桌面图标及文字变扁怎么办
  10. dell笔记本驱动安装失败_如何以正确的顺序重新安装驱动程序 | Dell 中国