测量数据异常值识别方法解析:统计与聚类技术详解
创始人
2025-03-17 08:27:10
0 次浏览
0 评论
如何判别测量数据中是否有异常值?
通常,检测异常值的方法包括基于统计数据,基于群集的方法和某些专门检测异常值等的方法。这是与这些方法相关的介绍。
1 简单的统计数据,如果您使用pandas,我们可以直接描述()观察数据的统计描述(大致观察到某些统计数据),但是统计数据是连续的,如下所示:df.descibe()或简单地使用分散痕迹也可以观察到or的存在。
如下所示:2 .3 原则该原理具有条件:数据必须遵守正态分布。
根据3 个原理,如果异常值超过标准偏差的3 倍,则可以将其视为异常值。
或多或少3 的概率为9 9 .7 %,因此3 个平均值以外的值的概率为p(| x-u |> 3 racted)<= 0.003 ,这是一个很小的概率事件。
如果数据不遵守正态分布,也可以描述为平均值的标准偏差。
红色箭头是指异常值。
3 框形图,此方法使用框形图的四分位间距离(IQR)来检测异常值,也称为Tukey'sstst。
盒子图的定义如下:四分位数海滩(IQR)是上四分位数和下四分位数之间的差异。
我们使用1 .5 倍的IQR作为标准,该标准表明该点超过了距离IQR的距离+1 .5 倍,或距离下部距离距离距离IQR的距离为-1 .5 倍。
以下是Python中代码的实现,该代码主要使用Numpy百分比方法。
Centile = NP。
'长度',data = df,ax = ax)plt.show()红色箭头是指异常值。
以上是一种通常用于判断异常值的简单方法。
呈现异常值的更复杂的检测算法。
4 基于模型检测,该方法通常构建概率分布模型并计算对象符合模型的概率,并处理概率较低的对象作为例外。
如果模型是集群集合,则例外是一个不显着属于群集的对象。
异常值的概率的定义:异常值是一个对象,是概率较低的概率分布模型。
这种情况的前提是您应该知道数据遵守的一组分布。
例如,当缩放数据值时,功能工程中的鲁棒尺度方法将使用分布数据功能将数据划分为几个片段,并且仅使用中间段用于缩放缩放,例如2 5 %分位数的数据缩放。
这减少了异常数据的影响。
优点和缺点:(1 )有一个坚实的理论理论基础,当足够的数据和对所使用的测试类型的了解时,这可能非常有效; (2 )对于多元数据,可用的选项较少,对于大数据,这些检测不太可能。
5 基于最近的邻居文凭来检测异常值的统计方法是使用数据分布观察异常值。
确定一组数据的重要接近度度量要比确定其统计分布更容易。
该方法比统计方法更一般,更易于使用,因为一个对象的异常得分由与其邻居k-deart(KNN)的距离给出。
应该注意的是,异常点对k的值非常敏感。
如果K太小,则少数相邻异常值会导致较低的分数; 为了使该图更适合K选择,可以使用K相邻的K相邻的平均距离。
优点和缺点:(1 )简单; (2 )缺点:基于接近度的方法需要O(M2 ,并且大数据集不适用;(3 )此方法也对选择参数的选择;数据集也很敏感,因为它使用了全局阈值,因此无法考虑到该密度的变化。
5 基于异常值的密度。
5 异常是低密度区域中的物体。
高,反之亦然。
优点和缺点:(1 )对象是异常价值的定量措施,即使数据具有不同的区域,也可以得到很好的管理; (2 )像基于距离的方法一样,这些方法必须具有时间O(M2 )。
对于低维数据,可以使用特定的数据结构获得O(MLOGM)。
(3 )很难选择参数。
尽管LOF算法通过观察不同的值K并获得异常值的最大点得分来解决此问题,但始终有必要选择这些值的上和下限。
6 基于群集的方法以基于群集检测异常值:对象是基于聚类的异常值。
异常值对初始聚类的影响:如果通过聚类检测到异常值,则存在问题,因为异常值会影响分组,如果结构有效。
它也是K均值算法的缺点,对异常值敏感。
为了解决此问题,您可以使用以下方法:对象分组,删除异常值并将其再次组对象(这不能保证最佳结果)。
优点和缺点:(1 )基于基于线性和几乎线性复杂性(K-Means)基于聚类技术的异常值的发现可能非常有效; 聚类算法产生的簇对算法产生的异常值的质量产生了很大的影响。
7 实际上,特殊的异常值实际上是上述聚类方法的原始意图是分类而不监视,而不是找到异常点,但是其功能可以执行异常点的检测,这被认为是派生的函数。

Python机器学习笔记:异常点检测算法——LOF(Local Outiler Factor)
LOF算法是一种基于距离的异源检测算法,适用于在中和高维数据集上离群值检测。主要功能和步骤如下:1 算法核心:基于密度的评估:LOF算法的核心是描述数据点的密度,并通过比较点和相邻点之间的密度差来判断异常点。
2 关键概念:距离:首先定义两个点之间的距离。
kDistance:从每个数据点到最近的KTH点的距离。
可用距离:从数据点到其他点的距离以及knistanse的更大值。
局部可用的密度:从骑士区域中的一个点到该点的平均可用距离的相反。
局部离群因素:邻国局部可用密度之间的平均关系指向其自身的局部可用密度,该密度用于量化每个数据点的异常程度。
第三算法阶段:定义两个点之间的距离。
计算每个数据点的kDistance。
定义可用距离。
计算本地可用的密度。
计算当地离群值并法律异常。
4 应用程序方案:异常设置:检测数据集中的异常点。
新发现:确定训练数据中的异常样本。
5 在Sklearn库中实现:LOF算法在Sklearn库中实现,并为异常点提供计算功能。
主要参数包括邻域大小和密度。
6 .效率提高策略:子组分区:例如,Fastlof算法将数据集随机分为几个子组,并分别计算每个子集中的LOF值以提高算法的效率。
7 灵活性:LOF算法可以根据数据集的属性灵活调整参数,以满足不同方案的需求。
为了总结,LOF算法通过定义基于距离和密度的一系列概念,并在实际应用中显示出有效,准确的性能,从而实现了异常点的有效识别。
python异常数据预警之3sigma
3 sigma原理在警告有关Python例外的警告中如下:定义:3 Sigma原理是基于正态分布的一种异常数据识别方法。假定数据遵循正态分布,如果数据点的偏差超过平均值的标准偏差的三倍,则被认为是发射。
公式:使用公式 /标准偏差> 3 或 /标准偏差<3> 附录:阅读数据:通常使用PANDAS库读取数据,例如从Excel文件读取销售数据。
计算统计信息:使用Numpy库来计算平均数据偏差和标准数据偏差。
安装阈值:根据3 sigma原理,设置了两个阈值,一个阈值低,一个比平均减去三重标准偏差低,另一个高于三重标准偏差的平均加上。
确定排放:浏览数据并在排放阈值以下或之上找到所有数据点。
可视化:使用matplotlib库可视化数据和排放,以更直观的识别和分析异常数据。
灵活性:校正K:在非分布数据中,可以根据实际业务现场调整K的值,因此超过标准偏差的数据点被认为是异常的。
这种灵活性使3 Sigma原理可以适应各种商业媒体中检测的异常需求。
项目要求:在实际应用中,可以根据项目的要求调整K的值,以更准确地捕获潜在的异常情况。
多亏了3 Sigma原则,我们可以有效地确定数据集中的排放,提供强有力的支持,以防止失败,优化业务流程或深入数据分析。
异常值检测算法:箱型图法(Box plot method)
在数据分析中,异常值的发生通常由于统计错误而产生影响。指定数量时,数据错误可能导致离群值。
框图方法是一种较为离群的识别,用于识别与正常数据分布不同的值。
在机械学习的领域中,标准正态分布的数据(平均0,方差1 )的假设遵循分析的基础。
框图方法根据四分之一定义离群值:下四分位数意味着一半的数据低于此值,而上四分位数则意味着一半的数据高于该值。
额外的 - 额定值定义为低于下四分位数的值,其四分位间距的1 .5 时间或高于上四分之一的值,加上冠状动队间距离的1 .5 -时间。
通过整合标准正态分布的分析,我们发现概率密度远非均值远非平均值。
由于对称分布和单调增加/减少分布,大多数数据集中在平均值附近,并且值远离少数数据。
这样,标准正态分布的四分位间区域内的数据被认为是正常的,并且该区域以外的数据被视为离群值。
为了简化处理,可以将数据分为四个副本,每个副本包含2 5 %的数据。
在正态分布中,每个数据的面积大约是平均值减去标准偏差至平均值的1 .5 倍,加上标准偏差的1 .5 倍,并且该区域以外的数据被视为离群值。
通过编写Python函数,可以自动识别和删除DataAframe中的异常值。
在使用NN模型(神经网络)删除异常数据点后,大小和权重的模型输出已被评估为一个例子。
总而言之,框图方法提供了一种统计方法,用于有效识别异常值,这对于提高数据分析和模型输出的准确性至关重要。
对异常值的正确识别和处理可以提高分析结果的数据质量和可靠性。
相关文章

字符ASCII值转换:实现字符串与十进制...
2024-12-24 21:29:30
JavaScript字符串截取技巧:符号...
2024-12-15 10:14:04
掌握网页设计核心技术:HTML、CSS、...
2025-02-12 16:57:10
C语言实现键盘输入与打印字符串教程
2024-12-16 03:18:29
C语言排序算法详解:冒泡、选择与插入排序
2024-12-27 02:33:45
Python数据分析利器:Seaborn...
2025-02-27 19:14:21
C语言编程:1~100奇数之和计算方法详...
2025-02-24 02:06:01
Python编程:轻松识别100以内及指...
2024-12-25 21:50:11
Python编程:轻松掌握is_prim...
2025-02-17 07:06:21
Python ASCII转换与字符编码解...
2024-12-31 14:22:26最新文章
04
2025-04
04
2025-04
04
2025-04
04
2025-04
04
2025-04
04
2025-04
04
2025-04
04
2025-04
04
2025-04
04
2025-04
热门文章
1
C语言中cout输出空格的符号使用指南
C语言输出空格用什么符号可以使用cout
2
c语言有三维数组吗
C语言三维数组初始化详细方法和步骤如下:1第一步,需要定义一个数组。常见的数组类...
3
js字符串包含某个字符串的个数
js问题:求字符串中某个字符出现的个数的方法?看看是否满足你的需求(x);}pu...
4
轻松调整SQL Server 2008表...
sql2008表格怎么只能编辑前两200行200线是默认设置,并且仅在号码开通时...
5
C语言基础解析:从Hello World...
C语言的基本要素有哪些?基本的C语言格式可以参考基本的helloworld程序。...
6
Python字符串字符计数:高效算法与实...
python怎么判断字符串中出现次数最多的字母在Python中,可以使用滑动窗口...
7
Python排列组合与循环运用技巧解析
怎样使用Python进行排列组合?对于这类问题,我们可以使用分割循环来执行转换和...
8
C语言for循环技巧:非C字符位置记录与...
C语言for循环问题求解.在for中,我记录了要写入的非c字符的位置。仅当字符不...
9
Hive内置函数全解析:数学、字符串、日...
2021年大数据Hive(五):Hive的内置函数(数学、字符串、日期、条件、转...
10
C语言实现:实数类型判断与素数检测教程
C语言编写程序,判断输入的实数是奇数、偶数、素数、整数或小数的数字类型?#inc...