一种基于距离相关系数检验的非高斯中性矢量判断方法与流程

文档序号:11951296阅读:386来源:国知局
一种基于距离相关系数检验的非高斯中性矢量判断方法与流程

本发明针对矢量变量的“非高斯”与“中性”特性,提出了一种基于距离相关系数检验的非高斯中性矢量的判定方法。



背景技术:

非高斯中性矢量变量的“非高斯”特性和“中性”特性是其有别于其他矢量变量的显著特征。“非高斯”特性指矢量变量不符合高斯分布,即该变量满足以下两个条件:定义域有界、半有界、或者有序,变量呈非对称形状;“中性”特性要求矢量变量满足以下三个条件:矢量元素非负,元素加和为一,满足可交换特性。

这两个特殊性质使得传统的线性去相关方法,如主成分分析法法等,无法有效的对非高斯中性矢量变量进行变换、得到一组互相独立的分量。具体原因有:首先,传统的线性去相关方法变换过程不能保持变量元素非负和范数为一的“非高斯”特性,如采用独立成分分析(ICA-Independent Component Correlation Algorithm),虽然可以获得独立的分量,但无法保持“非高斯”特性;其次,即便可以获得不相关的变量,如采用主成分分析(PCA-Principal Component Analysis),但由于非高斯中性矢量变量不服从多维高斯分布,也无法保证变量之间的相互独立性。

因此,如何高效地对非高斯中性矢量变量进行线性去相关获得一组互相独立的分量是理论研究上的难题。此外,如何快速判断一个矢量变量是否具有非高斯和中性特性也是极具研究价值的学术问题。



技术实现要素:

为快速有效地判断矢量变量是否是非高斯中性矢量,本发明提出了一种新的判定方法。首先,本发明针对非高斯中性矢量变量提出了一种新的非线性独立成分分析方法。当且仅当矢量变量满足“中性”特性时,该方法才能得到一组相互独立的变量,即矢量变量满足“中性”特性是非线性变换后得到的变量相互独立的充要条件。据此,可对矢量变量进行非线性变换操作,然后检验所得变量之间的独立性,判断其是否满足“中性”特性。

根据上述内容,本发明提出了一种基于距离相关系数检验的非高斯中性矢量判断方法。具体包含以下步骤:

步骤一.样本预判断步骤:判断矢量变量样本是否非负并且加和为一,若不成立,则说明变量样本不具有“中性”特性。

步骤二.正态性检验步骤:运用正态性检验生成正态概率图,并进行假设检验,以检查输入的矢量变量样本是否服从正态分布。若不服从,则说明变量样本具有“非高斯”特性。

步骤三.协方差矩阵判断步骤:根据非高斯中性矢量满足协方差矩阵负相关的特点,判断矢量变量的协方差矩阵是否负相关,若不负相关,则说明变量不是非高斯中性矢量。

步骤四.非线性去相关步骤:运用“并行”方法,对矢量变量样本进行非线性变换,以得到一组相互独立的非高斯矢量变量。

步骤五.置换检验步骤:通过检验所得变量之间是否相互独立,判断原矢量变量样本是否满足“中性”特性。

在步骤一中对样本矢量变量进行简单的加和计算,根据非高斯矢量的特点,当样本矢量变量的和为一时,该样本才有可能为非高斯矢量。

在步骤二中基于正态性检验对样本非高斯特性的进一步检验,对于已经满足变量加和为一的矢量样本,再次进行正态性检验,通过生成正态概率图,查看样本散点与假设回归直线呈现出的图像结果,得出样本与正态分布的关系,不服从情况下,则说明样本有“非高斯”特性。

在步骤三中通过计算样本矢量的协方差矩阵,判断其相关性,在矩阵负相关的情况下,样本矢量变量才为中性向量。

在步骤四所述的迭代去相关步骤中,采用“并行”处理方法,对经过归一化的非高斯矢量变量进行非线性变换。假设x=[x1,x2,···,xK]T是一个K维的非高斯矢量变量,通过非线性变换,可以获得K-1维的非高斯矢量变量u=[μ12,···,μK-1]T,时间复杂度为O(log2K)。此步骤的具体计算过程如下:

