一种基于滑动窗口的尾矿砂液化数据聚类方法

文档序号:26103976发布日期:2021-07-30 18:15阅读:93来源:国知局
一种基于滑动窗口的尾矿砂液化数据聚类方法

本发明涉及尾矿砂液化数据研究技术领域,具体而言是一种基于滑动窗口的尾矿砂液化数据聚类方法。



背景技术:

根据相关统计,目前我国尚存尾矿一万多座,这些尾矿大多介于安全与不安全之间,具有巨大的安全隐患。据调查,近年发生的尾矿液化坍塌事件中由于地震引起的占12%,而我国尾矿库大多属于上游式尾矿,一旦发生液化失稳事故,将会产生类似泥石流一般的灾害,对下游的居民和环境造成严重影响。虽然地震液化进而导致尾矿溃坝事件在国内较为少见,但1976年唐山大地震中,大石河尾矿出现了典型的喷砂冒水现象,并在之后被证实出现液化。国外的坝体液化失稳事故也多次出现,如1978年日本mochikoshi1#尾矿坝出现液化现象,2号坝体在震后约24小时发生溃坝;1965年智利laligua地震中eicobre的尾矿出现大面积液化最终导致严重的溃坝事故,导致200多人丧命。由于种种原因,研究尾矿砂在地震作用下的液化规律变得十分重要。然而因为地震的突发性和特异性,而且破坏力巨大,导致在自然发生条件下研究尾矿砂液化现象几乎不可能发生,只能采取人工模拟地震实验方法收集数据进行砂土液化规律的研究。而在数据采集中,由于人为因素、自然条件和设备故障等问题,不可避免会出现数据异常,这些异常数据会对液化规律研究造成重要影响。

异常点又称为离群点、差异点、偏离点等,即一个显著不同于其他数据分布的数据对象。异常点的产生大致可以分为以下几类:数据来源异常,这类异常的出现往往代表着异常情况的产生,例如不同寻常的网络访问可能代表着网络攻击的发生;具有学术研究价值的外在表现为异常点的数据,例如粒子图谱上的特殊峰值;数据测量和收集误差,主要由人为因素、测量误差或产品故障导致的,例如传感器故障造成的错误数据,这类数据不提供有用信息,而且会导致数据质量降低,因此目的是消除这类异常数据。

传统的异常检测方法包括基于统计、基于分类、基于相似度衡量的方法等。基于统计的方法式为数据集找到一个合适的概率分布模型,在这个模型上的极值点作为异常点;基于分类的方法是找到一个可供数据集映射的低维子空间,不能映射到子空间的数据即为异常数据;基于相似度衡量的异常检测方法又分为以下几种,基于距离的、基于密度的和基于聚类的,基于距离的方法认为如果在数据集上有极少数点到其中某一个数据点的距离小于阈值,这个点就是异常点;基于密度的方法定义的局部异常因子,反映了该点的密度与它的近邻密度之间的对比度,异常因子值越大,则该点为异常点的可能性越大;基于聚类的方法将数据聚类成为多个簇,不属于任何簇或稀疏簇中的点被认定成为异常点。

dbscan聚类算法常被用在数据检测中,不包含在任何簇类中的点被认为是异常点。但由于地震的随机性、复杂性和土壤的不确定性,使得数据规模大、模式复杂并且缺少周期性,传统的dbscan聚类很难适用。



技术实现要素:

根据上述技术问题,而提供一种基于滑动窗口的尾矿砂液化数据聚类方法。

本发明采用的技术手段如下:

一种基于滑动窗口的尾矿砂液化数据聚类方法,包括如下步骤:

s1:对尾矿砂液化数据进行标准化处理,得到标准化数据集;

s2:滑动窗口模型遍历所述标准化数据集,并计算每个滑动窗口内标准化数据的标准差,所有标准差形成标准差数据集;

s3:计算标准差数据集的均值和标准差,根据所述标准差数据集的均值和标准差和拉依达准则得到多个分段数据集;

s4:计算每个所述分段数据集的聚类半径;

s5:每个所述分段数据集根据其所述聚类半径和聚类算法进行聚类;

s6:将不在任何簇中的数据作为异常点输出。

优选地,在所述步骤s1中,采用z-score标准化方法对所述尾矿砂液化数据进行标准化处理。

优选地,z-score标准化方法计算方式如下:

其中data为标准化数据,data_old为原始数据,data_val为原始数据的均值,data_std为原始数据的标准差。

优选地,在所述步骤s5中所述聚类算法为dbscan算法。

dbscan聚类算法是最具代表性的基于密度的聚类算法之一,能够在具有噪声的空间数据集当中划分出任意形状的簇,但是最终结果的准确性与eps和minpts两个参数密切相关,而参数的输入依赖人工的经验和尝试,针对不同的数据集需要设计不同的参数。dbscan聚类算法利用数据点之间的密度相连关系确定出存在的任意类型的簇,找到在簇之外的离群点。以下为dbscan算法的几个基本定义:

