想象一栋老旧公寓,水管工老周接了一个大活:画出整栋楼的水管拓扑图。他有成千上万间房间,但只有几十天的漏水和水压记录。只看两只水龙头的读数,几乎每两间房都“同涨同跌”,就像到处都有水管。老周知道,不能盲信表面的相关性,得用“关阀门”的办法:关掉中间一些阀门后,如果两只水龙头仍然联动,才说明它们之间有直管;如果不再联动,说明之前只是被其他水管“带节奏”。这在统计学里,就是基于约束的因果发现。当房间数远超测量天数时,这个“关门测试”会变得极不可靠,这就是高维数据扩展要解决的问题。 高维扩展不是简单增加变量,而是把稀疏性、邻域搜索、多重检验校正、稳定性选择等工程智慧一起装进因果发现流程,让 AI 模型在高维、小样本的现实场景中依然能画出可信的“水管图”。

岗位关联

学会高维数据下的约束因果发现,你能在基因调控、金融归因、营销分析中给出可解释的因果结论,是有工程落地能力的 AI 从业者的关键加分项。

目录
  1. 可视化演示
  2. 高维困境
  3. 基础假设
  4. 条件检验
  5. 搜索策略
  6. 定向机制
  7. 性能优化
  8. 稳健实践
  9. 应用价值
  10. AI 应用场景
  11. Python 演示
  12. 常见误区
  13. 面试题

可视化演示

展示系统处理流水线、实时性能指标曲线及多方案对比分析,包含数据流转、吞吐延迟监控与方案评估。

本节配有交互动效(进入视口后自动加载,约 3KB)。

系统可视化 处理流程:输入→处理→模型→输出 性能监控:实时指标 P=L×T

高维困境

老周看着上百个房间的水压读数,发现几乎随便挑两间房都像有管道相连。他很清楚,这不是因为管道真的遍布全楼,而是因为读数太少、规律被“偶然共振”淹没。换成数据语言:变量数 p 远大于样本量 n 时,候选边对数量随 p² 起飞,独立性检验的假阳性也会随之失控。

在低维世界里,条件独立性检验可以慢慢做;但高维场景下,每做一次检验都有一定概率犯错。检验次数越多,至少出现一次“无中生有”的概率越高。这就像老周每关一次阀门,都有可能看错水表;关的阀门组合越多,错判的概率越大。

因此,高维扩展的第一步不是“多找几晚读数”,而是承认检验会失真,并主动设计控制假阳性的策略。老周拿出笔记本,决定先只关注“邻居”范围内的候选管道,而不是看见什么就修什么。

P(至少一个假阳性)=1−(1−α)(p2),(p2)=p(p−1)2P(\text{至少一个假阳性}) = 1 - (1-\alpha)^{\binom{p}{2}},\quad \displaystyle \binom{p}{2} = \frac{p(p-1)}{2}
一次检验误报概率是 α,候选边对数是组合数 C(p,2),检验次数越多,整体误报概率越接近 1。
  1. 至少一个假阳性这是高维下最怕的事,只要有一条本来不存在的边被发现,整张图就会污染。
    P(至少一个假阳性)P(\text{至少一个假阳性})
  2. 单次不犯错概率每次检验有 1−α 的概率没报错,多次检验都要不犯错才能保证一次都不假报。
    1−α1-\alpha
  3. 候选边对数p 个变量两两组合的数量,近似于 p 的平方一半。
    (p2)=p(p−1)2\binom{p}{2}=\frac{p(p-1)}{2}

基础假设

要把“水管图”从读数中可靠推断出来,老周得先接受三件事:水表没有系统性欺骗他、地下没有他没记录的暗河、大多数房间之间其实没有直管。统计上的说法分别是忠实性、充分性和稀疏性。

忠实性假设让概率分布的独立性可以对应到图中的 d-分离关系。如果数据中 X 与 Y 条件独立,那么图中 X、Y 也应在给定 Z 时被 d-分离。这就是约束方法最核心的“翻译规则”,没有它,老周就不知道该把“读数不再联动”理解成“没有直管”还是“仪表故障”。

此外,高维扩展还依赖稀疏性:真实管道网络大多数房间之间没有直管。这等于老周预先知道“大部分候选边是假的”,所以他可以把有限的计算资源集中到看起来最可疑的少数邻域上。没有稀疏性,约束方法在高维中会像在大海里捞针,甚至无从下手。

