【本期看点】
由于LaTeX优质的文档排版功能,越来越多的期刊开始提供LaTeX模板,那么我们是否只能用LaTeX进行文档的编辑和排版呢?当然不是,LaTeX由于其强大的数学公式编辑能力以及兼容性极好的绘图软件包,具有word所无法企及的科技绘图功能。 本文以贝叶斯网络图的逐步实现为例,对LaTeX的科技绘图功能进行一个初步的探讨,以期为LaTeX初学者提供一点小小的帮助。
作者:kim
城市交通数据分析爱好者 目前从事城市综合交通规划类工作
贝叶斯网络简介
贝叶斯网络又称信度网络、有向无环图,是一种概率图模型,是目前不确定知识表达和推理领域最有效的理论模型之一。贝叶斯网络由代表变量结点及连接这些结点有向边构成,结点代表随机变量,结点间的有向边代表了结点间的互相关系,用条件概率进行表达关系强度,适用于表达和分析不确定性和概率性的事件,应用于有条件地依赖多种控制因素的决策,可以从不完全、不精确或不确定的知识或信息中做出推理。
贝叶斯网络图实现步骤
本次贝叶斯网络图的绘制在LaTeX在线编辑系统overleaf.com中实现。首先在overleaf中创建名为Bayesian-network的项目。
文档编辑及绘图环境搭建
在使用LaTeX编辑文档或绘图时,需要几行代码来搭建编辑、绘制环境:
在overleaf项目中键入以上代码后,我们可以得到一个空白文档。
绘制观测变量节点
在搭建好环境后,我们就可以开始进行贝叶斯网络的绘制了,首先绘制观测变量节点,我们在环境声明的开始和结束之间采用\node命令绘制名为obs的观测变量节点,代码示例如下:
在overleaf项目中键入以上代码后,得到以下图形:
绘制模型参数节点
同样的,我们采用\node命令,改变一些图形参数来绘制参数节点,代码示例如下:
在overleaf项目中键入以上代码后,得到以下图形:
绘制有向边
在观测节点和参数节点都绘制完成之后,我们采用\path命令来构造有向边,节点间用edge关联,箭头方向为→,代码示例如下:
在overleaf项目中键入以上代码后,得到以下图形:
绘制超参数节点
超参数同样可以用\node命令进行绘制,代码示例如下:
绘制超参数节点
超参数同样可以用\node命令进行绘制,代码示例如下:
完整贝叶斯网络绘制
在了解了以上的绘图步骤后,我们根据xinychen的开源项目,绘制一个完整的贝叶斯网络,完整代码及示意图如下:
代码示例(注:图片取自xinychen的GitHub项目)
贝叶斯时序矩阵分解的贝叶斯模型示意图(注:图片取自xinychen的GitHub项目) 使用LaTex绘制贝叶斯网络的论文
[1] Xinyu Chen, Zhaocheng He, Yixian Chen, Yuhuan Lu, Jiawei Wang (2019). Missing traffic data imputation and pattern discovery with a Bayesian augmented tensor factorization model. Transportation Research Part C: Emerging Technologies, 104: 66-77.
[2] Xinyu Chen, Lijun Sun (2019). Bayesian temporal factorization for multidimensional time series prediction. arXiv: 1910.06366.
本文代码参考xinychen的GitHub开源项目awesome-latex-drawing,网址为:
https://github.com/xinychen/awesome-latex-drawing。