用途:在特征矩阵存在缺失值(NaN)时,逐特征正确计算 Spearman/Pearson 相关,避免批量矩阵方法静默给出错误结果。
主要能力:区分成对删除与列表删除,指出 DataFrame.rank()+corrwith()、corrwith(method='spearman')、np.corrcoef 在 NaN 下各自的失败原因;给出退化输入(常量、近常量、有效样本过少)的过滤规则;提供最小有效对数阈值 min_valid(默认 10)与每特征 n_valid 记录;面向超过 1 万特征给出 joblib 并行方案。
使用方式:先打印 NaN 摘要(数据形状、总 NaN、含 NaN 特征数、每特征 NaN 均值/最大值);再用 filter_degenerate 过滤 nunique<3 或非 NaN 比例低于 50% 的特征;随后循环对每个特征用 scipy.stats.spearmanr 并按特征成对去除 NaN,少于 min_valid 的记为 NaN 并统计跳过数;最后输出含 rho、pvalue、n_valid 的 DataFrame,并核对输入特征数等于输出加跳过加过滤。特征超 1 万时用 joblib 的 Parallel 将逐特征循环并行化。
适用场景:组学与生物信息等高维稀疏缺失数据的相关分析。
限制:无缺失时批量方法才安全;若各特征 NaN 模式一致,列表删除可接受;min_valid 过小会使结果与 p 值不可靠;资料未提供具体安装命令、收费、性能基准与支持平台信息。