定义1空间中任意一点p的邻域是以该点为圆心,以ε为半径的圆内包含的点的集合。定义为nε(p)={q∈d|dist(p,q)≤ε}。

定义2空间中某一点的邻域内包含点的最小个数为minpts,则称该点为核心点。

定义3若q在p的邻域内且p为核心点,即q∈nε(p)且|nε(p)|≥minpts,则称点q从点p直接密度可达。

定义4若存在一串点q1,q2,…,qn,q1=p,qn=q,且qi+1从qi(i=1,2,…,n-1)直接密度可达,则称q从p密度可达。

定义5若存在一个点o,使得p,q都是从o密度可达的,且点p和点q密度可达,则称点p和点q密度相连。

dbscan的基本步骤为:

(1)输入数据集

(2)判断输入点是否为核心对象

(3)找出核心对象的e邻域中的所有直接密度可达点

(4)选取另一个尚未被访问的点,执行步骤(2)

dbscan算法是一种基于密度的聚类算法,能有效发现任意形状的类簇。应用dbscan算法时有两个参数需要确定,一个是聚类半径eps,一个是聚类区域内对象个数minpts。这两个参数的确定对最总聚类效果有较大的影响。给定minpts,输入的eps越小,搜索到的簇的密度越高。若eps过小,则容易导致大量对象被错误标记为噪声,若eps过大,容易将噪声添加到类簇中。

当进行异常值检测时,由于dbscan算法是面对整个数据进行操作的,而其参数却是不变的,这就导致参数的选择不能适用与数据库中的全部区域,则就导致了聚类间距离相差很大时,使用dbscan算法的聚类质量较差。因此,本文采用滑动窗口模型,利用窗口内标准差波动反应数据变化。

对于样本数量为n的数据集xi表示数据集x中的第i个样本,设置窗口大小为n的滑动窗口wj表示第j个滑动窗口,(滑动窗口个数比样本总数少n-1个,)计算滑动窗口内数据的期望和标准差,得到一组期望标准差其中,n为滑动窗口大小,μj为第j个滑动窗口内数据的均值。

标准差可以反映一个数据集的离散程度,那么σj反映了第j个滑动窗口内数据的离散程度,则s的变化情况反映了数据集x的离散程度变化情况。由于事件的发生受各种复杂因素的影响,可以认为事件发生过程是一个伯努利过程,且事件过程的随机变量符合正态分布。对集合s计算其均值μ和标准差σ,根据拉依达准则,绝大部分正常数据分布在μ±3σ区间范围内,则超过μ+3σ部分被认为发生明显改变,以此作为聚类划分依据。

优选地,在所述步骤s2中滑动窗口内标准化数据的标准差的计算方式如下:

所述标准化数据集x的样本数量为n,xi表示所述标准化数据集x中的第i个样本;

所述滑动窗口模型的滑动窗口的窗口大小为n;

w为所述滑动窗口,wj表示第j个滑动窗口;所述滑动窗口的数量为n-n-1;

计算所述滑动窗口内数据的标准差,所述标准差数据集其中,μj为第j个滑动窗口内数据的均值,σj为第j个滑动窗口内标准化数据的标准差。

优选地,在所述步骤s3中标准差数据集的均值和标准差的计算方式如下:

式中,μ为标准差数据集的均值;σ为标准差数据集的标准差。

优选地,在所述步骤s3中所述分段数据集的获得方式包括:

所述标准差数据集的均值μ和标准差σ,根据所述拉依达准则,所述标准差数据集s的正常数据分布在μ±3σ区间范围内,未在μ±3σ区间范围内的数据定义为非正常数据,标准差数据集内的数据与μ±3σ线的交点作为数据分段点,相临两个所述分段点之间的数据形成所述分段数据集。

优选地,所述分段数据集的聚类半径计算方式如下:

计算每一所述分段数据集中两两元素之间的距离,得到元素距离表dist;

dist={d(a1,a2),(a1,a3),…,(ap,aq)}(p=1,2,…n;q=1,2,…n;p≠q);

其中a为所述分段数据集中元素,d为两元素之间的距离;

元素距离表中的数据按照从小到大的顺序对依次排列,为了保证精度,根据数据规模选择不超过20%的数据,对选取的数据求平均值得到所述聚类半径,当所述聚类半径≥0.2时,取所述聚类半径=0.2。

滑动窗口可以随时提供m个时间段的信息,每当有新的数据到来时,窗口向前滑动,将最新的数据加入到窗口之中,同时将最早的数据丢弃。滑动窗口可以过滤掉过时数据,反应数据的最新状态。

滑动窗口模型是常用的时间序列处理方法;

定义[t1,t2,t3,…,tm-1,tm,tm+1…]是一个时间序列,其中每个时间间隔[ta,ta+1]长度是固定的,[ti,ta+1,ta+2,…,ta+m-1,ta+m]为任意具有m个时间间隔的滑动窗口,每当新数据加入到滑动窗口中时,最早进入到滑动窗口中的数据将被丢弃,保持窗口内数据量固定,即当前处理的数据不会受到之前数据的影响。

