一种自适应的外生变量识别方法与流程

文档序号:12863759阅读:619来源:国知局

本发明涉及数据挖掘技术领域,更具体地说涉及一种自适应的外生变量识别方法。



背景技术:

因果发现算法主要广泛应用于人工智能领域中,所谓因果发现算法,是一种基于外生变量识别,产生反应动作机制的一门算法,由上述因果发现算法的定义可知,所述外生变量是因果发现算法的触发器,正确识别外生变量在人工智能控制过程中提供有效的干预措施,使人工智能系统更好地了解事物间的因果机制。

现有技术中识别外生变量的方法主要有两种,都是基于线性非高斯原理,第一种识别方法是引入某种假设,例如假设任意干扰变量的非高斯性强度是小于外生变量的,从而利用外生变量的非高斯性指标负熵来识别的eggfinder算法;第二种是两两的去比较变量与其余所有变量的残差的独立性的directlingam算法或者lr算法。

第一种方法缺点在于将需要加入某种假设限制,利用非高斯性指标来识别外生变量,因此第一种识别方法只能准确识别某些种类的数据,不具有普遍性;第二种方法缺点在于以求和的方式取最小值对应的变量作为外生变量是不可靠的衡量指标。

综上所述,使用以上两种方法去识别外生变量,存在适应性和可靠性不足的缺陷。



技术实现要素:

本发明要解决的技术问题是:提供一种能够灵活,有效地识别出外生变量的方法。

本发明解决其技术问题的解决方案是:

一种自适应的外生变量识别方法,包括以下步骤:

步骤a.设定数据集x=[x1,x2,…xn],其中数据集中每个变量xn,包含m个样本数据,设定矩阵m,矩阵m所有元素为inf,设定一个数组max;

步骤b.计算数据集xi与其余所有数据xj做最小二乘回归运算,其中j≠i,得到残差

步骤c.计算xi与所有残差的互信息其中j≠i;

步骤d.将步骤c中所述互信息替换到矩阵m的第i行第j列的值;

步骤e.计算矩阵m中第i行中的最大值,存放在数组max中,记为max(i);

步骤f.在数组max中找出最小值,记为λ;

步骤g.根据λ的值,找出独立于其余所有残差的变量即为外生变量。

作为上述技术方案的进一步改进,所述步骤b中,计算残差的公式如下,

作为上述技术方案的进一步改进,所述步骤c中,利用核方法计算xi与所有残差的互信息计算公式如下:其中所述

其中所述p,q=1,2,3…m;当m>1000时,核宽度k=2×10-3;当m≤1000时,核宽度σ=1,k=2×10-2

本发明的有益效果是:本发明所述外生变量识别方法将矩阵m中每一行的最大值组成数组max,最后在查找出数组max中的最小值,利用最大最小策略的基本思想,结合外生变量本身的特征,使得引入的独立性判定参数是一个自适应的参数值,从而避免了传统算法对独立性值差异敏感而导致识别率低的问题,而且也避免了不同数据集对固定独立性参数敏感而导致无法识别的缺陷,有效地提高了外生变量的辨识度。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单说明。显然,所描述的附图只是本发明的一部分实施例,而不是全部实施例,本领域的技术人员在不付出创造性劳动的前提下,还可以根据这些附图获得其他设计方案和附图。

图1是本发明外生变量识别方法的流程图。

具体实施方式

以下将结合实施例和附图对本发明的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本发明的目的、特征和效果。显然,所描述的实施例只是本发明的一部分实施例,而不是全部实施例,基于本发明的实施例,本领域的技术人员在不付出创造性劳动的前提下所获得的其他实施例,均属于本发明保护的范围。本发明创造中的各个技术特征,在不互相矛盾冲突的前提下可以交互组合。

参照图1,为解决现有技术中人工智能系统对外生变量的识别方法存在适应性和可靠性不足的缺陷,本发明提供一种自适应的外生变量识别方法,包括以下步骤:

步骤a.设定数据集x=[x1,x2,…xn],其中数据集中每个变量xn,包含m个样本数据,设定矩阵m,矩阵m所有元素为inf,设定一个数组max;

步骤b.计算数据集xi与其余所有数据xj做最小二乘回归运算,其中j≠i,得到残差

