数据预处理之基于聚类的TOD异常值检测#matlab

1.基于聚类的异常值检测方法

物以类聚——相似的对象聚合在一起,基于聚类的异常点检测方法有两个共同特点:

(1)先采用特殊的聚类算法处理输入数据而得到聚类,再在聚类的基础上来检测异常。

(2)只需要扫描数据集若干次,效率较高,适用于大规模数据集。

2.检测方法计算步骤

基于聚类的异常点检测方法计算如下:

(1)把所有样本按某个聚类方法进行聚类,假设聚为k类:C₁,C₂…Ck

(2)对于每个对象p,计算该对象到每个类之间的距离d(p,Ci)

(3)计算每个对象p的异常因子得分,公式如下:

(4)计算所有对象的因子异常得分的平均值Ave_OF及标准差Dev_OF。

(5)奇异值标定:若OF(p)≥Ave_OF+β·Dve_OF(1≤β≤2),则为奇异值。通常取β=1或1.285。

3.案例数据

以下为图书馆书籍的案例数据,大小为789*16,部分如下图:

4.TOD异常检测案例代码

此处的TOD函数代码为作者自编的代码,如有需要请在公众号:早星数学建模 后台回复TOD,获得相关代码和案例数据。

4.1最优K的确认

基于聚类的异常检测方法的基础是必须先对样本点进行聚类,然而案例数据中所给样本

点个数较多,且维度高难以直观的判断出K-means聚类的参数:聚类数K的值。因此,本文

依据聚类算法中常用的“肘部法则”确定聚类数K的值。

简而言之,“肘部法则”根据计算不同连续K值时,所有样本点SSE的大小进而以斜率

变化大的点(“手肘”)作为聚类数K,此法则简单有效,在聚类算法中常用。对于SSE的计算有:

同理,在聚类算法中,不同K值对应的SSE为:

在MATLAB中编程实现上述“肘部法则”,SSE随K变化如下:

显然,当K>3后,SSE随K不再显著下降,因此可以确定除了异常点之外的样本点可聚为3类。

4.2代码运行与结果

接下来利用matlab查找案例数据中的异常值,以下为matlab代码:

clear

clc

A=xlsread('3.3基于聚类异常值检测案例数据.xlsx','Sheet1','C2:R790');

[B,sum,ab_rate]=TOD(A);

在经过Step.5奇异值标定后,共有42个样本点成为异常点,占5.32%,对应序号如下:

序号

8

127

278

450

606

745

13

162

362

453

632

760

86

172

365

455

650

770

88

188

406

563

678

772

94

226

430

566

698

773

100

273

432

577

713

778

117

277

440

603

715

786

本案例每一个异常的对象的每一个属性特征用所有对象的每一个属性特征的众数来替代。此外,异常值处理不仅仅可以用众数替代,还可以用均值和中位数,还可以用插值等方法替代。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1450987.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

MATLAB R2023a for Mac(商业数学软件)中文激活版

MATLAB R2023a for Mac 是MathWorks打造的一款非常专业且强大的商业数学软件,MATLAB允许矩阵操作,函数和数据绘图,算法实现,用户界面创建,以及与其他语言(包括C,C ,C#&am…

蚂蚁分类信息系统二开仿么么街货源客模板微商货源网源码(带手机版)

源码介绍 网站采用蚂蚁分类信息系统二次开发,模板仿么么街货源客模板,微商货源网定制版。 模板设计风格简洁,分类信息采用列表形式发布,这种设计方式非常符合度娘 SEO 规则。收录效果是杠杠的。 这个网站风格目前是用来做货源推…

同城如何异地共享文件?

在现代社会中,跨地区的合作变得越来越普遍,而这也带来了共享文件的需求。当我们身处不同的城市,如何高效地共享文件已经成为一项迫切的需求。本文将介绍一种名为“同城异地共享文件”的解决方案,帮助解决这一问题。 2. 天联组网—…

【elementui源码解析】如何实现自动渲染md文档-第三篇

目录 1.前言 2.webpack.demo.js 3.markdown文档 4.fence.js 1)tokens 2)::: 3) 5.containers.js 1)markdown-it-container 2)md.use() 3)代码逻辑 4)containers小结 6.congfig.js …

VMware ESXi 8.0U2c macOS Unlocker OEM BIOS ConnectX-3 网卡定制版 (集成驱动版)

VMware ESXi 8.0U2c macOS Unlocker & OEM BIOS ConnectX-3 网卡定制版 (集成驱动版) 发布 ESXi 8.0U2 集成驱动版,在个人电脑上运行企业级工作负载 请访问原文链接:https://sysin.org/blog/vmware-esxi-8-u2-sysin/,查看最新版。原创作…

碎片化知识如何被系统性地吸收?

一、方法论 碎片化知识指的是通过各种渠道快速获取的零散信息和知识点,这些信息由于其不完整性和孤立性,不易于记忆和应用。为了系统性地吸收碎片化知识,可以采用以下策略: 1. **构建知识框架**: - 在开始吸收之前&am…

