数据挖掘与商务智能 Data Mining & Business Intelligence 第八章 异常检测 西安电子科技大学 软件学院 主讲人:黄健斌
内容提纲 异常挖掘及其应用 异常检测面临的主要问题 异常数据挖掘方法简介 异常检测的应用案例 参考文献
内容提纲 异常挖掘及其应用 异常检测面临的主要问题 异常数据挖掘方法简介 异常检测的应用案例 参考文献
什么是异常(Outlier)? Hawkins的定义:异常是在数据集中偏离大部分数据的数据,使人怀疑这些数据的偏离并非由随机因素产生,而是产生于完全不同的机制。 Weisberg的定义:异常是与数据集中其余部分不服从相同统计模型的数据。 Samuels的定义:异常是足够地不同于数据集中其余部分的数据。 Porkess的定义:异常是远离数据集中其余部分的数据
异常数据具有特殊的意义和很高的实用价值 现有数据挖掘研究大多集中于发现适用于大部分数据的常规模式,在许多应用领域中,异常数据通常作为噪音而忽略,许多数据挖掘算法试图降低或消除异常数据的影响。而在有些应用领域识别异常数据是许多工作的基础和前提,异常数据会带给我们新的视角。 如在欺诈检测中,异常数据可能意味欺诈行为的发生,在入侵检测中异常数据可能意味入侵行为的发生。
异常检测的应用领域 电信、保险、银行中的欺诈检测与风险分析 发现电子商务中的犯罪行为 灾害气象预报 税务局分析不同团体交所得税的记录,发现异常模型和趋势 海关、民航等安检部门推断哪些人可能有嫌疑 海关报关中的价格隐瞒 营销定制:分析花费较小和较高顾客的消费行为 医学研究中发现医疗方案或药品所产生的异常反应 计算机中的入侵检测 运动员的成绩分析 应用异常检测到文本编辑器,可有效减少文字输入的错误 ……
什么是异常挖掘? 异常挖掘可以描述为:给定N个数据对象和所期望的异常数据个数,发现明显不同、意外,或与其它数据不一致的前k个对象。 异常挖掘问题由两个子问题构成: (1)如何度量异常; (2)如何有效发现异常。
为什么会出现异常数据? 测量、输入错误或系统运行错误所致 数据内在特性所决定 客体的异常行为所致 由于异常产生的机制是不确定的,异常挖掘算法检测出的“异常数据”是否真正对应实际的异常行为,不是由异常挖掘算法来说明、解释的,只能由领域专家来解释,异常挖掘算法只能为用户提供可疑的数据,以便用户引起特别的注意并最后确定是否真正的异常。对于异常数据的处理方式也取决于应用,并由领域专家决策。
异常数据实例 一个人的年龄为-999就可能是由于程序处理缺省数据设置默认值所造成的 ; 一个公司的高层管理人员的工资明显高于普通员工的工资可能成为异常数据但却是合理的数据(如平安保险公司2007年 5位高管税后收入超过了1000万元); 一部住宅电话的话费由每月200元以内增加到数千元可能就因为被盗打或其它特殊原因所致; 一张信用卡出现明显的高额消费也许是因为是盗用的卡。
异常数据与众不同但具有相对性: 高与矮,疯子与常人。 类似术语: Outlier mining,Exception mining:异常挖掘、离群挖掘、例外挖掘和稀有事件挖掘 。
内容提纲 异常挖掘及其应用 异常检测面临的主要问题 异常数据挖掘方法简介 异常检测的应用案例 参考文献
Main Problems 主要问题 典型正常区域的定义不易 正常对象和离群点之间的界线不明确 离群点的确切概念随应用领域而异 训练 / 验证已标记数据的可用性 数据可能包含噪声 恶意对手的存在,反检测 正常行为不断演变
内容提纲 异常挖掘及其应用 异常检测面临的主要问题 异常数据挖掘方法简介 异常检测的应用案例 参考文献
Anomaly Detection Schemes 异常检测方法 一般步骤 构建“正常”行为的资料集 资料集可以是针对数据整体的图案或者汇总统计 通过使用“正常”资料集检测异常行为 异常行为是特征与“正常”资料有显著差别的观察对象 异常检测方法的类型 分类和聚类 基于统计的方法 基于距离和基于密度的方法 基于图形的方法
Anomaly Detection Schemes异常检测方法 上下文异常检测 集体异常检测 在线异常检测 分布异常检测 异常点检测 基于分类 基于规则 基于神经网络 基于支持向量机 基于最近邻 基于密度 基于距离 统计 有参数的 无参数的 基于聚类 其他 基于信息理论 基于谱分解 基于可视化
Ⅰ. Classification-Based Techniques分类 主要思想 基于已标记的训练数据,对正常事件(和(极少)异常事 件)构建一个分类模型,以此对每一个新的未知事件进 行分类 分类模型必须能够处理倾斜(不均衡)的类分布 分类 监督分类技术 需要了解正常类和异常类 建立分类,以区分正常事件和已知的异常事件 半监督分类技术 只需要了解正常类 使用改进的分类模型学习正常行为,然后将检测到的偏离正 常行为的对象作为异常行为
Ⅰ. Classification-Based Techniques分类 优点 监督分类技术 模型很容易理解 在多种已知异常对象的检测中具有高精度 半监督分类技术 正常行为可以被准确学习 缺点 需要正常类的标记和异常类的标记 不能检测未知的和新兴的异常对象 需要正常类的标记 可能存在高误报率:先前未知(但合法)的数据记录可能被认为是异常的
Ⅱ. Clustering-Based Techniques 聚类 关键假设 正常数据记录属于大型的、密集的集群,而异常数据记录不属于任 何集群或者形成极小的集群 按照标签分类 半监督: 聚集正常数据,以创建正常行为模式。如果一个新实例不 属于或者不靠近任何集群,那么就是异常 无监督: 在聚类过程所需步骤之后,需要进行后处理来决定集群的 大小,集群间的距离用来判别数据点是否异常 应用基于聚类的方法进行异常检测 不适合任何集群的数据记录(集群残差) 小集群 低密度集群或局部异常(远离属于同一聚类的其他点)
Ⅱ. Clustering-Based Techniques 聚类 基本思想 将数据聚类划分为不同密度的簇 选择小簇中的点作为候选离群点 计算非候选点形成的簇和候选点间的距离 如果候选点距离非候选点形成的簇较远,那么他们是离群点
Ⅱ. Clustering-Based Techniques 聚类 优点 不需要监督 易适应在线/增量模式,适用于时空数据的异常检测 缺点 代价极大 使用索引结构(k-d树,R*树)可能能够减轻该问题 如果正常点不能创建任何簇,那么该方法可能会失败 在高维空间中,数据是稀疏的,任意两个数据记录间的 距离可能会非常相似 聚类算法可能不会得到有意义的簇
Ⅲ.NN-Based Techniques 最近邻方法 关键假设 正常点有近邻,而离群点远离其他节点 一般为二步法 计算每个数据记录和其邻居间的关系 分析邻居关系,以确定该数据记录异常与否 分类 基于距离的方法 离群点是远离其他节点的数据点 基于密度的方法 离群点是低密度区域的数据点
Ⅲ.NN-Based Techniques 最近邻方法 优点 可以应用于无监督或半监督环境中(对数据分布不作出 任何假设) 缺点 如果正常点没有足够数量的邻居,该方法可能会失败 代价极大 在高维空间中,数据是稀疏的,相似度的概念不能起到 很大作用 两个数据记录间的距离会由于稀疏而变得十分相似, 以至于每个数据记录都可能被视为潜在的离群点
Ⅲ.NN-Based Techniques 最近邻方法 基于距离的方法 对于数据集中的点O,如果数据集中至少有p(百分比)的节点到点O的 距离超过d,那么就认为O是数据集中的离群点,记为DB(p, d) * 基于密度的方法 计算特定区域的局部密度,将低密度区域的实例报为潜在离群点 方法 局部离群因子(Local Outlier Factor, LOF) 连接离群因子(Connectivity Outlier Factor, COF) 多粒度偏差因子(Multi-Granularity Deviation Factor, MDEF) *Knorr, Ng,Algorithms for Mining Distance-Based Outliers in Large Datasets, VLDB98
(1) 基于距离的NN方法 基于距离的方法有两种不同的策略 第一种策略是采用给定邻域半径,依据点的邻域中包含的对象多少来判定异常; 如果一个点的邻域内包含的对象少于整个数据集的一定 比例则标识它为异常,也就是将没有足够邻居的对象看 成是基于距离的异常。 利用k最近邻距离的大小来判定异常 。 使用k-最近邻的距离度量一个对象是否远离大部分点, 一个对象的异常程度由到它的k-最近邻的距离给定 。 这种方法对k的取值比较敏感。如果k太小(例如1),则 少量的邻近异常点可能导致较低的异常程度。如果k太 大,则点数少于k的簇中所有的对象可能都成了异常点。
到k-最近邻的距离的计算 k-最近邻的距离: 一个对象的异常点得分由到它的k-最近邻的距离给定。 异常点得分的最低值为0,最高值是距离函数的可能最大值----如无穷大
请问该二维数据集中,当k=5时,哪个点具有最高的异常点得分? 基于距离的异常点检测 例1 请问该二维数据集中,当k=5时,哪个点具有最高的异常点得分?
请问该二维数据集中,当k=5时,哪个点具有最高的异常点得分? 基于距离的异常点检测 例2 请问该二维数据集中,当k=5时,哪个点具有最高的异常点得分?
基于距离的异常检测的优缺点 优点: 基于距离的异常点检测方案简单 缺点: 时间复杂度O(m2),不适用于大数据集 不能处理不同密度区域的数据集,因为它使用全局阈值,不能考虑这种密度的变化
当k=5时,哪个点具有最高的异常点得分,B的异常点得分和D的异常点得分哪个低? 不能处理不同密度区域的数据集 例: C D A B 当k=5时,哪个点具有最高的异常点得分,B的异常点得分和D的异常点得分哪个低?
(2) Local Outlier Factor(LOF)基于密度的NN方法 Example: p2 p1 p3 Distance from p3 to nearest neighbor Distance from p2 to nearest neighbor 在NN方法中,p2 并没有 被认为是离群点, 而在 LOF 方法中发现 p1 和 p2 都是离群点 NN方法可能认为 p3 是离 群点, 但 LOF 方法不会 * - Breunig, et al, LOF: Identifying Density-Based Local Outliers, KDD 2000.
(2) Local Outlier Factor(LOF)基于密度的NN方法 对每一个数据点q,计算到第k个近邻的距离(k-distance) 对任意两个数据,计算可达距离(reach-dist) reach-dist(p, o) = max{k-distance(o), d(p,o)}
(2) Local Outlier Factor(LOF)基于密度的NN方法 计算局部可达密度(local reachability density, lrd) 基于数据p的MinPts-NN的平均可达距离的逆 lrd(p) = 计算 LOF(p)作为p的k近邻平均局部可达密度比率 数据记录p的局部可达密度为 LOF(p) = * - Breunig, et al, LOF: Identifying Density-Based Local Outliers, KDD 2000.
(2) Local Outlier Factor(LOF)基于密度的NN方法 对象p的离群因子不为空,则称p为离群点 平均局部可达密度比率 p 的MinPts-NN邻居 很容易看出: p的LOF 值越高,则p的局部可达密度越低, p 的MinPts-NN的局部可达密度越高. * - Breunig, et al, LOF: Identifying Density-Based Local Outliers, KDD 2000.
内容提纲 异常挖掘及其应用 异常检测面临的主要问题 异常数据挖掘方法简介 异常检测的应用案例 参考文献
应用案例 1 Intrusion Detection 入侵检测
Case Study:Data Mining in Intrusion Detection 计算机应急反应协调中心的事故报告 随着互联网的不断发展,越来越多的组织易受到网络攻击 网络攻击的复杂性和严重性都在增长 安全机制总有不可避免的漏洞 防火墙不足以确保计算机网络的安全性 内线攻击 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 Sapphire/Slammer Worm攻击30分钟后的地理分布 源:www.caida.org 攻击复杂性 vs. 入侵技术知识 源:www.cert.org/archive/ppt/cyberterror.ppt
What are Intrusions?入侵 入侵活动试图绕过计算机系统的安全机制 通常的行为有 攻击者从因特网访问系统 内线攻击 已授权用户试图获取或误用未被授权的权限 典型的入侵场景 计算机网络 扫描活动 受损机器 攻击者 易损机器
IDS - Analysis Strategy入侵检测系统策略分析 误用检测(Misuse detection) 是基于与专家提供的已知攻击相关的外部 知识模式 现有的方法:(签字)模式匹配,专家系统,状态转换分析,数据 挖掘 主要的限制: 不能检测异常的或者意料之外的攻击 签名数据库要为每一个新发现的攻击进行修改 异常检测(Anomaly detection) 是基于代表用户、主机或网络的正常行 为的配置文件,检测这个文件中有显著偏差的攻击 主要好处:潜在地对不可预见攻击的识别能力 主要限制因素:可能有较高的误报率,因为检测偏差不一定代表 真实攻击 主要方法:统计方法,专家系统,聚类,神经网络,支持向量机, 异常检测计划
Intrusion Detection入侵检测 入侵检测系统 将可能执行入侵检测的软硬件结合 当可能有入侵发生时拉响警报 传统入侵检测系统(IDS)工具(例如:SNORT)是基于已知签名攻击 SNORT 规则实例 (MS-SQL “Slammer” worm) any -> udp port 1434 (content:"|81 F1 03 01 04 9B 81 F1 01|"; content:"sock"; content:"send") 限制 当出现新的入侵类型时,签名数据库必须手动修改 无法检测新兴的网络威胁 部署新创建的签名会造成整个计算机系统的重大延迟 数据挖掘可以缓解这些限制 www.snort.org
Data Mining for Intrusion Detection 入侵检测数据挖掘 对基于数据挖掘的入侵检测兴趣日增 攻击造成签名难以建立 攻击具有隐蔽性 不可预见的/未知的/新出现的攻击 分布式/协调的攻击 针对入侵检测的数据挖掘方法 误用检测(Misuse detection) 基于已标记的数据集(数据标记为”正常” 或”异常”)建立预测模型,判别已知入侵 在检测多种已知攻击中具有高精度 不能检测未知的和新兴的攻击 异常检测(Anomaly detection) 从”正常”行为检测异常攻击作为偏差 潜在高误报率:以前不可见(但合法)系统行为也可能被认为是异 常 网络流量综述(Summarization of network traffic)
Data Mining for Intrusion Detection 误用检测: 建立预测模型 绝对的 当时的 绝对的 持续的 分类 测试集 学习 分类器 模型 训练集 使用关联规则 对攻击进行综述 异常检测 发现的规则: {Src IP = 206.163.37.95, Dest Port = 139, Bytes [150, 200]} --> {ATTACK}
Anomaly Detection on Real Network Data 真实网络数据的入侵检测 在明尼苏达州和美国陆军研究实验室,使用异常检测来检测各种侵扰活动或可以活动 其中许多入侵不能被广泛应用的异常检测工具检测到,如SNORT 异常/攻击被MINDS发现 扫描活动 不规范的行为 违反策略 蠕虫 MINDS MINDS – Minnesota Intrusion Detection System 明尼苏达异常检测系统 相关模式 分析 Summary and characterization of attacks 获取异常 网络 异常检测 … 检测 新的攻击 MINDSAT Human analyst Net flow tools tcpdump 数据捕获装置 标记 过滤 特征抽取 已知攻击检测 Detected known attacks
Feature Extraction 特征抽取 三组特征 TCP 连接个体的基本特征 源&目的地IP Features 1 & 2 源&目的端口 Features 3 & 4 协议 Feature 5 持续时间 Feature 6 每包字节 Feature 7 字节数 Feature 8 基于时间的特征 网络中对于相同的源(目的地) IP地址, 最后T秒钟唯一目的地(源) IP地址数目– Features 9 (13) 最后T秒钟从源 (目的地) IP 到同一个目的地(源) 端口的连接数目– Features 11 (15) 基于连接的特征 网络中对于相同的源(目的地) IP地址,最后N个连接中唯一目的地(源) IP地址数目- Features 10 (14) 最后N个连接中从源 (目的地) IP 到同一个目的地(源) 端口的连接数目- Features 12 (16)
Typical Anomaly Detection Output 典型异常检测输出 “slammer” 蠕虫病毒爆发48小时后 连接到“half-life”游戏服务器 的机器所对应的连接 “slammer” 蠕虫病毒对应的异常连接 进行ping扫描异常连接
Detection of Anomalies on Real Network Data 真实网络数据中的异常检测 MINDS检测出的异常/攻击,包括扫描活动、蠕虫病毒以及像违反规则行为、内部攻击行为等不正常的行为。这些攻击中的大部分均可被MINDS检测出来,并被放在当前计算机应急反应协调中心( CERT/CC )的咨询列表中。 下面是MINDS检测出的入侵行为的一些说明例子。 Scans August 13, 2004, Detected scanning for Microsoft DS service on port 445/TCP (Ranked#1) Reported by CERT as recent DoS attacks that needs further analysis (CERT August 9, 2004) Undetected by SNORT since the scanning was non-sequential (very slow). Rule added to SNORT in September 2004 August 13, 2004, Detected scanning for Oracle server (Ranked #2), Reported by CERT, June 13, 2004 Undetected by SNORT because the scanning was hidden within another Web scanning October 10, 2005, Detected a distributed windows networking scan from multiple source locations (Ranked #1) Policy Violations August 8, 2005, Identified machine running Microsoft PPTP VPN server on non-standard ports (Ranked #1) Undetected by SNORT since the collected GRE traffic was part of the normal traffic August 10 2005 & October 30, 2005, Identified compromised machines running FTP servers on non-standard ports, which is a policy violation (Ranked #1) Example of anomalous behavior following a successful Trojan horse attack February 6, 2006, The IP address 128.101.X.0 (not a real computer, but a network itself) has been targeted with IP Protocol 0 traffic from Korea (61.84.X.97) (bad since IP Protocol 0 is not legitimate) February 6, 2006, Detected a computer on the network apparently communicating with a computer in California over a VPN or on IPv6 Worms October 10, 2005, Detected several instances of slapper worm that were not identified by SNORT since they were variations of existing worm code February 6, 2006, Detected unsolicited ICMP ECHOREPLY messages to a computer previously infected with Stacheldract worm (a DDos agent)
应用案例 2 Fraud Detection 欺骗检测
Online Auctions: Growing Froud 欺诈日增 #1 网上犯罪 2006年,投诉超过40,000件 平均损失> $602.50 Source: http://www.ic3.gov/media/annualreport/2006_IC3Report.pdf
What if something goes BAD? Online Auctions: How They Work 未交付欺诈 $$$ Seller Buyer Potential Buyer A At an online auction, any user can become a seller. All you need is that you have something to sell. Suppose you… So, that’s how a normal auction takes place. And from now on, we’ll refer to this process of buying and selling as a “Transaction” Ok, now… Let’s consider if something goes bad during the transaction… Potential Buyer B Potential Buyer C $ What if something goes BAD? A Transaction $$
Problem Description 问题描述 通过观察By observing 拍卖者的行为模式 与其他用户相互交流 一些关于已暴露的欺诈者的知识 预测 在未来,谁可能犯欺诈 接下来是更具体的说明……
Modeling Fraudulent Behavior 欺诈行为建模 捕捉用户之间的关系,而不是个人行为模式关系 图模型 节点——每个用户 边——两个用户成交 潜在希望:全球性的图属性更难操纵
Modeling Fraudulent Behavior (contd.) 欺诈者的行为如何反应在图中? 与其他欺诈者间密切互动 愚弄基于信誉的系统 这是一种极好的检测方法,可以很容易地发现诈骗群体 不太符合实际 一个真实的eBay数据集的实验表明,他们很少拉帮结派 信誉 24 53 9 11 21 49
Modeling Fraudulent Behavior (contd.) 那么,诈骗者是如何操作的? 二部图核心 = 诈骗者 = 同谋 = 诚实者
Modeling Fraudulent Behavior (contd.) 3个角色 诚实者 Honest 普通人,如:你、我 诈骗者 Fraudsters 那些真正犯诈骗罪的人 同谋 Accomplices 往日的行为像诚实的用户 通过低成本的交易积累反馈的人 偷偷提高信誉的诈骗者 (例如:偶尔购买贵重物品的人)
Modeling Fraudulent Behavior (contd.) 为什么寻找二部图核心,而不是小集体? 诈骗者之间不会之间联系 一旦一次诈骗交易被曝光,相关的账目会被eBay扫描,并立即作废 “架构重用” 一次欺诈后同谋不比丢弃 长时间积累信誉分数
Problem Description (Concrete) 已知 在线拍卖用户图 关于一些已经暴露的诈骗者的知识 检测 二部图核心 Bipartite cores
N O N E ! Solution 解决方案 大量的方法可以用来检测二部图核心, 要使用哪一个? 这是一个军备竞赛 诈骗者势必会形成新的模式,试图突破你的系统 适应他们千变万化的行为 对诈骗者的行为建模,而不是生成图形模式 N O N E !
The NetProbe Algorithm 对拍卖图建模——马尔可夫随机域(Markov Random Field) 用预期诈骗者的行为对模型进行训练 通过 “置信传播”来推断节点最可能的标签 它不依赖于任何特定的图形模型,甚至是诈骗者与其他人相互交流的模式
Markov Random Fields 马尔可夫随机域 图形模型推理问题 节点可能的状态属于固定集合 两个不同状态的节点间的连接似然性 状态集 = { F, A, H } 连接似然性F 非常可能连接到 A F 不大可能连接到 F
Markov Random Fields (contd.) 训练模型 连接似然性通过传播矩阵表达 F A H Є 1 - 2Є 0.5 2Є 0.5 - 2Є (1 – Є) / 2 [i,j] = 已知节点在状态 i 、有一个在状态 j 的邻居节点,则它们之间的似然性 F, F = Є ~ 0 F, A = 1 - 2Є ~ 1
Markov Random Fields (contd.) 重申马尔可夫随机域模型下的问题 已知 传播矩阵 一些节点的初始状态 推断 其余节点最可能的状态
Belief Propagation 置信传播 通过迭代消息传播计划来解决推理问题 用有限的理论担保来进行启发式计划 在很多领域的问题中实践都得到了很好的结果(尤其是物理方面! )
Belief Propagation: Algorithm 算法 消息mij 从节点 i传播到节点 j 针对节点 i 考虑节点 j 在哪个状态? 每次迭代 每个节点与它所接收到的消息相结合,计算它自己的置信度 每个节点基于自己最新计算出的置信度,将消息传递给自己的邻居 继续传递,直到置信度收敛
Belief Propagation: Details 细节 Message computation 消息计算 将邻居处得到的消息结合在一起 使用传播矩阵进行变换 Belief computation 置信度计算
Belief Propagation: Example 举例 C Start with a non-person graph I got lost in the description of belief propagation What do you start with? what were the initial conditions? none of the users identified as honest were fraudsters? D
The NetProbe Algorithm 已知的诈骗者的初始状态为F 初始化其它节点,无刻意偏向 每次迭代 对于每个节点 通过结合前次达到收到的消息,计算自身置信度 通过传播矩阵,将自身置信度转化为消息传递给每一个邻居 继续迭代,直到收敛 用最可能的状态对每个节点进行标记
Evaluation: Real Datasets 评价:真实数据 来自eBay的真实数据 66,130 用户和795,320 交易 对数据形象为期2个月的爬行 多层并行履带式架构 Java + MySQL 一直进行,直到我们不能在eBay发现黑名单为止
Evaluation: eBay Dataset 评价度量:精密/二次行动? 完全正确的结果并不知道 诈骗者没有完全暴露 未来进行诈骗行为的可能性不能确定 eBay 不公开提供超过6个月的信息 很无奈,我们不得不做出一个主观评价
Evaluation: eBay Dataset (contd.) 确认欺诈 = 通过NetProbe方法检测二部图核心
Practical Considerations 实际考虑 如果图形发生变化,会怎样? 新的用户出现,新的交易发生 如果小范围图形发生变化,则从新开始计算置信度 拓扑结构上的改变带来的影响本质上应当局部化
Practical Considerations (contd.) 增量式的NetProbe 新节点或边的 k 近邻的传播置信度 初步试验表明:在精确度近乎零损失的情况下,执行时间降低80% 进一步切实改进 并行爬行的基础架构 用户界面显示可疑的图模式
System Overview 系统综述
内容提纲 异常挖掘及其应用 异常检测面临的主要问题 异常数据挖掘方法简介 异常检测的应用案例 参考文献
参考文献 [P4] J. Naisbitt, Megatrends: Ten New Directions Transforming Our Lives. New York: Warner Books, 1982. [P7] Xiuyao Song, Mingxi Wu, Christopher Jermaine, Sanjay Ranka, Conditional Anomaly Detection, IEEE Transactions on Data and Knowledge Engineering, 2006. [P21.22] Knorr, Ng,Algorithms for Mining Distance-Based Outliers in Large Datasets, VLDB98. [P22] S. Ramaswamy, R. Rastogi, S. Kyuseok: Efficient Algorithms for Mining Outliers from Large Data Sets, ACM SIGMOD Conf. On Management of Data, 2000. [P23.25.26] Breunig, et al, LOF: Identifying Density-Based Local Outliers, KDD 2000.
利用SPSS软件进行异常检测
异常检测建模 方法具体如下所示: 在回归模型诊断里面,一般称预测值与实际值的偏差为"残差",残差有几种表示方法:标准化残差, 学生化残差等等,按照需要取一种残差,再按照某种标准取一个阀值来限定异常点,只要那个点的残差大于阀值,就可以认为它是异常点。
SPSS在异常检测中应用 Step01:选定对话框 Step02:选定打开文件类型 打开SPSS软件,选择菜单栏中的【File(文件)】→【Open(打开)】→【Data(数据)】命令,弹出【Open Data(打开数据)】对话框。 Step02:选定打开文件类型 在数据表格中填写如下图所示的数据。接着,点击【File(文件)】 →【Save (保存)】 。填写保存数据的位置,完成数据的保存操作。
SPSS在异常检测中应用
SPSS在异常检测中应用 Step03:打开对话框 选择菜单栏中的【Analyze(分析)】→【Regression(回归)】→ 【Linear(线性)】命令,弹出【Linear Regression(线性回归)】对话框,这是线性回归分析的主操作窗口。
SPSS在异常检测中应用 Step04:选择因变量 Step05:选择自变量 在【Linear Regression(线性回归)】对话框左侧的候选变量列表框中选择一个变量,将其添加至【Dependent(因变量)】列表框 中,即选择该变量作为多元线性回归的因变量。 Step05:选择自变量 在【Linear Regression(线性回归)】对话框左侧的候选变量列表框中选择一个变量,将其添加至【Independent(s)(自 变量)】列表框中,即选择该变量作为一元线性回归的自变 量。
SPSS在异常检测中应用 如下图所示:
SPSS在异常检测中应用 Step06:样本的筛选 Step07:选择个案标签 从主对话框的候选变量列表框中选择一个变量,将其移至【Selection Variable(选择变量)】列表框中,这表示要按照这个变量的标准来筛选样本进行回归分析。具体操作可以在Rule窗口中实现。 Step07:选择个案标签 从候选变量列表框中选择一个变量进入【Case Labels(个案诊断)】列表框中,它的取值将作为每条记录的标签。这表示在指定作图时,以 哪个变量作为各样本数据点的标志变量。设置离群值为3
SPSS在异常检测中应用 如下图所示:
由上表可知复相关系数R=0.898,决定系数R方=0.806,均小于1,由决定系数看出回归方程的显著性不高,接下来看方差分析表3 SPSS在异常检测中应用 Step08:单击【OK】按钮,结束操作,SPSS软件自动输出结果。 由上表可知复相关系数R=0.898,决定系数R方=0.806,均小于1,由决定系数看出回归方程的显著性不高,接下来看方差分析表3
SPSS在异常检测中应用 由表3知F值为8.283较小,说明x1、x2、x3整体上对y的影响不太显著。
SPSS在异常检测中应用 回归方程为
SPSS在异常检测中应用 对数据用spss进行分析得: 从表中可以看出,绝对值最大的学生化残差SRE=2.11566,小于3,因而根据学生化残差诊断认为数据不存在异常值.绝对值最大的删除学生化残差为SDR=3.83214,因而根据学生化删除残差诊断认为第6个数据为异常值.其中中心化杠杆值0.64187,cook距离为3.21601位于第一大.因此第6个数据为异常值.