X⊥ ⁣ ⁣ ⁣⊥Y∣Z  ⟺  d-sep⁡G(X,Y∣Z)X \perp\!\!\!\perp Y \mid Z \;\Longleftrightarrow\; \operatorname{d-sep}_{G}(X,Y\mid Z)
d 分离是图论里的“信息阻断”:给定 Z 后,X 与 Y 之间没有可通的信息路径。
  1. 条件独立给定 Z 后,X 与 Y 在概率上不再相互影响。
    X⊥ ⁣ ⁣ ⁣⊥Y∣ZX \perp\!\!\!\perp Y \mid Z
  2. d 分离在图 G 中,所有连接 X 与 Y 的路径都被 Z 阻断。
    d-sep⁡G(X,Y∣Z)\operatorname{d-sep}_{G}(X,Y\mid Z)
  3. 双向等价忠实性假设让统计证据与图结构互相印证。
    ⟺\Longleftrightarrow

条件检验

老周判断两只水龙头之间有没有直管,靠的是“关掉中间阀门后,压差是否仍联动”。数据科学家判断两个变量是否条件独立,靠的是条件独立性检验;其中最经典的工具是偏相关系数。

低维高斯数据中,给定 Z 后,X 与 Y 是否还有关联,可以用偏相关刻画。偏相关剔除了 Z 对 X 和 Y 的影响,如果偏相关接近 0,就认为 X ⊥ Y | Z。高维环境下,偏相关估计很不稳定,于是人们还会引入基于核方法或距离相关的非参数检验,并配合多重校正来控制假阳性。

条件检验就像老周工具箱里的水压表:偏相关是最常用的表,核方法检验是更结实但更费电的表。高维下,老周不会只听一块表的读数,而是会同时看多块表,并对所有“报警”做一次统一筛查,避免某块坏表把全楼图纸带歪。

ρXY⋅Z=ρXY−ρXZρZY(1−ρXZ2)(1−ρZY2)\rho_{XY\cdot Z} = \frac{\rho_{XY} - \rho_{XZ}\rho_{ZY}}{\sqrt{(1-\rho_{XZ}^{2})(1-\rho_{ZY}^{2})}}
偏相关等于“扣除 Z 带来的间接相关后再归一化”,接近 0 说明没有直接相关。
  1. 间接相关扣除分子把 Z 通过 X、Y 两侧传递的相关去掉。
    ρXY−ρXZρZY\rho_{XY} - \rho_{XZ}\rho_{ZY}
  2. 归一化分母除以两个残余方差的乘积开根号,让数值稳定在 −1 到 1 之间。
    (1−ρXZ2)(1−ρZY2)\sqrt{(1-\rho_{XZ}^{2})(1-\rho_{ZY}^{2})}

搜索策略

老周不可能把全楼所有房间两两组合都测一遍。他的策略是“由近及远”:先只看一两个中间阀门,如果两只水龙头仍然联动,就再扩大阀门集合试试。这正是 PC 算法的做法。

PC 算法从一张完全无向图出发,第 ℓ 轮对每个相邻点对尝试大小为 ℓ 的条件集;一旦发现某条件集能让它们独立,就删除这条边。关键的剪枝是:候选条件集只从当前邻居中选取,而不是遍历所有其他变量。这在高维扩展中极其重要。

这种“邻域搜索”的思想在高维扩展中演变为两步走:先用低成本边际检验筛出候选邻居,再在候选邻居内做条件独立性检验。老周的经验是,先把每间房门外的水压箱看一遍,找出可疑邻居,再决定要不要深挖整面墙。

ℓ=0,1,…,S⊆Adj⁡(X)∖{Y}, ∣S∣=ℓ, X⊥ ⁣ ⁣ ⁣⊥Y∣S\ell=0,1,\dots,\qquad S\subseteq \operatorname{Adj}(X)\setminus\{Y\},\ |S|=\ell,\ X \perp\!\!\!\perp Y \mid S
条件集不是任意变量,而是沿着当前骨架的邻居找,这让搜索空间从指数级爆炸压缩到邻居范围。
  1. 层数递进ℓ 从 0 开始,逐个扩大条件集大小。
    ℓ=0,1,…\ell=0,1,\dots
  2. 候选集限制只从 X 的邻居中挑选,且不能包含 Y。
    S⊆Adj⁡(X)∖{Y}S\subseteq \operatorname{Adj}(X)\setminus\{Y\}
  3. 条件集大小候选集大小必须等于当前层数 ℓ。
    ∣S∣=ℓ|S|=\ell

