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

王双成  等:基于贝叶斯网络的时间序列因果关系学习                                                       3077


                      建立时间序列段的因果关系结构记录
                    end for
                    建立时间序列的因果关系结构数据集
                    去除因果关系结构数据集中的冗余变量
                    因果关系结构数据集中的因果关系变量排序
                    基于局部贪婪打分-搜索的元因果关系结构学习
                    if  参数学习是初始学习  then
                      结合元因果关系结构和最大似然估计方法进行参数初始学习
                    else
                      结合元因果关系结构和最大后验方法进行参数增量学习
                    end if
                    元因果关系学习算法的主要部分是元因果关系结构学习,在元因果关系结构学习中,因果关系结构数据集
                                                                   ( nn  1)
                                     2
                 构建的时间复杂度是 O(n ),因果关系结构数据集中最多具有                        个三值变量和 nq 1 +(n1)q 2 +…+2q n1 +q n
                                                                     2
                 个二值变量,其中,q i (1≤i≤n)是与 n 和无关的量.因此,相对于 MDL 打分计算,元因果关系学习算法的时间复杂
                            2
                        2
                 度是 O(n (+n )).
                    如果把时间序列变量之间的因果关系看作概念,那么随着时间的演进而导致的因果关系变化就是概念漂
                 移(或因果关系漂移).本文假设因果关系变化(或漂移)具有随机性和规律性,因此可用随机变量(因果关系变量)
                 描述因果关系的变化(或漂移),并可建立描述因果关系变化(或漂移)的贝叶斯网络,即元贝叶斯网络.因果关系
                 变化(或漂移)可以发生在非时滞变量之间,也可以发生在时滞变量与非时滞变量之间,通过元贝叶斯网络研究
                 可以揭示因果关系变化(或漂移)的规律,并进行未来演化态势的判断和预测.

                 3    实验与分析

                    分别使用模拟数据、UCI 数据和 wind 数据库中的金融数据,从模拟时间序列的因果关系与元因果关系的
                 结构学习、真实时间序列的因果关系与元因果关系的结构学习以及离散化方法对时序因果关系的影响这 3 个
                 方面进行实验与分析.我们采用滑动平均的方法初始化丢失的数据(取=10),并结合最大似然树和 Gibbs 抽样
                 来迭代修复常规时间序列的丢失数据.
                 3.1   模拟时间序列的因果关系与元因果关系的结构学习

                    结合给定的因果关系、元因果关系和 Monte Carlo 方法产生时间序列模拟数据集,在此基础上进行因果关
                 系和元因果关系的结构学习.
                    (1)  因果关系结构学习
                    分别从侧重时滞父节点集(用 T_BN_1 和 T_BN_2 表示,总的弧数量是 55 和 79)、非时滞父节点集(用 NT_
                 BN_1 和 NT_BN_2 表示,总的弧数量是 42 和 54)和混合父节点集(用 H_BN_1 和 H_BN_2 表示,总的弧数量是 38
                 和 65)以及均衡 3 种父节点集(用 E_BN_1 和 E_BN_2 表示,总的弧数量是 30 和 58)这 4 种情况设计因果关系结
                 构(有向无环图),取 max{q 1 ,q 2 ,…,q n }=3,根据变量的顺序和弧的数量随机产生弧的位置,也随机产生因果关系参
                 数(条件概率分布表).每种情况给出两个因果关系网络,每一个因果关系网络产生 5 000 个模拟数据.首先进行单
                 变量时间序列的时滞因果关系结构学习,学习得到的因果关系结构与产生模拟数据的因果关系结构完全一致,
                 根据学习的结果确定时滞变量;然后建立模拟数据集的转换数据集;最后,结合变量顺序和局部贪婪打分-搜索
                 方法进行多变量时间序列的因果关系结构学习.具体情况见表 1.表 1 中,第 1 列括号中的数字是因果关系结构
                 中弧的数量,最后一列括号中的数字是变化弧的数量占所有弧数量的百分比,“+”表示增加的弧,“”表示丢失的
                 弧.只给出均衡 3 种父节点集情况的一个因果关系结构,如图 3 所示.
   100   101   102   103   104   105   106   107   108   109   110