问题标签 [causality]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
42 浏览

r - 对 0 和 1 的 p 值执行 qnorm()

我正在我的硕士论文中对 Granger 非因果检验进行元回归分析。感兴趣的效果是 F 和卡方分布的,因此要在元回归中使用主题,它们必须转换为正态变量。现在,我正在为此使用概率函数(标准正态累积分布的倒数)。这基本上是它的 p 值的 qnorm() (据我所知)。

我现在的问题是,基础研究有时会报告 p 值为 0 或 1。使用 qnorm() 转换它们会得到 Inf 和 -Inf 值。我的解决方案是用接近 0 的值交换 0 个 p 值,例如 1e-180 和接近 1 的值交换 1 个 p 值,例如 0.99999999999999999(只有 16 9 是可能的,因为 R 正在将结果更改为更多“9” s 到 1)。

有人知道这个问题的更好解决方案吗?这在数学上合理吗?排除 0 和 1 p 值会完全改变结果,因此,在我看来,这是错误的。我现在的代码示例:

qnorm 前面的减号有助于直觉,因此正值与在更高显着性水平上拒绝非因果关系的零假设相关。

我会很高兴获得支持/提示/等!

0 投票
1 回答
183 浏览

python - 提高贝叶斯因果网络的预测精度

我想确定热力学过程中意外结果(或异常)的原因。我有相关变量的连续数据,并试图利用“贝叶斯网络(BN)”来确定因果关系。为此,我在 Python 中使用了一个名为“ Causalnex ”的库。

我已经按照这个库的教程部分构建了 DAG、BN 模型,并且在预测步骤之前一切正常。少数/少数类的预测结果具有大约 60-70% 的准确度(在 SMOTE/SMOTETomek 和特定随机状态下为 80-90%),而稳定的准确度有望超过 90%。我已经实现了以下数据预处理步骤。

  1. 确保没有缺失/NaN 值
  2. 离散化(仅库支持)
  3. SMOTE/SMOTEtomek 用于数据平衡
  4. 各种训练/测试尺寸组合

我正在努力找出优化模型的方法。我在互联网上找不到任何支持材料。

是否有任何适用于该库/BN 模型的数据预处理技术和数据集要求的指南或“最佳实践”?您能否建议任何故障排除方法来确定低准确性/指标的原因?也许 DAG 中被误解的节点-节点因果关系会导致平庸的准确性?

任何与此相关的想法/文献/其他合适的图书馆都会有很大帮助!

0 投票
1 回答
901 浏览

python - 观察数据中的因果推断

我正在使用 python 包DoWhy来查看基于此站点的任期和流失之间是否存在因果关系。

我还有许多其他变量。

  1. 这是进行分析的正确方法吗?

  2. 常见原因是什么意思,如何选择?

  3. 我如何解释结果以及确定性如何?

0 投票
1 回答
223 浏览

r - 在多个数据集上循环 R 中的因果影响并自动导出结果

我需要一些关于如何解决这个问题的建议。我有许多动物园对象,我想使用 Google 开发的同音词包在 R 中对其执行因果影响分析。为了自动化这个过程,我想在动物园对象上运行一个循环,并自动将结果保存在一个文件中,以便以 word 或 csv 格式导出。

到目前为止,我的解决方案是将动物园对象包含在动物园列表中

然后运行一个for循环,如:

该代码似乎有效,但是我不知道如何以 csv 或 doc 或任何格式导出所有输出,只要它紧凑且可读。

任何想法?谢谢您的帮助!

0 投票
0 回答
514 浏览

r - R中面板VAR包的格兰杰因果关系

我一直在使用 Sigmund 和 Ferstl 的panelvar R 包通过 GMM(广义矩量法)估计面板 VAR 模型超过约 20k 观察值。

然而,令我惊讶的是,没有提供任何函数来测试格兰杰因果关系。是不是因为测试需要借助另一个函数来实现?我看到 Stata 包pvar(用于类似目的)提供了该功能pvargranger(因此提供测试似乎很常见)。

更新:创建问题是因为 STATA 实现提供了 Granger 因果函数。然而,计算独立于 GMM PVARs(参见Dumitrescu, EI, & Hurlin, C. (2012). Testing for Granger non-causality in heterogenous panel. Economic modelling, 29(4), 1450-1460. - on p. 1451 作者将 Granger 因果关系与 PanelVAR 进行比较),因此最好的解决方案是使用plmHelix123 指出的包!

0 投票
2 回答
1294 浏览

python - 在给定变量列表 Z = [Z1,...,Zn] 的情况下查找 X 和 Y 是否独立

我正在为因果网络运行 pc 算法。在这个算法中,我需要验证两个数组 X 和 Y 是否独立给定一组数组 Z1,...,Zn。在论文中,通常假设高斯独立性测试,我试图不使用它来支持更通用的方法。我尝试使用互信息,但从我昨天的讨论中可以看出(具有多个变量的条件互信息),互信息似乎不是一个好方法。我尝试使用fcit包。

但是对于pval_i我得到nan的和以下警告:

我认为它出现是由于 Z 和 X 和 Y 的尺寸不同,因为在这种情况下都具有相同的尺寸 (10000,1),它可以正确计算独立性测试。所以我的问题是:如果给定 Z1,...,Zn,我如何计算 X 和 Y 是否独立?

0 投票
1 回答
150 浏览

r - 使用 bartCause 包预测隆起

我正在尝试使用 bartCause 包在 R 中构建提升模型。不幸的是,我无法以正确的方式集成数据框 -错误消息

使用的代码:

校准数据:(2595 个观测变量,共 15 个变量) 在此处输入图像描述

验证数据:(2595 个变量,共 15 个变量) 在此处输入图像描述

0 投票
0 回答
49 浏览

python - 格兰杰的 MaxLag

我有一个开发人员创建了一个 python 脚本来确定几个数据集的格兰杰因果关系,这些数据集大约是 3 年的日常数据(每个时间序列大约 1100 个数据点)。该脚本似乎运行良好,但我们不确定应该选择哪个 MaxLag。我们的目标是确定可能的因果关系并确定因果关系中的滞后时间(1 天、2 天、7 天、14 天等)。显然,当我们将 maxlag 数字从 1 更改为 15 时,我们会得到非常不同的数字。请参阅下面我所指的代码部分。

据我了解,MaxLag 越高,对时间序列进行的“分析”就越多,这会导致 MaxLag 数字越高,因果关系就越强。这似乎很有帮助,但前提是我们知道因果关系的实际“滞后”是什么。

0 投票
1 回答
127 浏览

r - 对不平衡面板数据的处理效果

在此处输入图像描述我有一个不平衡的数据集,其中包含电影销售数据以及几年来电影的一些特征。在其间的特定年份,社会中发生了一种治疗(事件)。现在,我想与 r 检查这种处理是否影响了具有某些特殊特征的电影的销售。我的问题是,当我检查了很多 DiD 和 FE 模型时,治疗前后的治疗人群是相同的,而我的情况并非如此。因为活动之前上映的电影和活动之后上映的电影完全不同。我正在寻找电影角色在其销售中的系数的任何变化。请您指导我应该使用哪种型号或 r 包?

0 投票
1 回答
118 浏览

python - python中是否有任何相当于MVGC工具箱(来自MATLAB)的东西?

我想在 python 中使用多元格兰杰因果关系。我发现 MATLAB 中有 MVGC 工具箱,但无法在 python 中找到它的等价物,或者无法在 python 中找到 Multivariate Granger Causality 的任何实现。请在python中提出一些相同的实现。