3DS MAX课程结业实验报告书

3DS MAX课程结业实验报告书 目录 3DS MAX课程结业实验报告书 n 一、实验内容 n 二、实验说明 n 三、实验过程 n 3.1 安装插件 n 3.2 实验过程 1.了解常用操作 2.了解PolyCloth 的使用 3.新建沙发底 在加两个扶翼和地板砖 4.时钟 5.初级沙发 6.高级沙…

【python】tkinter编程三大布局管理器pack、grid、place应用实战解析

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

RAG_Example

今天尝试基于langchain进行LLM RAG搭建,感觉使用难度没有想象中大。具体流程参考末尾链接。 主要流程包括下面几个模块,每一个模块都有很多选择,而不是唯一解。 但这里可以感受到潜在的几个问题 1. 文本转换过程中,PDF的信息可…

Apache Doris单机快速安装(已踩坑)

官方文档:https://doris.incubator.apache.org/zh-CN/docs/get-starting/quick-start/ 环境: 操作系统:CentOS7.6 X86_64 JDK:Oracle jdk1.8.0_351 1.版本下载 从 doris.apache.org 下载相应的 Doris 安装包,并且解压…

多表联查小情景例子

这里有个需求: 需要给定套餐表setmeal 的 id 查询这个套餐内的所有菜品 dish 实际上如果可能,只需要查询套餐菜品表(setmeal_dish),查看一个套餐内包含包含的所有菜品,然后把这些菜品全部取出即可。 看一下setmeal_dish 表&…

【教程】从0开始搭建大语言模型:构造GPT模型

从0开始搭建大语言模型:构造GPT模型 从0开始搭建大语言模型:构造GPT模型GPT模型Layer NormalizationGELU激活函数Feed Forward网络增强shortcut连接构造Transformer Block构造GPT模型使用GPT模型生成文本 从0开始搭建大语言模型:构造GPT模型 …

maven archetype项目构架

1、设置环境变量 set MAVEN_HOMED:\SF\java\apache-maven-3.6.3 set path%path%;%MAVEN_HOME%\bin;2、制作archetype mvn -s "D:\SF\java\apache-maven-3.6.3\conf\settings.xml" archetype:create-from-project -DpackageNamecom.demo.esb-s:指定maven的setting文…

【Hudi】核心概念-基本概念

目录 基本概念时间轴(TimeLine)Instant action:在表上执行的操作类型Instant timeState两个时间概念 文件布局(File Layout)索引(Index)原理索引选项全局索引与非全局索引索引的选择策略 表类型(Table Types)查询类型Snapshot QueriesIncremental QueriesRead Optimized Querie…

图像生成新篇章:Stable Diffusion 3 Medium开源评析

摘要 在数字艺术与人工智能的交汇点上,Stable Diffusion 3(SD3)的开源无疑是一场技术革新的盛宴。就在3月份,我撰写了一篇博文,深入探讨了SD3的技术报告内容与介绍,文章发表在CSDN博客上,https:…

[Algorithm][贪心][柠檬水找零][将数组和减半的最少操作次数][最大数][摆动序列]详细讲解

目录 1.柠檬水找零1.题目链接2.算法原理详解3.代码实现 2.将数组和减半的最少操作次数1.题目链接2.算法原理详解3.代码实现 3.最大数1.题目链接2.算法原理详解3.代码实现 4.摆动序列1.题目链接2.算法原理详解3.代码实现 1.柠檬水找零 1.题目链接 柠檬水找零 2.算法原理详解 …

在vue中循环中调用接口-promise.all();按顺序执行异步处理

🌈🌈🌈目录 场景一 解决 场景二 解决 场景一 数组遍历中每次遍历都需要去请求getStaffCover接口,拿到该接口的结果拼接到数组的每一项,等到数组遍历完之后,拿到拼接好的数组。拼接的数组必须是最终遍历…

探索AIGC与3D技术的融合:从图像到可探索的3D动态场景

随着人工智能和计算机图形技术的飞速发展,AIGC(人工智能生成内容)与3D技术的结合正在为我们打开一扇全新的创意之门。最近,我深入研究了几个令人兴奋的AIGC+3D方案,它们不仅展示了从单张图片或文本提示生成3D点云的强大能力,还进一步实现了AI虚拟试穿和生成高保真3D数字人…

银河麒麟系统升级openssh至9.7p1

银河麒麟系统升级openssh至9.7p1 升级过程建议参照链接 https://blog.csdn.net/zt19820204/article/details/137877652 当前环境 开始安装 # 1.查看当前服务器的openssh版本 ssh -V# 2.openssh下载地址 https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/# 3.升级opens…

【并集查找】839. 相似字符串组

本文涉及知识点 并集查找(并差集) 图论知识汇总 LeetCode839. 相似字符串组 如果交换字符串 X 中的两个不同位置的字母,使得它和字符串 Y 相等,那么称 X 和 Y 两个字符串相似。如果这两个字符串本身是相等的,那它们也是相似的。…