缺失值 Fisher-z 检验

对含有缺失值的数据集执行逐检验删除的 Fisher-z 独立性检验。通过逐检验删除,检验会利用所有涉及检验的变量上没有缺失值的数据点。

用法

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

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

对于用户而言,您可能需要相应地调整您的代码。具体来说,如果您正在

  • 从头到尾运行基于约束的算法:那么您不需要更改任何东西。旧代码仍然兼容。例如,

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

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

参数

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

method: 字符串,“mv_fisherz”。

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

返回值

p: 检验的 p 值。