定向机制

骨架只告诉老周哪些房间之间有直管,但没说水往哪个方向流。约束方法用“三通结构”来定方向:如果 X 和 Y 本来独立,但给定 Z 后反而相关,那么 Z 很可能是一个碰撞点,两条管子都汇入 Z,即 X → Z ← Y。

这在统计上叫 v 结构。老周看到两个水龙头各有一路水管接到同一个三通,且关闭三通后两边反而互相影响,就知道水都是从两侧流向三通的。识别出若干 v 结构后,再用保序规则传播方向,最终避免出现环路。

高维下,v 结构对删边错误非常敏感:一条假边被误删,可能连带导致方向推断出错。因此实践中常用“保守定向”,只有在所有候选测试都指向同一个方向时才给箭头。老周的原则是:拿不准流向的三通,就先不标方向,留作可疑点继续观察。

X⊥ ⁣ ⁣ ⁣⊥Y,X⊥̸Y∣Z  ⇒  X→Z←YX \perp\!\!\!\perp Y,\qquad X \not\perp Y \mid Z \;\Rightarrow\; X \to Z \leftarrow Y
无条件独立但条件相关的反直觉现象,正是识别碰撞节点 Z 的关键信号。
  1. 无条件独立在不看 Z 时,X 与 Y 之间没有信息流通。
    X⊥ ⁣ ⁣ ⁣⊥YX \perp\!\!\!\perp Y
  2. 条件相关给定 Z 后,X 与 Y 反而出现相关。
    X⊥̸Y∣ZX \not\perp Y \mid Z
  3. 形成 v 结构两条边都指向 Z,构成 X → Z ← Y。
    X→Z←YX \to Z \leftarrow Y

性能优化

老周想在有限时间内画完整栋楼,就必须让算法跑得比全量测试快。高维扩展中的性能优化主要来自三方面:减少候选边、缓存检验结果、并行化计算。

减少候选边是最有效的一招。如果直接对所有变量两两测试,候选边数是 O(p²);但真实网络稀疏时,经过邻域剪枝后,平均每个节点只需要考虑 s 个邻居,候选边数降为 O(ps)。这就像老周只检查漏水走廊附近的房间,而不是全楼所有房门。

除了剪枝,老周还会把已经验证过的“阀门组合”记在笔记本上,避免重复劳动。条件独立性检验彼此相对独立,也天然适合多核并行。优化不是偷懒,而是把有限样本花在最可能有管道的地方。

m剪枝后=O(ps),s=1p∑i=1p∣Adj⁡(vi)∣m_{\text{剪枝后}} = O(ps),\qquad s = \frac{1}{p}\sum_{i=1}^{p}|\operatorname{Adj}(v_i)|
s 是平均邻居数,稀疏网络里 s 远小于 p,因此计算量大幅下降。
  1. 剪枝后边数候选边规模从 p² 量级降到平均邻居数相关的线性量级。
    m剪枝后=O(ps)m_{\text{剪枝后}} = O(ps)
  2. 平均度数把所有节点的邻居数加起来除以节点数。
    s=1p∑i=1p∣Adj⁡(vi)∣s = \frac{1}{p}\sum_{i=1}^{p}|\operatorname{Adj}(v_i)|

稳健实践

高维数据噪声大,老周不能只凭一晚上的水压读数就下结论。稳健实践要求先做数据预处理,再通过子样本重复和稳定性选择,只留下反复出现的边。

稳定性选择的基本做法是:重复 B 次,每次从样本中随机抽取子样本运行约束发现,然后统计每条边被选择的频率。只有频率足够高的边才被保留。这条边就好比老周连续几晚重复做同一组阀门实验,每天结果一致才敢画到图纸上。

评估与调参同样重要。在仿真数据中,我们通过精确率和召回率选择显著性阈值;在真实数据中,则结合专家知识审查边是否合理。稳健实践让高维约束方法不只是一次性统计游戏,而是可落地、可复核的工程流程。

