一种基于密度峰值聚类计算分形维数的方法与流程

文档序号:16136787发布日期:2018-12-01 01:05阅读:425来源:国知局

本发明属于信号处理领域,涉及一种基于密度峰值聚类计算分形维数的方法。

背景技术

分形维数是定量刻画非线性动力学的不规则程度重要指标,简称分维。目前,常见的分维主要有:盒子维数、信息维数、hausdorff维数、lyapunov维数、关联维数等,其中关联维数相对简单易于实现,已经广泛应用在天体物理、故障诊断、信号处理、水文预测等等。

在计算关联维数的过程中,需要人为选择无标度区间计算关联维数,而无标度区间是准确求得分形维数的重要保证,但往往采用主观识别,但误差较大,因此,需要一种客观自动识别无标度区间的方法来得到更加准确的关联维数。目前,主要有三种解决方法。第一种方法利用人的肉眼识别直线段作为无标度区间,虽然效率高,仍存在较大误差。第二种方法利用2-means方法找出无标度区间,但容易陷入局部最优解。第三种方法基于模拟退火遗传模糊c均值聚类算法识别无标度区间,但参数过多。而且第二种和第三种方法都需要人为给定类簇数目,因此会出现不准确的结果。基于以上问题,迫切需要一种比较客观简单易行自动识别无标度区间的方法,减少误差,提高gp算法计算关联维数的计算精度。



技术实现要素:

有鉴于此,本发明的目的在于提供一种基于密度峰值聚类计算关联维数的方法,该方法用于解决实际混沌系统中计算分形维数的问题,采用gp算法求得关联积分对数集合,再结合基于密度峰值聚类算法对数据进行自动分类处理,这样既避免了人为选择无标度区间,又提高了计算精度。

为达到上述目的,本发明提供如下技术方案:

一种基于密度峰值聚类计算分形维数的方法,包括以下步骤:

s1:从实际工程中获得一维混沌时间序列信号;

s2:利用k-d树优化的gp算法,对采样到的时间序列数据进行预处理,得到关联积分对数集合;

s3:对所得数据进行二阶差分,利用密度峰值聚类算法提取零波动数据;

s4:选取零波动数据中连续自然数的区间进行统计分析,保留有效零波动数据,然后利用最小二乘法对保留的数据进行拟合,计算出关联维数。

进一步,所述步骤s2包括以下步骤:

s201:利用虚假邻近点法和互信息法,对时间序列{x(i),i=1,2,…,n}进行处理,分别计算出嵌入维数m和延迟时间τ;

s202:采用时间差法重构相空间,按间隔为τ从时间序列中取数作为矢量的分量,因而

构造出一批矢量,即x(t)=[x(t)x(t+τ)x(t+2τ)…x(t+(m-1)τ)],其中,t=1,2,…,m,m为嵌入维数,m为重构相空间中点的个数,m=n-(m-1)τ;

s203:利用k-dimensional树算法,即k-d树算法,快速查找空间中小于指定半径的邻近点对,并计算关联积分其中||x(i)-x(j)||表示x(i)和x(j)之间的距离,

s204:计算出关联积分对数集合{lnc(r(j))}j∈k。

进一步,所述步骤s3具体包括以下步骤:

s301:对数据{ln(r(j)),lnc(r(j))}j∈k进行二阶差分,得到一个新的集{ln(r(j)),lnc(r(j))”}j∈k;

s302:计算{ln(r(j)),lnc(r(j))”}j∈k中每个数据点的局部密度其中di,j表示数据i和j之间的距离;dc表示截断距离;

s303:计算距离

s304:通过点对(ρi,δ(i))构造二维图,从此图中选出同时具有较大的ρi和δ(i)的点,此时的数据点i即为类簇中心,而离群点具有较小的ρi和较大的δ(i)值;

s305:类簇中心找到后,剩余的每个点被归属到它的有更高密度的最近邻所属类簇;

s306:选取类簇中心在零附近的数据集,并提取包含连续自然数指标对应的数据

进一步,所述步骤s4具体包括以下步骤:

s401:选取零波动数据中连续自然数的区间对应的数据集合

s402:对含有连续指标对应的数据分别计算相关系数;

s403:选取统计学中相关系数最大,保留通过统计检验的数据

s404:选取统计学中相关系数最大,保留通过统计检验的数据

