基于循环模型的统计因果关系发现

cyclicmodel的Python项目详细描述


周期模型

基于循环模型的统计因果发现。
这个项目正在开发中。

摘要

执行统计因果发现的python包 在下列条件下:

  1. 有一些未观察到的共同因素
  2. 存在双向因果关系

cyclicmodel是基于 ^{},它实现了贝叶斯混合语言。

示例

importnumpyasnpimportpymc3aspmimportcyclicmodelascym# Generate synthetic data,# which assumes causal relation from x1 to x2n=200x1=np.random.randn(n)x2=x1+np.random.uniform(low=-0.5,high=0.5,size=n)xs=np.vstack([x1,x2]).T# Model settingshyper_params=cym.define_model.CyclicModelParams(dist_std_noise='log_normal',df_indvdl=8.0,dist_l_cov_21='uniform, -0.9, 0.9',dist_scale_indvdl='uniform, 0.1, 1.0',dist_beta_noise='uniform, 0.5, 6.0')# Generate PyMC3 modelmodel=cym.define_model.get_pm3_model(xs,hyper_params,verbose=10)# Run variational inference with PyMC3withmodel:fit=pm.FullRankADVI().fit(n=100000)trace=fit.sample(1000,include_transformed=True)# Check the posterior mean of the coefficientsprint(np.mean(trace['b_21']))# from x1 to x2print(np.mean(trace['b_12']))# from x2 to x1

安装

pip install cyclicmodel

参考文献

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
未检测到“空格”的java ASCII码   音频如何在Java中设置SourceDataLine的音量   java MyBatissSpringBoot无法使用作为bean注入的数据源   Java字谜递归列表<List<String>>仅存储空列表<Strings>   java显示30px高的JPanel,然后用minecraft填充剩余空间   java JOGL平滑度   Java:按完整与否对1d对象数组进行排序   arraylist仅当java结构不存在时才将对象添加到java结构中   无法初始化java渲染库在安卓 studio 4.1.1上出现错误   java SpringBoot ClassCastException   java解析文本文件,基于字数   java=运算符引发异常   java使点可拖动并存储新坐标JavaFx   JavaWebSphereApplicationServer:EJB模块和JMS路由器