P^ij=1B∑b=1B1{(i,j)∈E^(b)}\hat{P}_{ij} = \frac{1}{B}\sum_{b=1}^{B} \mathbf{1}\{(i,j) \in \widehat{\mathcal{E}}^{(b)}\}
边 (i,j) 的稳定性分数等于它在 B 次子样本结果中出现比例。
  1. 稳定性分数这是边 (i,j) 被重复出现的概率估计。
    P^ij\hat{P}_{ij}
  2. 求平均对所有子样本结果取平均。
    1B∑b=1B\frac{1}{B}\sum_{b=1}^{B}
  3. 指示函数如果第 b 次结果中包含这条边,计 1,否则计 0。
    1{(i,j)∈E^(b)}\mathbf{1}\{(i,j) \in \widehat{\mathcal{E}}^{(b)}\}

应用价值

当老周最终画出水管图,物业经理就可以按图检修、责任追溯。高维约束因果发现在现实世界中的应用价值也正在于此:它让高维数据里的因果关系变得可读、可审计。

在基因调控中,p 可能是上万个基因,n 却只有几百个样本,约束方法可以帮助筛选“哪个转录因子直接影响哪个靶基因”。在金融风控中,几十个宏观因子互相纠缠,约束方法可以找出真正影响违约率的直接路径。在营销归因中,上百个媒体触点互相影响,约束方法可以切开渠道间的因果链条。

这些场景的共同特征都是变量多、样本少、真实网络稀疏,恰好需要高维扩展来解决。水管图的价值不在于线条本身,而在于它让管理者知道该修哪里、该信谁。

Precision=TPTP+FP,Recall=TPTP+FN\text{Precision}=\frac{\text{TP}}{\text{TP}+\text{FP}},\qquad \text{Recall}=\frac{\text{TP}}{\text{TP}+\text{FN}}
精确率回答“找到的边里有多少是对的”,召回率回答“真实的边里找回了多少”。
  1. 精确率预测为正的边中,真正存在的边占多少。
    Precision=TPTP+FP\text{Precision}=\frac{\text{TP}}{\text{TP}+\text{FP}}
  2. 召回率真实存在的边中,被成功找回的占多少。
    Recall=TPTP+FN\text{Recall}=\frac{\text{TP}}{\text{TP}+\text{FN}}

AI 应用场景

基因调控网络重建

阶段:数据预处理与因果结构学习

解决的问题:传统相关性分析只能告诉我们哪些基因共同表达,分不清直接调控与间接共变。高维约束方法通过条件独立性检验,画出稀疏的基因调控网络,降低把“共表达”误判成“因果调控”的风险。

具体案例:在单细胞转录组数据中,p 为数千个基因、n 为数百个细胞,先用邻域剪枝得到候选骨架,再利用 eQTL 作为工具变量辅助定向,最终输出“转录因子 A 调控靶基因 B”的可验证假设。

金融风险因子归因

阶段:因子筛选与因果归因

解决的问题:宏观经济与财务指标之间存在强相关和多重共线性,传统回归无法说明“谁真正影响谁的违约风险”。约束因果发现可以构建因子间的 DAG,帮助风控团队解释模型依据。

具体案例:银行积累 50 个宏观因子、每月观测记录不足 100 条,使用高维约束方法先估计因子因果骨架,再对指向“坏账率”的直接因子做因果效应估计;模型最终可以回答“为什么某月坏账上升”。

营销多渠道归因

阶段:因果结构学习与预算优化

解决的问题:电视、社交媒体、搜索广告之间互相影响且存在滞后效应,last-click 归因严重低估助攻渠道。高维约束方法能从大量触点中找出渠道间的因果路径,让归因结果更接近真实行为。

具体案例:某品牌使用 100 多个渠道触点周度数据,先做稳定性选择得到渠道因果图,再结合因果效应模型计算每个渠道的边际 ROI,最终把预算从“低效尾量”转移到“关键助攻渠道”。

Python 演示

