本发明涉及数据挖掘技术领域,尤其是一种基于叶子节点优先选择的因果网络结构推断方法。
背景技术:
在互联网、生物信息学、经济学等领域中,贝叶斯网络(bayesiannetworks,bn)的因果推断与估计工作,一直是备受学者关注的热点和难点。
从根节点(外生变量)出发,根据外生变量的特征,逐一选取外生变量,得到正序的因果网络次序,是当今因果网络确定因果次序的方法之一,但相关的算法计算复杂度高,其原因主要在于外生变量独立性最强的性质,即在理想状态下,没有可观测变量影响外生变量,且外生变量有可能对其余所有的可观测变量存在影响,导致在递归选取新外生变量的过程之前,算法需要先去除所选外生变量对其余变量的影响,方可使用对应算法选取下一个新的外生变量。
mooijj于2009年发表的利用最小化独立性的回归算法进行因果推断一文中,提到叶子节点的选取是通过变量与残差的独立性度量进行的,先计算每个变量与其余所有变量的残差,再计算该残差与其余所有变量的独立性,从而得到该变量的独立性指标。
tashirot于2014年发表的parcelingam一文中的引理指出,判断为叶子节点的充分必要条件是当且仅当该变量与其余所有变量的残差,独立于除去该变量的其余所有变量。
根据以上分析可知,两种算法都是从回归的角度出发,以变量向量的形式计算残差,再判断残差与变量向量的独立性。由此可知,当维度不断增大时,以上算法依赖于高维的回归方法和独立性判断,计算量大,而且结果不准确,容易得出错误的结果。
技术实现要素:
针对现有技术的不足,本发明提供一种基于叶子节点优先选择的因果网络结构推断方法,通过计算每一变量与其余变量在该变量上的回归残差两者之间的独立性,寻找独立性最弱的变量作为叶子节点,从而建立了一个新型的叶子节点优先选取模型,大大减小了计算量
本发明的技术方案为:一种基于叶子节点优先选择的因果网络结构推断方法,包括以下步骤:
s1)、给定数据集x={x1,x2,…xn},以及设置因果次序集合k=φ与集合v=φ;
s2)、依次对每个变量xi(i=1,2,…n)做独立性检验,并且将与变量xi(i=1,2,…n)不独立的变量xk加入到集合v中;
s3)、对每个变量xi与其他所有变量xj(i≠j)作线性回归,计算得到残差rij,残差rij计算式如下:
其中,cov(xi,xj)为变量xi和变量xj之间的协方差,var(xj)为变量xj的标准差;
s4)、利用最大熵函数h(x)计算每个变量xi与其他所有变量xj(i≠j)的似然比mi,j,从而估计变量之间的独立性,其表达式为:
s5)、根据似然比mi,j构建叶子节点特征模型,通过模型获取叶子节点,其表达式为:
其中,mi,j表示变量xi与变量xj的似然比,t表示与变量xj不独立变量的数量;
当且仅当xj与其余所有残差rij都不独立,变量xj为叶子节点,并通过max(mi),i∈{1,...,n}获取第一个叶子节点,并将第一叶子节点对应的mi加入到因果次序集合k中;
s6)、去除第一叶子节点xi,通过max(mi),i∈{1,...,n}比较其他变量xj对应的mj的大小,计算得到第二个叶子节点,并将第二叶子节点对应的mj加入到因果次序集合k中;
s7)、重复步骤s6),依次计算得到所有的叶子节点,并将相应叶子节点对应的mi加入到因果次序集合k中;
s8)、将因果次序集合k中的mi,i∈{1,...,n}按照从小到大的顺序依次进行排序,然后依次提取出mi,i∈{1,...,n}对应的下标i,并用提取出的下标i替换相应的mi;
s9)、对因果次序集合k中的每个下标i所对应的变量xi,与其父亲变量进行多元最小二乘法回归,若其回归系数等于0或趋向于0,则将变量xj指向xi的边剪去;
s10)、输出因果次序网络推断图。
上述技术方案中,步骤s5)中,还包括,
如果变量xj是叶子节点,那么对于其他所有与xj不独立的变量xi,都满足xj不独立rij;
如果变量xj是非叶子节点,那么一定存在一个相邻变量xi,满足rij独立于xj。
本发明的有益效果为:设计合理、使用方便,通过叶子节点的特征模型,从而优先选择叶子节点,依次找出整个网络结构的因果次序,再对结果进行剪枝操作,从而获取完整的因果网络结构,本发明无需迭代分析变量与其余变量的残差两者之间的独立性,也无需迭代去除选取节点对其余节点的影响,从而大大降低了计算复杂度,特别是在维度较高的情况下,大大降低计算量的效果更加明显,另外,本发明方法可以有效避免当前算法在父亲节点较多的情况下,计算结果不准确容易选择错误的问题,具有更好的理论性、可靠性与实用性。
附图说明
图1为本发明的流程示意图;
图2为本发明实施例的因果次序网络推断图;
具体实施方式
下面结合附图对本发明的具体实施方式作进一步说明:
如图1所示,本实施例提供一种基于叶子节点优先选择的因果网络结构推断方法,包括以下步骤:
s1)、给定数据集x={x1,x2,x3,x4,x5,x6},以及设置因果次序集合k=φ与集合v=φ,其中,数据集x的各个变量分别表示(父亲教育水平、儿子收入、父亲职位、儿子职位、儿子教育水平、家庭兄弟数量);
s2)、依次对每个变量xi(i=1,2,…6)做独立性检验,并且将与变量xi(i=1,2,…6)不独立的变量xk加入到集合v中;
s3)、对每个变量xi与其他所有变量xj(i≠j)作线性回归,计算得到残差rij,残差rij计算式如下:
其中,cov(xi,xj)为变量xi和变量xj之间的协方差,var(xj)为变量xj的标准差;
s4)、利用最大熵函数h(x)计算每个变量xi与其他所有变量xj的似然比mi,j,从而估计变量之间的独立性,其表达式为:
s5)、根据似然比mi,j构建叶子节点的累积量度量模型,从而获取叶子节点,其表达式为:
其中,mi,j表示变量xi与变量xj的似然比,t表示与变量xj不独立变量的数量;
当且仅当xj与其余所有残差rij都不独立,变量xj为叶子节点,并通过max(mi),i∈{1,2,...,6}获取第一个叶子节点,并将第一叶子节点对应的mi加入到因果次序集合k中;
s6)、去除第一叶子节点xi,通过max(mi),i∈{1,2,...,6}比较其他变量xj对应的mj的大小,计算得到第二个叶子节点,并将第二叶子节点对应的mj加入到因果次序集合k中;
s7)、重复步骤s6),依次计算得到所有的叶子节点,并将相应叶子节点对应的mi加入到因果次序集合k中;
s8)、将因果次序集合k中的mi,i∈{1,2,...,6}按照从小到大的顺序依次进行排序,然后依次提取出mi,i∈{1,2,...,6}对应的下标i,并用提取出的下标i替换相应的mi,从而得到k=[1,6,3,5,4,2};
s9)、对因果次序集合k中的每个下标i所对应的变量xi,与其父亲变量进行多元最小二乘法回归,若其回归系数等于0或趋向于0,则将变量xj指向xi的边剪去;
s10)、输出因果次序网络推断图,如图2所示。
上述技术方案中,步骤s5)中,还包括,
如果变量xj是叶子节点,那么对于其他所有与xj不独立的变量xi,都满足xj不独立rij;
如果变量xj是非叶子节点,那么一定存在一个相邻变量xi,满足rij独立于xj。
上述实施例和说明书中描述的只是说明本发明的原理和最佳实施例,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。