较现有技术相比,本发明具有以下优点:

本发明从优化聚类效果入手,提出了一种基于滑动窗口标准差的dbscan聚类方法,用于对地震动下尾矿砂液化数据的异常检测。与传统方法相比,采用了滑动窗口对数据进行划分的方法来降低全局参数对dbscan聚类效果的影响。该方法与传统dbscan方法相比,具有明显提升。

基于上述理由本发明可在尾矿砂液化数据研究等领域广泛推广。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做以简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明具体实施方式中一种基于滑动窗口的尾矿砂液化数据聚类方法流程图。

图2为本发明具体实施方式中一种基于滑动窗口的尾矿砂液化数据聚类方法算法时间与传统dbscan聚类算法时间对比图。

具体实施方式

需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。

除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。同时,应当清楚,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。对于相关领域普通技术人员己知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。在这里示出和讨论的所有示例中,任向具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

如图1~2所示,一种基于滑动窗口的尾矿砂液化数据聚类方法,其特征在于,包括如下步骤:

s1:对尾矿砂液化数据进行标准化处理,得到标准化数据集;

s2:滑动窗口模型遍历所述标准化数据集,并计算每个滑动窗口内标准化数据的标准差,所有标准差形成标准差数据集;

s3:计算标准差数据集的均值和标准差,根据所述标准差数据集的均值和标准差和拉依达准则得到多个分段数据集;

s4:计算每个所述分段数据集的聚类半径;

s5:每个所述分段数据集根据其所述聚类半径和聚类算法进行聚类;

s6:将不在任何簇中的数据作为异常点输出。

在所述步骤s1中,采用z-score标准化方法对所述尾矿砂液化数据进行标准化处理。

z-score标准化方法计算方式如下:

其中data为标准化数据,data_old为原始数据,data_val为原始数据的均值,data_std为原始数据的标准差。

在所述步骤s5中所述聚类算法为dbscan算法。

在所述步骤s2中滑动窗口内标准化数据的标准差的计算方式如下:

所述标准化数据集x的样本数量为n,xi表示所述标准化数据集x中的第i个样本;

所述滑动窗口模型的滑动窗口的窗口大小为n;

w为所述滑动窗口,wj表示第j个滑动窗口;所述滑动窗口的数量为n-n-1;

计算所述滑动窗口内数据的标准差,所述标准差数据集其中,μj为第j个滑动窗口内数据的均值,σj为第j个滑动窗口内标准化数据的标准差。

在所述步骤s3中标准差数据集的均值和标准差的计算方式如下:

式中,μ为标准差数据集的均值;σ为标准差数据集的标准差。

在所述步骤s3中所述分段数据集的获得方式包括:

所述标准差数据集的均值μ和标准差σ,根据所述拉依达准则,所述标准差数据集s的正常数据分布在μ±3σ区间范围内,未在μ±3σ区间范围内的数据定义为非正常数据,标准差数据集内的数据与μ±3σ线的交点作为数据分段点,相临两个所述分段点之间的数据形成所述分段数据集。

所述分段数据集的聚类半径计算方式如下:

计算每一所述分段数据集中两两元素之间的距离,得到元素距离表dist;

dist={d(a1,a2),(a1,a3),…,(ap,aq)}(p=1,2,…n;q=1,2,…n;p≠q);

其中a为所述分段数据集中元素,d为两元素之间的距离;

元素距离表中的数据按照从小到大的顺序对依次排列,为了保证精度,根据数据规模选择不超过20%的数据,对选取的数据求平均值得到所述聚类半径,当所述聚类半径≥0.2时,取所述聚类半径=0.2。

本发明是对dbscan聚类效果的优化,主要解决聚类质量不稳定问题。算法的运行时间和准确性是聚类效果的衡量指标。本文使用传感器采集到的真实模拟实验数据对算法进行验证,与传统dbscan算法进行计较,判断本文算法的聚类效果。

本文实验数据采用振动台模拟地震动所采集的真实数据,实验采用python3.7语言实现,在intel(r)core(tm)i5-4200hcpu@2.80ghz2.79ghz处理器,12.0gb内存环境下进行测试。

聚类效果对比:

利用聚类方法得到的不属于任何簇类的点可以用来判断聚类的效果,下表为测试结果:

可以看出本文方法与传统方法相比较可以检测到更多异常点,更利于提高数据准确性。

算法时间对比:

算法的时间复杂度用算法的运行时间来表示。实验采用了多组传感器采集到的包括土壤压力、孔隙压力、拉力在内的六组数据,分别使用本文方法与传统dbscan方法进行聚类处理,得到的实验结果如图2所示。

由图2可以看出,在相同的数据集下,本文方法在时间上比传统方法有较大提升。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1