s405:最后利用最小二乘法对数据进行拟合,求得的斜率即为关联维数。

本发明的有益效果在于:本发明充分利用关联积分曲线和无标度区间的几何特征,使用机器学习算法—基于密度峰值聚类算法,能够客观准确自动识别无标度区间,计算结果更加准确,同时该方法过程简单,容易实现。在实际应用中,该方法关联维数有着广泛的应用前景,例如该维数不仅可作为判别机械产品故障特性的有效量化指标,也可以揭示河流域地质灾害的时空分布特征,还可以更加有效准确的进行天气预测、故障诊断、雷达目标识别等。由于该方法可以更加准确的计算关联维数,对非线性应用具有重要的意义。

附图说明

为了使本发明的目的、技术方案和有益效果更加清楚,本发明提供如下附图进行说明:

图1为本发明所述方法流程图;

图2为关联积分对数图;

图3为关联积分对数的二阶差分波动分类图。

具体实施方式

下面将结合附图,对本发明的优选实施例进行详细的描述。

henon是经典的混沌系统,其产生的混沌时间序列常被用来验证一些加密算法或者混沌特征指数的有效性,其方程可写为:

下面以具体实施例子来说明本发明的优越性。具体如下:如图1所示:

步骤一:对henon方程,初值为[00],迭代次数为18000次,去掉前面暂态点,获得时间序列数据{x(i),i=1,2,…,10000}。

步骤二:如图2所示,利用k-d树优化的gp算法,对采样到的时间序列数据进行预处理,得到关联积分对数集合,具体分为以下五个步骤:

步骤201:利用自相关函数,对时间序列{x(i),i=1,2,…,10000}进行处理,延迟时间τ=1,嵌入维数m=12。

步骤202:采用时间差法重构相空间,按间隔为τ从时间序列中取数作为矢量的分量,因而构造出一批矢量,即x(t)=[x(t)x(t+1)x(t+2)…x(t+11)],其中,t=1,2,…,m,m为重构相空间矢量的个数,m=10000-(12-1)×1=9989。

步骤203:利用k-dimensional树(简称k-d树)算法,快速查找空间中小于指定半径的邻近点对,并计算关联积分其中||x(i)-x(j)||表示x(i)和x(j)之间的距离,r=[e-4e-4+0.25e-4+2×0.25…0]。

步骤204:计算出关联积分对数集合{lnc(r(j))}j∈k。

步骤三:如图3所示,对所得数据进行二阶差分,利用密度峰值聚类算法提取零波动数据,具体分为以下六个步骤:

步骤301:对数据{ln(r(j)),lnc(r(j))}j∈k进行二阶差分,得到一个新的集合{ln(r(j)),lnc(r(j))”}j∈k。

步骤302:计算{ln(r(j)),lnc(r(j))”}j∈k中每个数据点的局部密度其中di,j表示数据i和j之间的距离;dc表示截断距离。

步骤303:计算距离

步骤304:通过点对(ρi,δ(i))构造二维图,从此图中选出同时具有较大的ρi和δ(i)的点,此时的数据点i即为类簇中心,而离群点具有较小的ρi和较大的δ(i)值。

步骤305:类簇中心找到后,剩余的每个点被归属到它的有更高密度的最近邻所属类簇。

步骤306:选取类簇中心在零附近的数据集,并提取包含连续自然数指标对应的数据

步骤四:选取零波动数据中连续自然数的区间进行统计分析,保留有效零波动数据,然后利用最小二乘法对保留的数据进行拟合,计算出关联维数,具体步骤如下:

步骤401:选取零波动数据中连续自然数的区间对应的数据集合

步骤402:对含有连续指标对应的数据分别计算相关系数;

步骤403:选取统计学中相关系数最大,保留通过统计检验的数据

步骤404:最后利用最小二乘法对数据进行拟合,求得的斜率即为关联维数。

通过仿真实验,实验结果如表1所示,本发明方法能够无需设置聚类数目,可以自动识别无标度区间计算关联维数,相比于主观识别法,更加接近参考值,结果更加准确。

表1

最后说明的是,以上优选实施例仅用以说明本发明的技术方案而非限制,尽管通过上述优选实施例已经对本发明进行了详细的描述,但本领域技术人员应当理解,可以在形式上和细节上对其做出各种各样的改变,而不偏离本发明权利要求书所限定的范围。

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