python84 行
import numpy as npfrom math import sqrt, erf, log  def norm_cdf(x):    return 0.5 * (1 + erf(x / sqrt(2.0)))  def partial_corr(X, Y, Z):    def resid(v):        if Z.size == 0:            return v        A = np.column_stack([np.ones(len(v)), Z])        beta, _, _, _ = np.linalg.lstsq(A, v, rcond=None)        return v - A @ beta     rx = resid(X)    ry = resid(Y)    if np.std(rx) < 1e-12 or np.std(ry) < 1e-12:        return 0.0    return np.corrcoef(rx, ry)[0, 1]  def test_ci(X, Y, Z, n):    r = partial_corr(X, Y, Z)    r = max(-0.999, min(0.999, r))    z = 0.5 * log((1.0 + r) / (1.0 - r))    se = 1.0 / sqrt(n - Z.shape[1] - 3)    p = 2.0 * (1.0 - norm_cdf(abs(z) / se))    return p  def build_data(n, p, rng):    B = np.zeros((p, p))    B[0, 1] = 0.8    B[0, 3] = 0.6    B[1, 2] = 0.7    B[3, 4] = 0.5    X = rng.normal(size=(n, p))    for i in range(p):        pa = np.where(B[:, i] != 0)[0]        if pa.size:            X[:, i] = X[:, pa] @ B[pa, i] + 0.5 * X[:, i]    return B, X  def skeleton_pc(X, alpha=0.1):    n, p = X.shape    adj = set()    for i in range(p):        for j in range(i + 1, p):            adj.add((i, j))    for pair in list(adj):        if test_ci(X[:, pair[0]], X[:, pair[1]], np.empty((n, 0)), n) > alpha:            adj.discard(pair)    for pair in list(adj):        i, j = pair        for k in range(p):            if k == i or k == j:                continue            Z = X[:, [k]]            if test_ci(X[:, i], X[:, j], Z, n) > alpha:                adj.discard(pair)                break    return adj  def main():    rng = np.random.default_rng(42)    n, p = 60, 20    B, X = build_data(n, p, rng)    adj = skeleton_pc(X, alpha=0.1)    true_edges = {(i, j) for i in range(p) for j in range(i + 1, p) if B[i, j] != 0 or B[j, i] != 0}    tp = len(adj & true_edges)    fp = len(adj) - tp    fn = len(true_edges) - tp    prec = tp / (tp + fp) if tp + fp else 0.0    rec = tp / (tp + fn) if tp + fn else 0.0    print("Estimated edges:", len(adj))    print("Precision: %.2f, Recall: %.2f" % (prec, rec))  if __name__ == "__main__":    main()
  1. return v - A @ beta用线性回归剥离 Z 的影响,得到残差。
  2. z = 0.5 * log((1.0 + r) / (1.0 - r))对偏相关做 Fisher z 转换,构造近似正态统计量。
  3. se = 1.0 / sqrt(n - Z.shape[1] - 3)条件变量越多,可用样本越少,标准误越大。
  4. p = 2.0 * (1.0 - norm_cdf(abs(z) / se))把检验统计量换算成 p 值。
  5. if test_ci(...) > alpha: adj.discard(pair)p 值较大说明没有足够证据拒绝独立,因此删边。
  6. true_edges = {(i, j) ...}从生成模型的系数矩阵中提取真实边集合。
  7. prec = tp / (tp + fp)精确率衡量找到的边有多大比例是真的。

常见误区

误区“高维数据扩展?那不就是拼命加变量、加样本嘛,数据越多画出来的因果图越准。”

正解增加变量会指数级扩大候选边对和条件集的搜索空间,增加样本量只是缓解检验功效不足,并不能改变维度诅咒。真正的高维扩展靠的是稀疏假设、邻域剪枝、多重校正和稳定选择,而不是单纯堆数据。

为何常见:人们容易把“大数据”混同于“高维数据”,忽略了 p 增长带来的组合爆炸与假阳性问题。

误区“只要条件独立性检验说独立,就说明没有因果关系;说相关,就说明一定有因果。”

正解检验只是概率证据,它依赖忠实性、充分性和稀疏性等假设。高维下检验功效不足、偏相关估计不稳定,非参数检验也不是万能药,更不用说样本偏差会误导结论。

为何常见:“基于约束”四个字听起来像数学推导,让人误以为每一步都确定无误,实际上每一步都带着统计误差。

误区“PC 算法跑完,输出图的每条边都带箭头,因果方向一定是唯一的。”

正解约束方法往往只能识别到马尔可夫等价类,许多边的方向无法从数据中唯一确定。尤其高维下 v 结构检验对删边错误非常敏感,保守定向甚至会保留无向边。

为何常见:教材和小图演示经常给出方向唯一的例子,让人忽略了等价类和统计不确定性。

误区“如果真实网络不那么稀疏,是不是就不能用基于约束的高维因果发现了?”

正解稀疏性只是高效计算的常用前提,不是算法能用的绝对门槛。即使网络不是极度稀疏,也可以通过领域知识限制邻域、引入先验边或增加样本量来提升效率,只是代价会上升。