步骤c.计算xi与所有残差的互信息其中j≠i;

步骤d.将步骤c中所述替换到矩阵m的第i行第j列的元素;

步骤e.计算矩阵m中第i行中的最大值,存放在数组max中,记为max(i);

步骤f.在数组max中找出最小值,记为λ;

步骤g.根据λ的值,找出独立于其余所有残差的变量即为外生变量。

具体地,本发明所述外生变量识别方法将矩阵m中每一行的最大值组成数组max,最后在查找出数组max中的最小值,利用最大最小策略的基本思想,结合外生变量本身的特征,使得引入的独立性判定参数是一个自适应的参数值,从而避免了传统算法对独立性值差异敏感而导致识别率低的问题,而且也避免了不同数据集对固定独立性参数敏感而导致无法识别的缺陷,有效地提高了外生变量的辨识度。

进一步作为优选的实施方式,本发明创造所述步骤b中,计算残差的公式如下,其中所述用于衡量xi与xj的总体误差,所述var(xi)用于计算xi的协方差。所述步骤b中需要依靠变量xn中的m个样本数据才能够计算出残差即所述残差的计算过程中需要结合外生变量的特征,使得在接下来步骤中所引入的独立性判断参数λ能够具备自适应的功能,对于任何的样本数据都适用,从而提高了外生变量的识别率。

进一步作为优选的实施方式,本发明创造中所述步骤c中,利用核方法计算xi与所有残差的互信息计算公式如下:其中所述

其中所述p,q=1,2,3…m;所述i是单位矩阵;当m>1000时,核宽度k=2×10-3;当m≤1000时,核宽度σ=1,k=2×10-2。步骤c中利用核方法计算xi与所有残差的互信息所述互信息可以看成是一个随机变量中包含的关于另一个随之变量的信息量。本方法将所计算得到的互信息全部替换到矩阵m中的元素,之后找出矩阵m中每一行的最大值,并存放在数组max中,接着找出数组max中的最小值,记为λ,即找出使得只有一个变量都独立于所有残差的最大阈值,此时所述λ就是独立性参数值,最后再根据λ找出独立于其余所有残差的变量记为外生变量。现有技术中需要两两地去比较变量与所有变量残差的独立性,并以求和的方式取得最小值对应的变量作为外生变量,而本发明所述的识别方法利用最大最小策略的思想,引入一个自适应的λ作为独立性判断参数,避免了传统方法对独立性差异敏感而导致识别率低的问题,同时也避免了不同数据集对固定独立性参数敏感而导致无法识别的缺陷,提高外生变量的识别率。

参照图1,本发明外生变量识别方法具体实施例中识别流程步骤如下:

步骤s01:输入观察数据集xn,数据集中每个变量包括m个样本数据;

步骤s02:设定元素为inf的矩阵m,设定数组max;

步骤s03:设定参数i=1;

步骤s04:设定参数j=1;

步骤s05:判断j是否不等于i,如果是,继续往下执行,如果不是,跳转到步骤s07;

步骤s06:计算数据集中变量xi与变量xj做最少二乘回归运算,得到残差

步骤s07:j=j+1,判断j是否小于等于n,如果是,返回步骤s05,如果不是继续往下执行;

步骤s08:i=i+1,判断i是否小于等于n,如果是,返回步骤s04,如果不是继续往下执行;

步骤s09:设定参数i=1;

步骤s10:设定参数j=1;

步骤s11:判断j是否不等于i,如果是,继续往下执行,如果不是,跳转到步骤s14;

步骤s12:计算xi与所有残差的互信息

步骤s13:将所述替换到矩阵m的第i行第j列的元素;

步骤s14:j=j+1,判断j是否小于等于n,如果是,返回步骤s12,如果不是继续往下执行;

步骤s15:i=i+1,判断i是否小于等于n,如果是,返回步骤s10,如果不是继续往下执行;

步骤s16:计算矩阵m中第i行中的最大值,存放在数组max中;

步骤s17:在数组max中找出最小值,记为λ;

步骤s18:根据λ的值,找出独立于其余所有残差的变量即为外生变量。

以上对本发明的较佳实施方式进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可作出种种的等同变型或替换,这些等同的变型或替换均包含在本申请权利要求所限定的范围内。

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