本发明具体涉及一种探索高维数据的内在低维结构的可视化分析方法及其系统。
背景技术:
当今社会,各种各样的数据充斥着人们生活的各个方面,对大规模数据的分析与处理在科学研究领域占据着越来越重要的地位。数据的维数之高结构之复杂给数据的分析与处理带来了一定的困难。如何从高维数据中有效的找出其特征信息,是信息科学与统计科学领域中的基本问题,也是高维数据分析面临的主要挑战。应对这个挑战的首要步骤是对高维数据进行有效地降维处理。所谓降维是指将高维空间中的数据通过线性或非线性映射投影到低维空间中,找出隐蔽在高维观测数据中有意义的并且能揭示数据本质的低维结构。通过此方法能够减少高维数据的维数灾难问题,促进高维数据的分类、压缩和可视化。
针对数据降维问题,传统方法是假设数据具有低维的线性分布,代表性方法是主要成分分析(pca)和线性判别分析(lda)。它们已经形成了完备的理论体系,并且在应用中也表现出了良好的性态。但由于现实数据的表示维数与本质特征维数之间存在非线性关系,因此近几年来由stroweis和jbtenenbaum提出来的流形学习方法,已经逐渐成为数据特征提取方法的研究热点问题。这类方法假设高维数据分布在一个本质上低维的非线性流形上,在保持原始数据表示空间与低维流形上的不变量特征的基础上来进行非线性降维。因此,流形学习算法也称之为非线性降维方法,其中代表性算法包括基于谱分析的算法、等距特征映射算法(isomap)、局部线性嵌入算法(lle)、局部切空间排列(ltsa)、核主成分分析(kpca)、laplacian特征映射、hessian特征映射等。后来,基于概率参数模型的算法也相继出现,如charting。然而,这些算法很难被应用于识别问题。而且,现有的算法等技术往往需要研究人员对高维数据中的内在低维结构做出正确的假设或者预设,才能更好的发挥现有算法的优势。但是,如何对高维数据中的内在低维结构做出正确的假设或者预设则是一直困扰着研究人员的难题。
技术实现要素:
本发明的目的之一在于提供一种能够对高维数据中内在的低维结构构造一组全局和局部的特征描述以此来探索内在的低维结构的探索高维数据的内在低维结构的可视化分析方法。
本发明的目的之二在于提供一种实现探索高维数据中内在低维结构的可视化分析方法的系统。
本发明提供的这种探索高维数据的内在低维结构的可视化分析方法,包括如下步骤:
s1.选定需要分析的数据,并根据选定的数据调整相关的参数,这些参数包括邻居点的个数、以及阈值参数α和每个散点图中点的大小;
s2.构建t-sne视图;
s3.构建高维数据的二维投影视图,用于将高维数据投影到二维平面;
s4.构建本真维度柱状图视图,用于辅助分析数据的本质维度;
s5.构建点滚石图视图,用于辅助分析数据的本质维度;
s6.构建低维结构滚石图视图,用于辅助分析一个数据整体的本质维度;
s7.构建结构列表视图,用于辅助分析和生成报表。
步骤s2所述的构建t-sne视图,具体为利用t-sne算法将数据降维投影到二维平面,当后期knn发生变化时,t-sne视图也进行相应的变化。
步骤s3所述的构建高维数据的二维投影视图,具体为采用如下步骤构建二维投影视图:
a.构建高维数据的二维投影;
b.将步骤a中得到的任意两点间的局部切空间距离投影到二维空间;
c.采用如下算式计算k邻近距离lp:
lp=disp/disn
式中disp为点p到其局部切空间的距离,disn为点p到其k最近邻的平均距离。
步骤a所述的构建高维数据的二维投影,具体为采用如下步骤构建二维投影:
ⅰ.建立基于分层次测地距离的数据点相关性度量;
ⅱ.建立局部切空间散度度量;
ⅲ.根据步骤ⅰ和步骤ⅱ建立的度量,建立局部切空间散度-分层次测地距离投影,完成高维数据的二维投影。
步骤ⅰ所述的建立基于分层次测地距离的数据点相关性度量,具体为采用如下步骤建立相关性度量:
a.在数据集上构建具有若干连通分量的snn图;
b.基于步骤a得到的snn图得到若干个连通子图,并根据得到的连通子图得到多个测地距离矩阵,从而得到基于分层次测地距离的数据点相关性度量。
步骤ⅱ所述的建立局部切空间散度度量,具体为采用如下步骤建立局部切空间散度度量:
1)获取邻居矩阵x,所述矩阵x为k行d列,每一行代表点p中k个近邻中的一个;
2)对步骤1)获取的邻居矩阵x进行奇异值分解,得到x=u∑vt,并对其中的对角矩阵∑的对角上的值进行降序排列,得到{σ1,σ2,...,σi,...,σn};
3)按照如下算式计算dp的值:
式中α为阈值参数,一般选为0.9;
4)取步骤2)得到的矩阵v的前dp列,即得到点p的局部切空间sp;
5)采用如下算式计算局部切空间散度div(sp,sq):
式中cosθ(i)定义为奇异值τi;设点p的局部切空间为u,点q的局部切空间为v,对utv进行奇异值分解得到的奇异值即为τi。
步骤ⅲ所述的建立局部切空间散度-分层次测地距离投影,具体为采用如下步骤建立局部切空间散度-分层次测地距离投影:
(1)将步骤ⅰ中得到的每个连通子图当作一个点,并计算两两之间的最短距离;
(2)利用mds方法投影到y轴;
(3)根据每个连通子图内最大的距离以及与最近的连通子图的最短距离确定每个连通子图在y轴的范围;
(4)在每个连通子图上,利用mds方法将连通子图上的每个点投影到y轴上的对应的位置;
(5)根据步骤ⅱ得到的任意两点之间的局部切空间散度,利用mds算法将空间中的数据点映射到x轴,完成局部切空间散度-分层次测地距离投影。
步骤s4所述的构建本真维度柱状图视图,具体为采用如下步骤构建视图:
(a)按照如下算式计算变量x和dp:
x=u∑vt
其中x为点p的k行d列的邻居矩阵,每一行代表点p中k近邻中的一个数据点;对x进行奇异值分解得到u,∑和vt,其中∑为对角矩阵,且对角上的值的降序排列为{σ1,σ2,...,σi,...,σn};α为阈值参数,一般选取为0.9;dp为点p的局部切空间估计的本质维度;
(b)将dp用条形图绘出,即构建完成本真维度柱状图视图。
步骤s5所述的构建点滚石图视图,具体为采用如下步骤构建视图:
(a)针对每个数据点p,均得到点p的矩阵{σ1,σ2,...,σi,...,σn};
(b)针对(a)中的每一个特征值,计算所有数据里第i个特征值的最大值,得到矩阵
(c)计算
(d)将
步骤s6所述的构建低维结构滚石图视图,具体为采用如下步骤构建视图:
ⅰ.在高维数据集的基础上构建具有若干连通分量的snn图;
ⅱ.根据步骤ⅰ得到的snn图得到若干个连通子图,并通过最短路径算法得到每个连通子图内任意两点之间的测地距离,从而构成测地距离矩阵g;
ⅲ.采用如下算式计算矩阵b
式中gij为测地距离矩阵g对应的第i行第j列元素;
ⅳ.对矩阵b进行奇异值分解
b=u1∧v1t
式中∧为对角矩阵,对角线上的对应的值为{λ1,λ2,...,λi,...,λn},从而得到每个连通子图线线性模式下的一组奇异值;
ⅴ.将步骤ⅳ得到的特征值在平行坐标图中绘出;
ⅵ.将步骤ⅱ得到的测地距离矩阵g利用mds算法得到特征值,从而绘出在非线性模式下的平行坐标图;从而得到低维结构滚石图视图。
本发明还提供了实现所述探索高维数据的内在低维结构的可视化分析方法的系统,包括数据选定模块、t-sne视图构建模块、高维数据的二维投影视图构建模块、本真维度柱状图视图构建模块、点滚石图视图构建模块、低维结构滚石图视图构建模块和结构列表视图构建模块;数据选定模块用于选定需要分析的数据并调整分析参数;t-sne视图构建模块用于构建t-sne视图;高维数据的二维投影视图构建模块用于构建高维数据的二维投影视图;本真维度柱状图视图构建模块用于构建本真维度柱状图视图并辅助分析数据的本质维度;点滚石图视图构建模块用于构建点滚石图视图并辅助分析数据的本质维度;低维结构滚石图视图构建模块用于构建低维结构滚石图视图并辅助分析一个数据整体的本质维度;结构列表视图构建模块用于构建结构列表视图并辅助分析和生成报表。
本发明提供的这种探索高维数据的内在低维结构的可视化分析方法及其分析系统,通过对高维数据进行投影,并建立相应的视图,能够对内在的低维结构构造一组全局和局部的特征描述,从而能够帮助用户对内在的低维结构构造一组全局和局部的特征描述和帮助用户探索内在的低维结构。
附图说明
图1为本发明方法的方法流程图。
图2为本发明系统的功能模块图。
具体实施方式
如图1所示为本发明方法的方法流程图:本发明提供的这种高维数据的内在低维结构的可视化分析方法,包括如下步骤:
s1.选定需要分析的数据,并根据选定的数据调整相关的参数,这些参数包括邻居点的个数、以及阈值参数α和每个散点图中点的大小;
s2.利用t-sne算法将数据降维投影到二维平面,构建t-sne视图;
s3.构建高维数据的二维投影视图,用于将高维数据投影到二维平面;具体为采用如下步骤构建二维投影视图:
a.构建高维数据的二维投影;具体为采用如下步骤构建二位投影:
ⅰ.建立基于分层次测地距离的数据点相关性度量;具体为采用如下步骤建立相关性度量:
a.在数据集上构件具有若干连通分量的snn图;
b.基于步骤a得到的snn图得到若干个连通子图,并根据得到的连通子图得到多个测地距离矩阵,从而得到基于分层次测地距离的数据点相关性度量;
ⅱ.建立局部切空间散度度量;具体为采用如下步骤建立局部切空间散度度量:
1)获取邻居矩阵x,所述矩阵x为k行d列,每一行代表点p中k个近邻中的一个;
2)对步骤1)获取的邻居矩阵x进行奇异值分解,得到x=u∑vt,并对其中的对角矩阵∑的对角上的值进行降序排列,得到{σ1,σ2,...,σi,...,σn};
3)按照如下算式计算dp的值:
式中α为阈值参数,一般选为0.9;
4)取步骤2)得到的矩阵v的前dp列,即得到点p的局部切空间sp;
5)采用如下算式计算局部切空间散度div(sp,sq):
式中cosθ(i)定义为奇异值τi;设点p的局部切空间为u,点q的局部切空间为v,对utv进行奇异值分解得到的奇异值即为τi;
ⅲ.根据步骤ⅰ和步骤ⅱ建立的度量,建立局部切空间散度-分层次测地距离投影,完成高维数据的二维投影;具体为采用如下步骤建立局部切空间散度-分层次测地距离投影:
(1)将步骤ⅰ中得到的每个连通子图当作一个点,并计算两两之间的最短距离;
(2)利用mds方法投影到y轴;
(3)根据每个连通子图内最大的距离以及与最近的连通子图的最短距离确定每个连通子图在y轴的范围;
(4)在每个连通子图上,利用mds方法将连通子图上的每个点投影到y轴上的对应的位置;
(5)根据步骤ⅱ得到的任意两点之间的局部切空间散度,利用mds算法将空间中的数据点映射到x轴,完成局部切空间散度-分层次测地距离投影;
b.将步骤a中得到的任意两点间的局部切空间距离投影到二维空间;
c.采用如下算式计算k邻近距离lp:
lp=disp/disn
式中disp为点p到其局部切空间的距离,disn为点p到其k最近邻的平均距离;
s4.构建本真维度柱状图视图,用于辅助分析数据的本质维度;具体为采用如下步骤构建视图:
(a)按照如下算式计算变量x和dp:
x=u∑vt
其中x为点p的k行d列的邻居矩阵,每一行代表点p中k近邻中的一个数据点;对x进行奇异值分解得到u,∑和vt,其中∑为对角矩阵,且对角上的值的降序排列为{σ1,σ2,...,σi,...,σn};α为阈值参数,一般选取为0.9;dp为点p的局部切空间估计的本质维度;
(b)将dp用条形图绘出,即构建完成本真维度柱状图视图;
s5.构建点滚石图视图,用于辅助分析数据的本质维度;具体为采用如下步骤构建视图:
(a)针对每个数据点p,均得到点p的矩阵{σ1,σ2,...,σi,...,σn};
(b)针对(a)中的每一个特征值,计算所有数据里第i个特征值的最大值,得到矩阵
(c)计算
(d)将
s6.构建低维结构滚石图视图,用于辅助分析一个数据整体的本质维度;具体为采用如下步骤构建视图:
ⅰ.在高维数据集的基础上构建具有若干连通分量的snn图;
ⅱ.根据步骤ⅰ得到的snn图得到若干个连通子图,并通过最短路径算法得到每个连通子图内任意两点之间的测地距离,从而构成测地距离矩阵g;
ⅲ.采用如下算式计算矩阵b
式中gij为测地距离矩阵g对应的第i行第j列元素;
ⅳ.对矩阵b进行奇异值分解
b=u1∧v1t
式中∧为对角矩阵,对角线上的对应的值为{λ1,λ2,...,λi,...,λn},从而得到每个连通子图线线性模式下的一组奇异值;
ⅴ.将步骤ⅳ得到的特征值在平行坐标图中绘出;
ⅵ.将步骤ⅱ得到的测地距离矩阵g利用mds算法得到特征值,从而绘出在非线性模式下的平行坐标图;从而得到低维结构滚石图视图;
s7.构建结构列表视图,用于辅助分析和生成报表。
如图2所示为本发明系统的功能模块图:本发明提供的这种实现所述高维数据的内在低维结构的可视化分析方法的系统,包括数据选定模块、t-sne视图构建模块、高维数据的二维投影视图构建模块、本真维度柱状图视图构建模块、点滚石图视图构建模块、低维结构滚石图视图构建模块和结构列表视图构建模块;数据选定模块用于选定需要分析的数据并调整分析参数;t-sne视图构建模块用于构建t-sne视图;高维数据的二维投影视图构建模块用于构建高维数据的二维投影视图;本真维度柱状图视图构建模块用于构建本真维度柱状图视图并辅助分析数据的本质维度;点滚石图视图构建模块用于构建点滚石图视图并辅助分析数据的本质维度;低维结构滚石图视图构建模块用于构建低维结构滚石图视图并辅助分析一个数据整体的本质维度;结构列表视图构建模块用于构建结构列表视图并辅助分析和生成报表。