1)从第二次迭代开始,每次迭代前对矢量变量样本进行归一化操作,得到一组新的满足“非高斯”特性的矢量变量x。

2)对非高斯矢量变量进行迭代非线性变换:

以六维向量为例,首次迭代得到三个变量u1,u2,u3分别为:

<mrow> <msub> <mi>u</mi> <mn>1</mn> </msub> <mo>=</mo> <mfrac> <msub> <mi>x</mi> <mn>1</mn> </msub> <mrow> <msub> <mi>x</mi> <mn>1</mn> </msub> <mo>+</mo> <msub> <mi>x</mi> <mn>2</mn> </msub> </mrow> </mfrac> <mo>,</mo> <msub> <mi>u</mi> <mn>2</mn> </msub> <mo>=</mo> <mfrac> <msub> <mi>x</mi> <mn>3</mn> </msub> <mrow> <msub> <mi>x</mi> <mn>3</mn> </msub> <mo>+</mo> <msub> <mi>x</mi> <mn>4</mn> </msub> </mrow> </mfrac> <mo>,</mo> <msub> <mi>u</mi> <mn>3</mn> </msub> <mo>=</mo> <mfrac> <msub> <mi>x</mi> <mn>5</mn> </msub> <mrow> <msub> <mi>x</mi> <mn>5</mn> </msub> <mo>+</mo> <msub> <mi>x</mi> <mn>6</mn> </msub> </mrow> </mfrac> </mrow>

第二次迭代得到向量u4

<mrow> <msub> <mi>u</mi> <mn>4</mn> </msub> <mo>=</mo> <mfrac> <mrow> <msub> <mi>x</mi> <mn>1</mn> </msub> <mo>+</mo> <msub> <mi>x</mi> <mn>2</mn> </msub> </mrow> <mrow> <msub> <mi>x</mi> <mn>1</mn> </msub> <mo>+</mo> <msub> <mi>x</mi> <mn>2</mn> </msub> <mo>+</mo> <msub> <mi>x</mi> <mn>3</mn> </msub> <mo>+</mo> <msub> <mi>x</mi> <mn>4</mn> </msub> </mrow> </mfrac> </mrow>

最后一轮迭代得到向量u5

u5=x1+x2+x3+x4

在步骤五所述的置换检验中,由步骤四可得到一组矢量变量,接下来判断该组变量中的元素是否相互独立。距离相关系数可以测量两个随机变量或任意维度的两个随机向量间的统计独立性,当它等于零时说明变量之间相互独立。基于距离相关系数判定变量之间独立性的方法可通过置换检验实现。具体步骤如下:

1)给定来自两个不同变量的两组样本X=[x1,···,xN]和Y=[y1,···,yN],分别逐一计算任意两个样本间的欧式距离

aij=||xi-xj||2和bij=||yi-yj||2

然后计算矩阵

上式中,表示第i行的均值,表示第j列的均值,表示整个矩阵的均值,对和也采用同样的计算方法。

此样本序列的距离相关系数为

<mrow> <mi>D</mi> <mi>C</mi> <mi>C</mi> <mrow> <mo>(</mo> <mi>X</mi> <mo>,</mo> <mi>Y</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mrow> <mi>d</mi> <mi>C</mi> <mi>o</mi> <mi>v</mi> <mrow> <mo>(</mo> <mi>X</mi> <mo>,</mo> <mi>Y</mi> <mo>)</mo> </mrow> </mrow> <msqrt> <mrow> <mi>d</mi> <mi>C</mi> <mi>o</mi> <mi>v</mi> <mrow> <mo>(</mo> <mi>X</mi> <mo>,</mo> <mi>X</mi> <mo>)</mo> </mrow> <mo>&CenterDot;</mo> <mi>d</mi> <mi>C</mi> <mi>o</mi> <mi>v</mi> <mrow> <mo>(</mo> <mi>Y</mi> <mo>,</mo> <mi>Y</mi> <mo>)</mo> </mrow> </mrow> </msqrt> </mfrac> </mrow>

其中,

2)保持X中样本的顺序不变。通过对从1到N的序号进行随机置换(Random Permutation),可从Y得到新的样本序列Y*。对于X和Y*,按照步骤一中的方法重新计算DC。

