APP下载

基于贝叶斯网络的大数据因果关系

2018-05-14蔚仁佳

今日财富 2018年4期
关键词:贝叶斯因果关系变量

蔚仁佳

一、研究背景及意义

随着大数据时代的来临,大数据技术为我们分析问题和解决问题提供了新的思路和方法。与常规数据集相比,在大数据环境下进行数据挖掘将得到更多更全面的信息。未来从大数据中发现因果关系以及在常规数据中挖掘一般因果关系将是一种趋势。为了改善传统格兰杰模型在时间序列因果关系挖掘中出现的弊端,近一步改进并完善因果关系挖掘模型,本文提出了在大数据环境下使用二阶贝叶斯网络模型进行因果关系挖掘。该模型采用最小描述长度(Minimum Description Length, MDL)原理来进行打分。通过对期货样本数据分析,并对原始时间序列进行离散化、属性约简、重构等处理后进行二阶贝叶斯网络模型训练,不仅可以挖掘节点与节点之间的因果关系而且可以发现因果关系之间的联系。

二、时间序列数据获取与预处理

从统计学的角度上来讲,时间序列指的是将某一个维度在不同时间点上的不同数值,按照时间的先后顺序排列而成的数据。因此,时间序列常常受到各种不确定因素的干扰而表现出一定的随机性,数据之间往往存在一定的相关性。从数学的角度上来讲,随机序列指的是由一系列随机变量组成的数组,如我们用X1,X2......Xt来表示,其中t=1, 2, 3,.....n。

时间序列是按照时间的顺序来排列的,因此上面的表达式中t为时间的整数变量,用来表示等间隔的增长,比如第t时间点·第t月·第t个等等,我们用x,来表示,其中t=1, 2, 3,......n,这里的t表示时间的顺序。另外还有一点不同的是在时间序列中变量t既可以为正数也可以为负数,这是由于时间序列都是以当前的时间为基准,若t为负数则说明该数据发生在当前时间点之前,若t为正数则说明该数据发生在当前时间点之后,但是t的值必须为整数。

(一)期货时间序列数据的来源

期货交易数据都是按照时间顺序观察收集得到的期貨合约交易的价格数据,例如开盘价,收盘价,最低价,最高价等等。从期货交易软件上连续获得的期货时间序列数据称作期货时间序列数据流。时间序列数据有连续的,也有离散的。

期货时间序列数据是一组随时间变化而观察得到的价格数据,该数据是离散的。

我们假设

S={(x1, y1),(x2,y2),…,(x",yn)}

为时间序列,n表示数据点的个数,Xi表示买卖期货合约时的价格数据,其中i属于[1,n],表示买卖期货合约的时间点;给定一个维度,规定该时间序列是某种价格数据。通常情况下,使用自动的期货交易平台进行交易的时候,只需要分析众多维度中的一种期货时间序列数据即可,即固定属性,例如期货收盘价时间序列数据。

本文采用的期货时间序列数据来自UC工网站上的开源数据,选取了其中3份期货交易时间序列。每一份时间序列拥有1000万左右的数据样本。每个样本拥有交易日期、该期货的工D、更新时间、实时价格、开盘价、收盘价、最高价、最低价等维度,其中更新时间从几秒至几分钟不等。

(二)贝叶斯网络数据集的构建

本文的贝叶斯网络分为一阶和二阶,两种贝叶斯网络的数据集构建方式不一样,本节主要叙述如何构建一阶贝叶斯网络的数据集。在经过离散化处理后的时间序列上随机(初始点不放回)截取5000个连续的时间序列片段,每个片段拥有5000个节点。经过上面的随机截取后获得了5000个长度为5000的时间序列,下面将对每一个时间序列进行数据集的转化。由于考虑到二阶贝叶斯网络训练时计算机的运行能力,在经过多次试验后决定选取5个节点,方便实验。

三、基于贝叶斯网络的因果关系挖掘

在贝叶斯网络中,对期货时间序列进行贝叶斯网络的推理,即贝叶斯网络的因果关系挖掘,其主要思想是:在给定某些证据变量取值的条件下,求解给定变量和目标变量之间的因果关系。在本文中,我们利用最小描述长度(MDL)来对单时间序列(期货)进行节点与节点之间,边与边之间的因果关系挖掘。

按照以上算法,我们对期货的时间序列数据进行贝叶斯网络模型训练后得到如下因果关系图,整理后如下:

从上图我们可以看到总共有5个节点,每个节点本身代表着在一阶贝叶斯网络中的一种因果关系。节点1表示在原始时间序列中第一个节点和第五个节点之间的因果关系,我们用因果关系1来表示。同理,用因果关系2和3分别表示上图中的节点2和3。从上图可以看到节点1是节点2和3的父节点,这说明因果关系1是因果关系2和3的父节点。由此可以得出以下结论:如果己知原始时间序列中节点1和节点5之间存在因果关系,那么节点2和节点3与节点5之间也存在着因果关系。

四、结语

采用贝叶斯网络进行模型训练对输入的数据集有着较高的要求,本文的原始数据集来自期货时间序列,该数据集中有较多的缺陷,例如数据不完整,冗余数据过多等问题,所以试验的第一步就是进行数据预处理,保证后期实现的高效和准确。另外,由于本文采用了一种全新的贝叶斯网络训练方法,需要大量的时间序列,所以需要对原始时间序列进行随机截取来产生足够多的小时间序列,保证模型的实现。最后,贝叶斯网络训练需要的是矩阵形式的数据集,而单变量的时间序列是一个数组,需要考虑如何将数组转化成符合贝叶斯网络训练的数据集。(作者单位为山西财经大学)

猜你喜欢

贝叶斯因果关系变量
原因的原因的原因不是原因
做完形填空题,需考虑的逻辑关系
探究刑法的因果关系
租赁房地产的多主体贝叶斯博弈研究
租赁房地产的多主体贝叶斯博弈研究
贝叶斯网络概述
贝叶斯公式的应用和推广
分离变量法:常见的通性通法
不可忽视变量的离散与连续
从哲学中的因果关系到刑法学中的因果关系