Page 98 - 《软件学报》2021年第10期
P. 98

3070                                 Journal of Software  软件学报 Vol.32, No.10, October 2021

                        以及因果推理计算.这将突破已有贝叶斯网络学习的局限性和动态贝叶斯网络框架的约束,使贝叶斯
                        网络也成为时间序列因果分析的有力工具;
                    (2)  结合时间序列预处理、时间序列变量排序、转换数据集构建、MDL(minimal description length)标准、
                        局部贪婪搜索等,建立了多变量时间序列的因果关系学习方法,其中,能够反映需求的基于模式的离
                        散化使因果关系更具针对性和可解释性,而通过打分-搜索发现时序父节点来确定时滞变量,相对于
                        传统的相关性计算能够更有效地界定转换数据集中的时滞信息,以避免信息丢失和冗余.这种因果关
                        系学习也将与格兰杰方法等形成互补,推动因果分析理论与应用的发展;
                    (3)  在时间序列段因果关系结构学习的基础上,将因果关系结构数据集构建,因果关系变量选择和排序、
                        局部贪婪打分-搜索等相结合,提出了建立元因果关系(因果关系变量之间的因果关系)的思想与方法.
                        这将扩展贝叶斯网络的应用范围,也为进一步的因果关系演化分析和未来发展趋势判断奠定坚实的
                        基础.并且,分别采用模拟、UCI 和金融时间序列对因果关系与元因果关系学习的有效性、可靠性和
                        实用性进行了实验验证与分析.
                    本文首先对因果关系和贝叶斯网络的产生与发展等进行回顾与分析.第 1 节是时间序列变量的因果关系
                 学习.第 2 节是因果关系变量的元因果关系学习.第 3 节是实验与分析.第 4 节是结论和进一步的工作.另外,在本
                 文中,概率模式中的变量以及表示概率模式的图形模式中的节点有时不加区分.
                 1    时间序列的因果关系学习

                    时间序列的因果关系(或时间序列变量之间的因果关系)学习由时间序列预处理、因果关系结构学习和因
                 果关系参数学习这 3 部分构成.
                 1.1   时间序列预处理

                    我们首先采用滑动平均的方法初始化丢失的数据,然后将时间序列离散化,最后对初始化的离散丢失数据
                 进行迭代修复.用 Z[t]=(Z 1 [t],Z 2 [t],...,Z n [t])表示时间序列向量(简称为时序向量),z[t]=(z 1 [t],z 2 [t],...,z n [t])为其配置,
                 D c [n,T]={z 1 [t],z 2 [t],...,z n [t]}(1≤t≤T)是具有 T 个记录的时间序列数据集(简称为时序数据集).
                    (1)  丢失数据的初始化
                    丢失数据的修复一直是一个重要且困难的研究课题,时间序列的丢失数据普遍存在,如果删除这些丢失数
                 据所在的记录,会导致信息损失;而使用不当的丢失数据修复方法,则可能引入大量的噪声.
                                          zt
                                                                    zt
                    对给定的窗体大小≥1,用 ˆ [] 表示丢失数据 z i [t]的初始值, ˆ [] 的计算方法如下:
                                           i
                                                                     i
                                             1
                                                           
                                                              [ ]),                   t ≤
                                              ( [ ]zt   i  1  zt   i [ ] ... zt   
                                            
                                                       2
                                                              i
                                        ˆ []  
                                        zt                                                            (1)
                                        i
                                             1  ( [ zt   ] zt     [   1] ... zt   [  1]), t    
                                                                  
                                                                
                                                i    i            i
                 其中,t≤时的 z i [t 1 ],z i [t 2 ],…,z i [t  ]是从 z i [1]开始依次出现的个非丢失数据(包括初始化后的丢失数据).当 t>
                 时,便不需要从 z i [1]开始选取.
                    (2)  时间序列的离散化
                    离散化是一种抽象(离散值是连续值的抽象,一个离散值对应一个连续值的集合,去除连续值的个性内容,
                 保留共性部分),也可以认为是一种概念的形成(每一个离散值都可以看作是对应连续值所形成的概念,离散化
                 就是只保留我们所关注的特征,去除不需要的特征).在连续变量离散化的过程中,我们对一个离散值对应的连
                 续值集合中的所有值不加以区分,因此会丢弃一些细节信息(相对于需要解决的问题,也可能是冗余或干扰信
                 息),但离散化后的数据更有意义且容易理解(人类的知识和推理均不具有连续性),这对解决一些特定的问题十
                 分必要.Pearl 因果关系中的变量要求取离散值,这样,所有因果关系中的变量便形成一个概率分布,因果关系蕴
                 含在离散变量的概率分布之中(也可以将 Pearl 的因果关系称为概率因果关系).我们需要将连续的数据(或变量)
                 离散化,也就是去除与因果关系无关的细节信息,再去发现数据中所蕴含的因果关系(因果关系学习).理论上,一
   93   94   95   96   97   98   99   100   101   102   103