缺失值 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 值。