3)重复步骤二Q次(Q应为较大的正整数),统计所得到的DC值小于步骤一中得到的DC的次数为P。那么P/Q即为p-value。

此检验的零假设(Null Hypothesis)是两个变量统计上相互不独立。当通过计算距离相关系数得到的p-value小于显著性阈值(如0.05)时,此零假设被拒绝,则可判定两个变量相互独立。K维非高斯中性矢量变量共需要计算(K-1)(K-2)/2组变量对的p-value,与K!/2相比,有效降低了计算量。

当通过置换检验判断步骤四中所得到的变量相互独立后,可以确定矢量变量满足“中性”特性。结合之前步骤,可知该矢量变量是非高斯中性矢量。

附图说明

图1为本发明提供非高斯中性矢量判断方法的步骤流程图;

图2为本发明采用“并行”方法进行非线性去相关的步骤流程图。

具体实施方式

下面将结合附图对本发明具体实施方式进行详细说明。

图1是本发明的流程图,包括以下步骤:

第一步:样本预判断

步骤S1.对矢量变量样本判断其非负并且求和,不满足则终止流程。

第二步:非高斯特性判断

步骤S2.对矢量变量样本进行正态性检验,满足正态性检验则终止流程。

第三步:协方差矩阵判断步骤

步骤S3:计算矢量变量样本协方差矩阵,判断其相关性,不满足负相关则终止流程。

第四步:非线性去相关

步骤S4:运用“并行”方法,对矢量变量样本进行非线性变换,以得到一组相互独立的非高斯矢量。

第五步:置换检验

步骤S5:通过检验所得变量之间的相互独立,判定原矢量变量样本满足“中性”特性,满足负相关则该样本是非高斯中性矢量,反之则不是。

下面将对每个步骤进行具体说明:

步骤S1对输入的矢量变量样本进行预判断,判断输入的矢量变量样本是否非负并且加和为一,若不成立,则说明变量样本不具有“中性”特性,终止判断流程。

步骤S2对输入的矢量变量样本进行正态性检验,满足正态性检验,则说明该变量不具备“非高斯”特性,终止判断流程。

步骤S3判断矢量变量样本的协方差矩阵是否负相关,若不负相关,则说明变量不是非 高斯中性矢量,终止判断流程。

步骤S4采用“并行”的非线性变换方法对矢量变量样本进行非线性变换,以得到一组相互独立的非高斯矢量。假设x=[x1,x2,···,xK]T是一个K维的非高斯矢量变量,通过非线性变换,可以获得K-1维的非高斯矢量变量u=[μ12,···,μK-1]T。在“并行”方法的迭代过程中,第一轮迭代产生约K/2个互相独立的变量,第二轮产生约K/4个互相独立的变量,时间复杂度为O(log2K)。此外,由于每一轮都采用了局部归一化的操作,因此可以保证u中的元素分布在(0,1)区间内,使得“非高斯”特性得以保持。此外,该非线性变换是可逆的,可以从u中完全的将x恢复。

下面对每个步骤进行具体说明:

1)从第二次迭代开始,每次迭代前对矢量变量样本进行归一化操作,得到一组新的满足“非高斯”特性的矢量变量x。

2)对非高斯矢量变量进行迭代非线性变化:

以六维向量为例,首次迭代得到三个相互独立的变量u1,u2,u3分别为:

<mrow> <msub> <mi>u</mi> <mn>1</mn> </msub> <mo>=</mo> <mfrac> <msub> <mi>x</mi> <mn>1</mn> </msub> <mrow> <msub> <mi>x</mi> <mn>1</mn> </msub> <mo>+</mo> <msub> <mi>x</mi> <mn>2</mn> </msub> </mrow> </mfrac> <mo>,</mo> <msub> <mi>u</mi> <mn>2</mn> </msub> <mo>=</mo> <mfrac> <msub> <mi>x</mi> <mn>3</mn> </msub> <mrow> <msub> <mi>x</mi> <mn>3</mn> </msub> <mo>+</mo> <msub> <mi>x</mi> <mn>4</mn> </msub> </mrow> </mfrac> <mo>,</mo> <msub> <mi>u</mi> <mn>3</mn> </msub> <mo>=</mo> <mfrac> <msub> <mi>x</mi> <mn>5</mn> </msub> <mrow> <msub> <mi>x</mi> <mn>5</mn> </msub> <mo>+</mo> <msub> <mi>x</mi> <mn>6</mn> </msub> </mrow> </mfrac> </mrow>

