Fisher-z 检验

使用 Fisher-z 检验执行独立性检验 [1]。此检验最适用于线性高斯数据。

用法

from causallearn.utils.cit import CIT
fisherz_obj = CIT(data, "fisherz") # construct a CIT instance with data and method name
pValue = fisherz_obj(X, Y, S)

请注意,自版本 v0.1.2.8 发布以来,我们已将独立性检验从函数重构为类。这带来了速度提升和更灵活的参数指定。

对于用户,您可能需要相应地调整您的代码。具体而言,

  • 如果您正在端到端运行基于约束的算法:那么您无需更改任何内容。旧代码仍然兼容。例如,

from causallearn.search.ConstraintBased.PC import pc
from causallearn.utils.cit import fisherz
cg = pc(data, 0.05, fisherz)
  • 如果您正在明确计算某个检验的 p 值:则需要声明 fisherz_obj,然后如上文所示调用它,而不是像以前那样使用 fisherz(data, X, Y, condition_set)。请注意,现在 causallearn.utils.cit.fisherz 是一个字符串 "fisherz",而不是一个函数。

请参阅 CIT.py,了解(条件)独立性检验实现的更多详细信息。

参数

data: numpy.ndarray, shape (n_samples, n_features)。数据,其中 n_samples 是样本数量,n_features 是特征数量。

method: 字符串,“fisherz”。

kwargs: 例如,cache_path。请参阅 高级用法

返回值

p: 检验的 p 值。