为何常见:高维文献大量强调稀疏性,初学者容易把统计建模中的便利条件当成真实世界的硬性要求。

误区“做几轮 bootstrapping,只保留稳定出现的边,假阳性就彻底消失了。”

正解稳定性选择可以降低随机噪声导致的假阳性,但无法消除系统性偏差,比如变量测量误差、遗漏共同原因或违背忠实性。阈值设得太严还会严重损失召回率,导致漏掉真实边。

为何常见:“重复越多越可靠”的直觉很有迷惑性,但重复不能修正采样之外的系统错误。

面试题

Q1. 高维数据中的“p≫n”指的是什么?

单选题 · easy

  • A.模型参数数量远大于样本规模
  • B.变量数量远大于样本数量← 正确答案
  • C.样本数量远大于变量数量
  • D.隐私字段远大于公开字段

答案:B。p 通常表示变量或特征数量,n 表示样本量。p≫n 就是变量数远大于样本数,这是高维数据的典型特征,也是约束因果发现面临的核心挑战。

Q2. 基于约束的因果发现,最核心的证据是什么?

单选题 · mid

  • A.变量均值之间的差异大小
  • B.条件独立性检验的结果← 正确答案
  • C.特征重要性排序的先后
  • D.聚类簇数量是否稳定

答案:B。约束方法通过检验“给定某些变量后,两个变量是否独立”来判断因果边是否存在,相当于老周用关阀门来判断两间房有没有直管。

Q3. 偏相关系数 ρ_{XY·Z}=0 的实际含义是什么?

单选题 · mid

  • A.给定Z后X与Y条件独立← 正确答案
  • B.给定Z后X与Y完全相等
  • C.X与Y之间不存在任何相关
  • D.Z与X和Y都没有关联

答案:A。偏相关扣除了 Z 对 X 和 Y 的影响,等于 0 表示在给定 Z 的情况下 X 与 Y 没有线性相关,是条件独立的常见证据。

Q4. 忠实性假设的主要作用是?

单选题 · mid

  • A.让概率条件独立与d分离一致← 正确答案
  • B.使所有变量服从正态分布
  • C.保证因果方向可以唯一确定
  • D.让样本数量自动扩大

答案:A。忠实性让“概率上的条件独立”和“图中的 d-分离”互相等价,这样老周才能把观测到的独立性翻译成图中没有直管。

Q5. PC 算法在第 ℓ 轮主要做的是?

单选题 · hard

  • A.对相邻点尝试大小为ℓ的条件集并删边← 正确答案
  • B.计算所有变量的两两均值差
  • C.用随机森林对变量重要性排序
  • D.将变量按方差大小分成两簇

答案:A。PC 逐层扩大条件集大小,从当前邻居里找候选条件集,一旦发现条件独立就删除边。这正是约束算法从完全图学习中得到稀疏骨架的方式。

Q6. 高维约束方法常用的性能优化策略包括?

多选题 · mid

  • A.邻域剪枝减少候选测试← 正确答案
  • B.缓存已算过的独立性检验← 正确答案
  • C.多核并行加速逐对检验← 正确答案
  • D.无限增大显著性阈值

答案:ABC。邻域剪枝、结果缓存和并行计算都能减少或复用计算量。无限增大阈值只会让假阳性暴增,不是优化手段。

Q7. 高维约束因果发现通常依赖哪些前提?

多选题 · hard

  • A.真实因果图具有稀疏性← 正确答案
  • B.数据满足忠实性假设← 正确答案
  • C.不存在遗漏的共同原因← 正确答案
  • D.每个变量与其他变量都相关

答案:ABC。稀疏性降低组合爆炸,忠实性把概率独立与 d 分离对应起来,充分性排除遗漏共同原因。D 与环境相反,会让因果发现几乎无法进行。

Q8. 关于方向识别,正确的说法有哪些?

多选题 · extreme

  • A.无条件独立但条件相关可能提示v结构← 正确答案
  • B.Meek规则负责在图中传播方向← 正确答案
  • C.高维下v结构检验结果非常稳健
  • D.保守定向在证据不足时保留无向边← 正确答案

答案:ABD。v 结构是定向的重要信号,Meek 规则用于传播方向。但高维下 v 结构检验对删边错误很敏感,并不稳健,因此需要保守定向,拿不准时保留无向边。