第二次迭代得到向量u4

<mrow> <msub> <mi>u</mi> <mn>4</mn> </msub> <mo>=</mo> <mfrac> <mrow> <msub> <mi>x</mi> <mn>1</mn> </msub> <mo>+</mo> <msub> <mi>x</mi> <mn>2</mn> </msub> </mrow> <mrow> <msub> <mi>x</mi> <mn>1</mn> </msub> <mo>+</mo> <msub> <mi>x</mi> <mn>2</mn> </msub> <mo>+</mo> <msub> <mi>x</mi> <mn>3</mn> </msub> <mo>+</mo> <msub> <mi>x</mi> <mn>4</mn> </msub> </mrow> </mfrac> </mrow>

最后一轮迭代得到向量u5

u5=x1+x2+x3+x4

具体流程参见说明书附图2。

步骤S5由步骤S4可以得到一组非线性去相关后的矢量变量u,在该步骤中利用距离相关系数来判断u是否是一组互相独立的变量。距离相关系数可以测量两个随机变量或任意维度的两个随机向量间的统计独立性,当它等于零时说明变量之间相互独立。基于距离相关系数判定变量之间独立性的方法可通过置换检验实现。

下面对每个步骤进行具体说明:

1)给定来自两个不同变量的两组样本X=[x1,···,xN]和Y=[y1,···,yN],分别逐一计算样本间的欧式距离

aij=||xi-xj||2和bij=||yi-yj||2

然后计算

上式中,表示第i行的均值,表示第j列的均值,表示整个矩阵的均值,对和也采用同样的计算方法。

此样本序列的距离相关系数为

<mrow> <mi>D</mi> <mi>C</mi> <mi>C</mi> <mrow> <mo>(</mo> <mi>X</mi> <mo>,</mo> <mi>Y</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mrow> <mi>d</mi> <mi>C</mi> <mi>o</mi> <mi>v</mi> <mrow> <mo>(</mo> <mi>X</mi> <mo>,</mo> <mi>Y</mi> <mo>)</mo> </mrow> </mrow> <msqrt> <mrow> <mi>d</mi> <mi>C</mi> <mi>o</mi> <mi>v</mi> <mrow> <mo>(</mo> <mi>X</mi> <mo>,</mo> <mi>X</mi> <mo>)</mo> </mrow> <mo>&CenterDot;</mo> <mi>d</mi> <mi>C</mi> <mi>o</mi> <mi>v</mi> <mrow> <mo>(</mo> <mi>Y</mi> <mo>,</mo> <mi>Y</mi> <mo>)</mo> </mrow> </mrow> </msqrt> </mfrac> </mrow>

其中,

2)保持X中样本的顺序不变。通过对从1到N的序号进行随机置换(Random Permutation),可从Y得到新的样本序列Y*。对于X和Y*,按照步骤一中的方法 重新计算DC。

3)重复步骤二Q次(Q应为较大的正整数),统计所得到的DC值小于步骤一中得到的DC的次数为P。那么P/Q即为p-value。

此检验的零假设(Null Hypothesis)是两个变量统计上相互不独立。当通过计算距离相关系数得到的p-value小于显著性阈值(如0.05)时,此零假设被拒绝,则可判定两个变量相互独立。K维非高斯中性矢量变量共需要计算(K-1)(K-2)/2组变量对的p-value,与K!/2相比,有效降低了计算量。

当通过置换检验判断步骤S4得到的变量相互独立后,可以确定矢量变量满足“中性”特性。结合之前步骤,可知该矢量变量是非高斯中性矢量。

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