1.本技术涉及数据挖局技术领域,特别是涉及一种因果关系分析方法、装置及电子设备。
背景技术:2.当前,复杂的因果关系主要包括三种:并发因果关系、等效因果关系以及非对称因果关系。其中,并发因果关系描述的是因果之间非线性的概念,比如前因变量a与结果之间是没有相关性的,但是当前因变量a与另一个前因变量b同时作用的时候,这一对前因变量组便与结果之间具有相关性;等效因果关系描述的是前因变量组多样性的概念,比如不同的前因变量组都可以引起相同的结果;非对称因果关系描述的是前因变量的是否存在,对于结果的作用不是镜像对立的。
3.当前对这些复杂的因果关系进行分析,主要是基于集合理论和布尔代数的因果关系分析法来完成的,其中,这种因果关系分析法的典型代表为定性比较分析法(qualitative comparative analysis,qca),qca方法的研究对象是前因变量与结果的组合,其核心是采用布尔代数来简化前因变量与结果之间的关系。
4.比如,若要分析社会现象y是否由条件1、条件2及条件3产生,那么就需要将收集的事例转化为真值表及真值表对应的布尔表达式,若转化的布尔表达式为(a+b+c)|(a+b+c)|(a+b+c)=y,其中,y表示结果已经发生,前因变量a表示条件1存在,前因变量a表示条件1不存在,前因变量b表示条件2存在,前因变量b表示条件2不存在,前因变量c表示条件3存在,前因变量c表示条件3不存在。根据布尔代数算法,可以将布尔表达式简化为(a+b+c)|(a+b)=y。
5.虽然qca方法可以实现对上述复杂的因果关系进行分析,但是这种算法需要枚举所有的因果关系组合形式,然后才能进行布尔简化,所以因果组合对应的数据量越来越大时,该算法的运算时间将会越来越低,进而影响因果关系分析效率。
技术实现要素:6.本技术公开了一种因果关系分析方法、装置及电子设备,在无需枚举所有的因果关系组合形式的情况下,根据前因变量对生成结果的必要性,确定目标结果对应的前因变量组,进而提高因果关系分析效率。此外,通过对目标结果对应的变量组进行简化,还可以实现对因果关系分析结果的简化。
7.第一方面,本技术提供了因果关系分析方法,所述方法包括:
8.在目标数据集中获取各个前因变量,以及各个前因变量对应的第一结果;
9.计算各个前因变量分别对应的必要值,其中,所述必要值表征对第一结果生成的必要程度;
10.根据各个必要值,对第一结果中目标结果对应的各个第一前因变量组进行简化,得到各个第二前因变量组;
11.将各个第二前因变量组,作为所述目标数据集对应的因果关系分析结果。
12.通过上述方法,在无需枚举所有的因果关系组合形式的情况下,根据前因变量对生成结果的必要性,确定目标结果对应的前因变量组,进而提高因果关系分析效率。此外,通过对目标结果对应的变量组进行简化,还可以实现对因果关系分析结果的简化。
13.在一种可能的设计中,所述根据各个必要值,对第一结果中目标结果对应的各个第一前因变量组进行简化,得到各个第二前因变量组,包括:
14.在所述目标结果对应的前因变量集合中,根据各个前因变量分别对应的目标中心度,其中,所述目标中心度表征各个前因变量之间的相对重要性;
15.根据各个必要值以及各个目标中心度,计算得到各个前因变量分别对应的冗余程度值;
16.根据各个冗余程度值,对第一结果中目标结果对应的各个第一前因变量组进行简化,得到各个第二前因变量组。
17.通过上述方法得到的第二前因变量组,不仅通过必要值考虑了各个前因变量对目标结果生成的直接影响力,还考虑了各个前因变量之间的相对重要性,进而有助于提高因果关系分析的准确性。
18.在一种可能的设计中,所述根据各个冗余程度值,对第一结果中目标结果对应的各个第一前因变量组进行简化,得到各个第二前因变量组,包括:
19.根据各个冗余程度值,在所述目标数据集中确定出所述目标结果对应的各个第一前因变量组;
20.判断各个第一前因变量组中是否存在目标前因变量;
21.若存在,则将各个第一前因变量组中的目标前因变量删除,得到各个第二前因变量组,其中,所述第二前因变量组与各个第一结果中的非目标结果对应的各个前因变量组不存在交集。
22.通过上述方法,将前因变量组中对目标结果影响较小的目标前因变量删除,可以实现在不影响因果关系分析准确性的情况下,简化因果关系分析结果。
23.在一种可能的设计中,所述根据各个冗余程度值,在所述目标数据集中确定出所述目标结果对应的各个第一前因变量组,包括:
24.按照各个冗余程度值从低到高的顺序,在目标数据集中的各个前因变量中确定出当前的候选前因变量组;
25.判断在所述非目标结果对应的各个前因变量组中,是否存在所述候选前因变量组;
26.若否,则将所述候选前因变量组作为所述第一前因变量组;
27.若是,则在各个前因变量中继续确定下一个第一前因变量组。
28.通过上述方法,在目标数据集中确定出目标结果对应的各个前因结果变量组,进而避免对所有的因果关系形式进行枚举分析,降低因果关系分析工作量,提高因果关系分析效率。
29.在一种可能的设计中,所述将各个第二前因变量组,作为所述目标数据集对应的因果关系分析结果,包括:
30.判断当前各个第二前因变量组,是否包含所述目标结果对应的所有未重复前因变
量组;
31.若是,则将当前各个第二前因变量组作为所述目标数据集对应的因果关系分析结果;
32.若否,则继续确定下一个第二前因变量组。
33.通过上述方法,在不影响因果关系分析结果准确性的情况下,可以实现对因果关系分析结果的简化。
34.第二方面,本技术提供了一种因果关系分析装置,所述装置包括:
35.获取模块,用于在目标数据集中获取各个前因变量,以及各个前因变量对应的第一结果;
36.计算模块,用于计算各个前因变量分别对应的必要值,其中,所述必要值表征对第一结果生成的必要程度;
37.简化模块,用于根据各个必要值,对第一结果中目标结果对应的各个第一前因变量组进行简化,得到各个第二前因变量组;
38.确定模块,将各个第二前因变量组,作为所述目标数据集对应的因果关系分析结果。
39.在一种可能的设计中,所述简化模块包括:
40.计算单元,用于在所述目标结果对应的前因变量集合中,根据各个前因变量分别对应的目标中心度,其中,所述目标中心度表征各个前因变量之间的相对重要性;根据各个必要值以及各个目标中心度,计算得到各个前因变量分别对应的冗余程度值;
41.简化单元,用于根据各个冗余程度值,对第一结果中目标结果对应的各个第一前因变量组进行简化,得到各个第二前因变量组。
42.在一种可能的设计中,所述简化单元具体用于:
43.根据各个冗余程度值,在所述目标数据集中确定出所述目标结果对应的各个第一前因变量组;
44.判断各个第一前因变量组中是否存在目标前因变量;
45.若存在,则将各个第一前因变量组中的目标前因变量删除,得到各个第二前因变量组,其中,所述第二前因变量组与各个第一结果中的非目标结果对应的各个前因变量组不存在交集。
46.在一种可能的设计中,所述简化单元还用于:
47.按照各个冗余程度值从低到高的顺序,在目标数据集中的各个前因变量中确定出当前的候选前因变量组;
48.判断在所述非目标结果对应的各个前因变量组中,是否存在所述候选前因变量组;
49.若否,则将所述候选前因变量组作为所述第一前因变量组;
50.若是,则在各个前因变量中继续确定下一个第一前因变量组。
51.在一种可能的设计中,所述确定模块具体用于:
52.判断当前各个第二前因变量组,是否包含所述目标结果对应的所有未重复前因变量组;
53.若是,则将当前各个第二前因变量组作为所述目标数据集对应的因果关系分析结
果;
54.若否,则继续确定下一个第二前因变量组。
55.第三方面,本技术提供了一种电子设备,包括:
56.存储器,用于存放计算机程序;
57.处理器,用于执行所述存储器上所存放的计算机程序时,实现上述因果关系分析方法步骤。
58.第四方面,本技术提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述因果关系分析方法步骤。
59.基于上述因果关系分析方法,在无需枚举所有的因果关系组合形式的情况下,根据前因变量对生成结果的必要性以及各个前因变量分别对应的目标中心度,确定目标结果对应的前因变量组,不仅考虑了各个前因变量对目标结果生成的直接影响力,还考虑了各个前因变量之间的相对重要性,进而提高因果关系分析效率以及分析准确性。此外,通过对目标结果对应的变量组进行简化,还可以实现对因果关系分析结果的简化。
60.上述第二方面至第四方面中的各个方面以及各个方面可能达到的技术效果参照上述针对第一方面或者第一方面中的各种可能方案可以达到的技术效果说明,这里不再重复赘述。
附图说明
61.图1为本技术提供的一种因果关系分析方法的流程图;
62.图2为本技术提供的一种因果关系分析模型的结构示意图;
63.图3为本技术提供的一种因果关系分析装置的结构示意图;
64.图4为本技术提供的一种电子设备结构示意图。
具体实施方式
65.为了使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术作进一步地详细描述。方法实施例中的具体操作方法也可以应用于装置实施例或系统实施例中。需要说明的是,在本技术的描述中“多个”理解为“至少两个”。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。a与b连接,可以表示:a与b直接连接和a与b通过c连接这两种情况。另外,在本技术的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
66.下面结合附图,对本技术实施例进行详细描述。
67.当前对一些比较复杂的因果关系进行分析,主要是基于集合理论和布尔代数的因果关系分析法来完成的,其中,这种因果关系分析法的典型代表为定性比较分析法(qualitative comparative analysis,qca),qca方法的研究对象是前因变量与结果的组合,其核心是采用布尔代数来简化前因变量与结果之间的关系。
68.举例来讲,在分析某社会现象y是否由前因变量a、b、c所产生时,就需要观察并收集事例,并将事例转换成真值表和对应的布尔表达式。具体的,当某条件存在时,前因变量用大写字母表示,比如字母a,并赋值为1。相反,当某条件不存在时,前因变量用小写字母来
表示,比如字母a,并赋值为0。
69.接下来,将各个前因变量和结果根据事例进行组合,得到的真值表如表1所示:
[0070][0071]
表1:事例真值表
[0072]
根据表1,进一步得到布尔表达式为:(a+b+c)|(a+b+c)|(a+b+c)=y;(a+b+c)|(a+b+c)=y。
[0073]
其中,“|”表示“或”、“+”表示“和”、“=”表示“导致”。
[0074]
进一步,通过集合图示法,可以将布尔表达式(a+b+c)|(a+b+c)|(a+b+c)=y简化成:(a+b+c)|(a+b)=y。简化后的布尔表达式,表示当b存在且a和c不存在时,结果y产生。或者当a与b同时存在时,结果y产生。
[0075]
qca方法通过将布尔代数式合并压缩,从而获得多组最精简的前因变量和结果变量的组合。可以实现用于分析复杂的因果关系,但是这种算法需要枚举所有的因果组合形式之后,才能进行布尔简化,所以当数据量变得越来越大时,将会严重影响因果关系分析效率。
[0076]
为了解决上述问题,本技术提供了一种因果关系分析方法,在无需枚举所有的因果关系组合形式的情况下,根据前因变量对生成结果的必要性以及各个前因变量分别对应的目标中心度,确定目标结果对应的前因变量组,不仅考虑了各个前因变量对目标结果生成的直接影响力,还考虑了各个前因变量之间的相对重要性,进而提高因果关系分析效率以及分析准确性。此外,通过对目标结果对应的变量组进行简化,还可以实现对因果关系分析结果的简化。其中,本技术实施例所述方法和装置基于同一技术构思,由于方法及装置所解决问题的原理相似,因此装置与方法的实施例可以相互参见,重复之处不再赘述。
[0077]
如图1所示,为本技术提供的一种因果关系分析方法的流程图,具体包括如下步骤:
[0078]
s11,在目标数据集中获取各个前因变量,以及各个前因变量对应的第一结果;
[0079]
在本技术实施例中,目标数据集以事例真值表的形式来存在,事例真值表中包含各种前因变量,以及各个前因变量对应的第一结果,其中,前因变量以及第一结果通过数值1或0来表达。当然,目标数据集还可以是其他的形式来存在,只要能够实现对统计事例的前因变量,以及各个前因变量对应的第一结果进行存储即可。
[0080]
通过上述目标数据集,便可以获取得到统计事例的各个前因变量,以及各个前因变量对应的第一结果。
[0081]
s12,计算各个前因变量分别对应的必要值;
[0082]
在获取得到各个前因变量,以及各个前因变量对应的第一结果以后,为了分析各个前因变量对第一结果的生成是否为必要的,或者各个前因变量对第一结果生成的必要程度,那么就需要计算各个前因变量分别对应的必要值,在本技术实施例中,计算必要值的具体方法可以通过公式(1)来表达:
[0083]
n=p(0|0)+p(1|1)-p(0|1)-p(1|0)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
[0084]
其中,n为必要值;p(0|0)表示前因条件没有出现,且结果没有生成时,前因条件没有出现对应的前因变量出现概率;p(1|1)表示前因条件出现,且第一结果生成时,前因条件出现对应的前因变量出现概率;p(0|1)表示前因条件没有出现,且第一结果生成时,前因条件没有出现对应的前因变量出现概率;p(1|0)表示前因条件出现,且第一结果没有生成时,前因条件出现对应的前因变量出现概率。其中,前因条件出现和前因条件没有出现,各自对应着一个前因变量。
[0085]
根据公式(1)可知,如果一个前因变量对于第一结果是必要的,那么当第一结果出现时,该前因变量出现的概率为1,即p(v=1|o=1)=1,其中,v表示前因条件没有出现对应的前因变量v,o表示第一结果。
[0086]
同时,按照公式(1)还可知,即使一个前因变量对于第一结果是必要的,但是这个前因变量在第一结果不存在时也存在,即p(v=1|o=0)≠0,那么这个前因变量就被认为是微不足道的。
[0087]
通过上述方法,可以计算出各个前因变量分别对应的必要值,进而可以分析出各个前因变量对于第一结果生成的必要程度,进而确定出各个前因变量对第一结果生成的直接影响。
[0088]
s13,根据各个必要值,对第一结果中目标结果对应的各个第一前因变量组进行简化,得到各个第二前因变量组;
[0089]
在得到各个前因变量对应的必要值以后,在本技术实施例中,还需确定出第一结果中的目标结果,其中,目标结果为第一结果中已经发生的结果,在第一结果中的目标结果对应的前因变量集合可以是正集群,如表1所示,y值为1对应的前因变量集合为一个正集群。
[0090]
进一步,为了提高因果分析准确性,还需确定目标结果对应的前因变量集合中各个前因变量之间的相对重要性。
[0091]
举例来讲,前因变量a、前因变量b以及前因变量c共同导致目标结果y发生,此时,可以确定前因变量a、前因变量b以及前因变量c对目标结果y的发生产生了直接的影响,但是这三个前因变量对目标结果y的产生所贡献的力量大小无从得知,因此,需要进一步分析前因变量a、前因变量b以及前因变量c之间的相对重要性。如果前因变量a、前因变量b以及前因变量c对目标结果生成所贡献力量大小的比例分别为50%、30%、20%,那么可以将三个前因变量按照相对重要性排序为a》b》c。
[0092]
在本技术实施例中,目标结果对应的前因变量集中各个前因变量之间的相对重要性,主要通过目标中心度来体现,其中,目标中心度是根据各个前因变量分别对应的接近中心度(closeness centrality)及中介中心度(betweenness centrality),来计算得到。为了便于理解,下面对接近中心度和中介中心度进行简单的介绍:
[0093]
接近中心度,指示一个节点在整个结构中所处的位置,一个前因变量和结果之间的组合,就相当于一个节点,如果该节点与其他节点之间的距离都很小,那么这个节点的接近中心度就很高,其中,接近中心度c1=1/di,n为大于1的整数;中介中心度,指示一个节点承担桥梁作用的大小,中介中心度高的节点在网络中往往存在于其他点之间最短路径上。
[0094]
基于接近中心度以及中介中心度,计算目标中心度,所采用的具体计算公式为:
[0095]
c=k1×
c1+k1×
c2ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
[0096]
在公式(2)中,c为目标中心度;c1为接近中心度;c2为中介中心度;k1为接近中心度系数;k2为中介中心度系数。
[0097]
在得到目标中心度以后,进一步,根据各个必要值以及各个目标中心度,计算得到各个前因变量分别对应的冗余程度值,其中,冗余程度值表征前因变量的冗余程度,当冗余程度值越高时,表明该冗余程度值对应的前因变量对于结果生成的影响越小。在本技术实施例中,冗余程度值的具体计算公式为:
[0098]
r=[k3×
c+k4×
m]
×fꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0099]
在公式(3)中,r表示冗余程度值;c为目标中心度;m为必要值;k3为目标中心度系数;k4为必要值系数;f为前因变量在目标结果对应的前因变量集合出现的频率。
[0100]
进一步,根据各个冗余程度值,对第一结果中目标结果对应的各个第一前因变量组进行简化,得到各个第二前因变量组。
[0101]
具体的,根据各个冗余程度值,在目标数据集中确定出目标结果对应的各个第一前因变量组。具体来讲:先按照各个冗余程度值从低到高的顺序,在目标数据集中的各个前因变量中确定出当前的候选前因变量组,该候选变量组至少包含一个前因变量;接下来,判断在第一结果中的非目标结果对应的各个前因变量组中,是否存在上述候选前因变量组;若不存在,则将候选前因变量组作为第一前因变量组,同时,将候选前因变量对应的前因变量组暂时性移除后,继续确定下一个第一前因变量组;若存在,则在各个前因变量中继续确定下一个第一前因变量组。
[0102]
如表1所示,若目标结果为1,则目标结果对应的各个第一前应变量组为(a=0,b=1,c=0)、(a=1,b=1,c=0)、(a=1,b=1,c=1),用布尔表达式,这3个第一前因变量组可以分别用(a+b+c)、(a+b+c)、(a+b+c)来表示。
[0103]
通过上述方法确定出的各个第一前因变量组,在考虑了目标结果对应的各个前因变量对目标结果生成的直接影响力之外,还考虑了各个前因变量之间的相对重要性,进而可以提高因果关系分析准确性。
[0104]
在得到各个第一前因变量组之后,进一步,判断各个第一前因变量组中是否存在目标前因变量;若存在,则将各个第一前因变量组中的目标前因变量删除,得到各个第二前因变量组,其中,第二前因变量组与各个第一结果中的非目标结果对应的各个前因变量组不存在交集。在这个过程中,若第二前因变量组与非目标结果对应的各个前因变量组存在交集,则该目标变量确定错误。通过这种方法,可以对目标结果对应的各个第一前因变量组进行简化,得到各个第二前因变量组。
[0105]
s14,将各个第二前因变量组,作为目标数据集对应的因果关系分析结果。
[0106]
在本技术实施例中,目标结果对应的各个第二前因变量组是逐一确定的,在每次得到一个第二前因变量组以后,判断当前各个第二前因变量组,是否包含目标结果对应的所有未重复前因变量组,这是因为在目标数据集中,一个目标结果对应的各个前因变量组之间可能会存在重复。
[0107]
若当前各个第二前因变量组,已经包含目标结果对应的所有未重复前因变量组;则将当前各个第二前因变量组作为目标数据集对应的因果关系分析结果;否则,则继续确定下一个第二前因变量组。
[0108]
通过上述因果分析方法,在无需枚举所有的因果关系组合形式的情况下,根据前因变量对生成结果的必要性以及各个前因变量分别对应的目标中心度,确定目标结果对应的前因变量组,不仅考虑了各个前因变量对目标结果生成的直接影响力,还考虑了各个前因变量之间的相对重要性,进而提高因果关系分析效率以及分析准确性。此外,通过对目标结果对应的变量组进行简化,还可以实现对因果关系分析结果的简化。
[0109]
为了更加详细阐述本技术实施例所提供的一个因果关系分析方法,下面通过具体的应用场景对上述因果关系分析方法进行说明。
[0110]
以用户增长的因果关系分析为例,当前需要分析用户增长数量是否由前因变量h0~h9所产生的,因此,本应用场景中收集了29条事例,并将收集的29条事例转化为真值表,如表2所示:
[0111]
[0112][0113]
表2用户增长事例真值表
[0114]
接下来,通过如图2所示的因果关系分析模型的结构示意图,对表2所示的真值表数据进行因果关系分析,其中,图2所示的因果关系模型是根据图1所示的因果关系分析方法得到。
[0115]
接下来,为了便于理解,在对图2所示的因果关系模型对应的因果关系分析过程进行展开说明之前,先结合表2对如下的技术概念进行解释说明:
[0116]
极小项(minterm):由多个前因条件变量和一个结果变量组成的逻辑组合,且每个变量都是二分的,如表2中的任一行。
[0117]
正集群(on-set):极小项的结果变量为1的所有极小项所组成的集群,也就是图1所示实施例中目标数据对应的前因变量集合。
[0118]
负集群(off-set):极小项对的结果变量为0所有极小项所组成的集群,也就是图1所示实施例中非目标数据对应的前因变量集合。
[0119]
蕴涵项(implicant):由多个前因条件变量组合组成,且整体可以覆盖正集群中的所有极小项。举例来讲,布尔表达式(a+b+c)|(a+b+c)|(a+b+c)=y中的任一前因变量组合均为一个蕴含项。
[0120]
接下来,对图2所示的因果关系模型对应的因果关系分析过程进行展开说明:
[0121]
在将表2所示的真值表转化为布尔表达式之后,使用覆盖定向搜索(coverage directed search,cds)层,在真值表中找到多条蕴含项来覆盖正集群,此处相当于图1所示
实施例中的确定目标结果对应的前因变量集合。
[0122]
在确定每个蕴含项时,结合公式(2)计算每个前因变量对应的接近中心度、中介中心度以及必要值。计算结果如表3所示:
[0123][0124]
表3 cds层计算结果
[0125]
各个前因变量在正集群中的频率如表4所示:
[0126][0127][0128]
表4各个前因变量频率
[0129]
根据表3和表4中的数据,根据公式(3)可进一步计算出各个前因变量对应的冗余程度值,如表5所示:
[0130][0131]
表5冗余程度值及优选分数值
[0132]
在表5中,冗余程度值越高,对应的优选分数越低,根据表5中的计算结果可知,前因变量h4具备最高的优选分数,因此将h4作为第一个候选变量来构建蕴含项。接着,进一步分析h4是否与负集群有交集,也就是判断h4是否出现在负集群中。负集群表如表6所示:
[0133]
h0h1h2h3h4h5h6h7h8h9111001100011110100001111010000101000110000100011000111001100010001010001000101000100010101001101101100100110110110011011
[0134]
表6负集群表
[0135]
从表6中可以看出,h4与负集群表没有交集,因此h4可以用于构建蕴含项,因此,下一步需将被h4覆盖的极小项暂时溢出,找出下一个用于构造蕴含项的前因变量。
[0136]
通过上述方法,最终得到的各个蕴含项分别为:
[0137]
蕴含项1:h4;
[0138]
蕴含项2:h0,h8;
[0139]
蕴含项3:h0,h1,~h5;
[0140]
蕴含项4:h0,~h2。
[0141]
上述蕴含项1~4,相当于图1所示实施例中的目标结果对应的各个前因变量组,其中,~h5表示变量h5取值为0,~h2表示h2取值为0。在得到上述蕴含项1~4之后,下一步,根据因果关系分析模型的隐含扩张(implicant expansion,ie)层,确定每一个蕴含式对应的素蕴含式,也就是图1所示实施例中目标结果对应的第二前因变量组。
[0142]
并且,进一步根据因果分析模型的覆盖问题解决方案(covering problem solution,cps)对各个素蕴含式进行处理。因为一个在正集群中的极小项可能会被多个素蕴涵项所覆盖,所以并不是所有素蕴涵项都是必须保留在最后的分析结果中的。因此,cps层会运用lcmc(least covered,most covering)衡量法,来决定哪些素蕴涵式会被保留,从
而得出本质素蕴涵式。lcmc的思路是计算出每一个素蕴涵式可以覆盖极小项的个数,优先选择覆盖个数多的素蕴涵式来形成本质量蕴涵式。当产生的本质蕴涵式已经可以覆盖正集群时,算法就会停止。这个过程相当于图1所示实施例中步骤s14所阐述的内容。
[0143]
通过上述过程,最终得到的本质素蕴含式如下:
[0144]
本质素蕴涵式1:h4;
[0145]
本质素蕴涵式2:h0,h8;
[0146]
本质素蕴涵式3:h0,~h2;
[0147]
本质素蕴涵式4:h0,h1,~h5。
[0148]
其中,本质素蕴含式1表示:当h4出现时,用户数量增长;
[0149]
本质素蕴涵式2表示:当h0和h8同时出现时,用户数量增长;
[0150]
本质素蕴涵式3表示:当h0出现,且h2不出现时,用户数量增长;
[0151]
本质素蕴涵式4表示:当h0和h1同时出现,且h5不出现时,用户数量增长。
[0152]
通过上述因果分析方法,在无需枚举所有的因果关系组合形式的情况下,根据前因变量对生成结果的必要性,确定目标结果对应的前因变量组,进而提高因果关系分析效率。此外,通过对目标结果对应的变量组进行简化,还可以实现对因果关系分析结果的简化。
[0153]
基于同一发明构思,本技术实施例中还提供了一种因果关系分析装置,如图3所示,为本技术中一种因果关系分析装置的结构示意图,该装置包括:
[0154]
获取模块31,用于在目标数据集中获取各个前因变量,以及各个前因变量对应的第一结果;
[0155]
计算模块32,用于计算各个前因变量分别对应的必要值,其中,所述必要值表征对第一结果生成的必要程度;
[0156]
简化模块33,用于根据各个必要值,对第一结果中目标结果对应的各个第一前因变量组进行简化,得到各个第二前因变量组;
[0157]
确定模块34,将各个第二前因变量组,作为所述目标数据集对应的因果关系分析结果。
[0158]
在一种可能的设计中,所述简化模块33包括:
[0159]
计算单元,用于在所述目标结果对应的前因变量集合中,根据各个前因变量分别对应的目标中心度,其中,所述目标中心度表征各个前因变量之间的相对重要性;根据各个必要值以及各个目标中心度,计算得到各个前因变量分别对应的冗余程度值;
[0160]
简化单元,用于根据各个冗余程度值,对第一结果中目标结果对应的各个第一前因变量组进行简化,得到各个第二前因变量组。
[0161]
在一种可能的设计中,所述简化单元具体用于:
[0162]
根据各个冗余程度值,在所述目标数据集中确定出所述目标结果对应的各个第一前因变量组;
[0163]
判断各个第一前因变量组中是否存在目标前因变量;
[0164]
若存在,则将各个第一前因变量组中的目标前因变量删除,得到各个第二前因变量组,其中,所述第二前因变量组与各个第一结果中的非目标结果对应的各个前因变量组不存在交集。
[0165]
在一种可能的设计中,所述简化单元还用于:
[0166]
按照各个冗余程度值从低到高的顺序,在目标数据集中的各个前因变量中确定出当前的候选前因变量组;
[0167]
判断在所述非目标结果对应的各个前因变量组中,是否存在所述候选前因变量组;
[0168]
若否,则将所述候选前因变量组作为所述第一前因变量组;
[0169]
若是,则在各个前因变量中继续确定下一个第一前因变量组。
[0170]
在一种可能的设计中,所述确定模块34具体用于:
[0171]
判断当前各个第二前因变量组,是否包含所述目标结果对应的所有未重复前因变量组;
[0172]
若是,则将当前各个第二前因变量组作为所述目标数据集对应的因果关系分析结果;
[0173]
若否,则继续确定下一个第二前因变量组。
[0174]
基于上述因果关系分析装置,在无需枚举所有的因果关系组合形式的情况下,根据前因变量对生成结果的必要性,确定目标结果对应的前因变量组,进而提高因果关系分析效率。此外,通过对目标结果对应的变量组进行简化,还可以实现对因果关系分析结果的简化。
[0175]
基于同一发明构思,本技术实施例中还提供了一种电子设备,所述电子设备可以实现前述因果关系分析方法装置的功能,参考图4,所述电子设备包括:
[0176]
至少一个处理器41,以及与至少一个处理器41连接的存储器42,本技术实施例中不限定处理器41与存储器42之间的具体连接介质,图4中是以处理器41和存储器42之间通过总线40连接为例。总线40在图4中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线40可以分为地址总线、数据总线、控制总线等,为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。或者,处理器41也可以称为控制器,对于名称不做限制。
[0177]
在本技术实施例中,存储器42存储有可被至少一个处理器41执行的指令,至少一个处理器41通过执行存储器42存储的指令,可以执行前文论述因果关系分析方法。处理器41可以实现图3所示的装置中各个模块的功能。
[0178]
其中,处理器41是该装置的控制中心,可以利用各种接口和线路连接整个该控制设备的各个部分,通过运行或执行存储在存储器42内的指令以及调用存储在存储器42内的数据,该装置的各种功能和处理数据,从而对该装置进行整体监控。
[0179]
在一种可能的设计中,处理器41可包括一个或多个处理单元,处理器41可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器41中。在一些实施例中,处理器41和存储器42可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
[0180]
处理器41可以是通用处理器,例如中央处理器(cpu)、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本技术实施例中公开的各方法、步骤及逻辑框图。通用处理器可以
是微处理器或者任何常规的处理器等。结合本技术实施例所公开的因果关系分析方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
[0181]
存储器42作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器42可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(random access memory,ram)、静态随机访问存储器(static random access memory,sram)、可编程只读存储器(programmable read only memory,prom)、只读存储器(read only memory,rom)、带电可擦除可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、磁性存储器、磁盘、光盘等。存储器42是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本技术实施例中的存储器42还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
[0182]
通过对处理器41进行设计编程,可以将前述实施例中介绍的因果关系分析方法所对应的代码固化到芯片内,从而使芯片在运行时能够执行图1所示的实施例的因果关系分析方法的步骤。如何对处理器41进行设计编程为本领域技术人员所公知的技术,这里不再赘述。
[0183]
基于同一发明构思,本技术实施例还提供一种存储介质,该存储介质存储有计算机指令,当该计算机指令在计算机上运行时,使得计算机执行前文论述因果关系分析方法。
[0184]
在一些可能的实施方式中,本技术提供的因果关系分析方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在装置上运行时,程序代码用于使该控制设备执行本说明书上述描述的根据本技术各种示例性实施方式的因果关系分析方法中的步骤。
[0185]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0186]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0187]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0188]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计
算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0189]
显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
技术特征:1.一种因果关系分析方法,其特征在于,所述方法包括:在目标数据集中获取各个前因变量,以及各个前因变量对应的第一结果;计算各个前因变量分别对应的必要值,其中,所述必要值表征对第一结果生成的必要程度;根据各个必要值,对第一结果中目标结果对应的各个第一前因变量组进行简化,得到各个第二前因变量组;将各个第二前因变量组,作为所述目标数据集对应的因果关系分析结果。2.如权利要求1所述的方法,其特征在于,所述根据各个必要值,对第一结果中目标结果对应的各个第一前因变量组进行简化,得到各个第二前因变量组,包括:在所述目标结果对应的前因变量集合中,根据各个前因变量分别对应的目标中心度,其中,所述目标中心度表征各个前因变量之间的相对重要性;根据各个必要值以及各个目标中心度,计算得到各个前因变量分别对应的冗余程度值;根据各个冗余程度值,对第一结果中目标结果对应的各个第一前因变量组进行简化,得到各个第二前因变量组。3.如权利要求2所述的方法,其特征在于,所述根据各个冗余程度值,对第一结果中目标结果对应的各个第一前因变量组进行简化,得到各个第二前因变量组,包括:根据各个冗余程度值,在所述目标数据集中确定出所述目标结果对应的各个第一前因变量组;判断各个第一前因变量组中是否存在目标前因变量;若存在,则将各个第一前因变量组中的目标前因变量删除,得到各个第二前因变量组,其中,所述第二前因变量组与各个第一结果中的非目标结果对应的各个前因变量组不存在交集。4.如权利要求3所述的方法,其特征在于,所述根据各个冗余程度值,在所述目标数据集中确定出所述目标结果对应的各个第一前因变量组,包括:按照各个冗余程度值从低到高的顺序,在目标数据集中的各个前因变量中确定出当前的候选前因变量组;判断在所述非目标结果对应的各个前因变量组中,是否存在所述候选前因变量组;若否,则将所述候选前因变量组作为所述第一前因变量组;若是,则在各个前因变量中继续确定下一个第一前因变量组。5.如权利要求1所述的方法,其特征在于,所述将各个第二前因变量组,作为所述目标数据集对应的因果关系分析结果,包括:判断当前各个第二前因变量组,是否包含所述目标结果对应的所有未重复前因变量组;若是,则将当前各个第二前因变量组作为所述目标数据集对应的因果关系分析结果;若否,则继续确定下一个第二前因变量组。6.一种因果关系分析装置,其特征在于,所述装置包括:获取模块,用于在目标数据集中获取各个前因变量,以及各个前因变量对应的第一结果;
计算模块,用于计算各个前因变量分别对应的必要值,其中,所述必要值表征对第一结果生成的必要程度;简化模块,用于根据各个必要值,对第一结果中目标结果对应的各个第一前因变量组进行简化,得到各个第二前因变量组;确定模块,将各个第二前因变量组,作为所述目标数据集对应的因果关系分析结果。7.如权利要求6所述的装置,其特征在于,所述简化模块包括:计算单元,用于在所述目标结果对应的前因变量集合中,根据各个前因变量分别对应的目标中心度,其中,所述目标中心度表征各个前因变量之间的相对重要性;根据各个必要值以及各个目标中心度,计算得到各个前因变量分别对应的冗余程度值;简化单元,用于根据各个冗余程度值,对第一结果中目标结果对应的各个第一前因变量组进行简化,得到各个第二前因变量组。8.如权利要求6所述的装置,其特征在于,所述确定模块具体用于:判断当前各个第二前因变量组,是否包含所述目标结果对应的所有未重复前因变量组;若是,则将当前各个第二前因变量组作为所述目标数据集对应的因果关系分析结果;若否,则继续确定下一个第二前因变量组。9.一种电子设备,其特征在于,包括:存储器,用于存放计算机程序;处理器,用于执行所述存储器上所存放的计算机程序时,实现权利要求1-5中任一项所述的方法步骤。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-5中任一项所述的方法步骤。
技术总结本申请公开了一种因果关系分析方法、装置及电子设备,主要涉及数据挖局技术领域。其中,因果关系分析方法包括:在目标数据集中获取各个前因变量,以及各个前因变量对应的第一结果;计算各个前因变量分别对应的必要值;根据各个必要值,对第一结果中目标结果对应的各个第一前因变量组进行简化,得到各个第二前因变量组;将各个第二前因变量组,作为目标数据集对应的因果关系分析结果。通过上述方法,在无需枚举所有的因果关系组合形式的情况下,根据前因变量对生成结果的必要性,确定目标结果对应的前因变量组,进而提高因果关系分析效率。此外,通过对目标结果对应的变量组进行简化,还可以实现对因果关系分析结果的简化。还可以实现对因果关系分析结果的简化。还可以实现对因果关系分析结果的简化。
技术研发人员:蔡灿宏
受保护的技术使用者:天翼云科技有限公司
技术研发日:2022.07.20
技术公布日:2022/11/1