深夜,你拖着行李箱走进一栋老公寓。楼道里一片寂静,可当你停下脚步,楼上传来“踢踢踏踏”的踢踏舞节奏,楼下飘来一阵悠扬的古琴声。你瞬间就明白:踢踏舞在楼上,古琴在楼下。可如果每一层都播放着同一种白噪音——那种“沙沙”的、毫无起伏的声音,你还能分辨声源来自哪里吗?恐怕不能。 因果发现面对的就是同样的困境。我们手里只有一堆观测数据,就像一段混音录音,想知道谁影响了谁,就得捕捉每个变量“声音的个性”。高斯分布像白噪音:对称、均匀、毫无特征,任何方向都显得“说得通”。非高斯分布则像踢踏舞的节拍:有尖峰、有偏斜、有辨识度,因果方向就藏在这些“个性”里。LiNGAM(线性非高斯无环模型)正是利用这一点,像“听声辨位”一样,从纯观测数据中还原出因果关系。这篇文章,我们就沿着“听声辨位”的思路,把非高斯性检验彻底讲明白。

岗位关联

掌握非高斯性检验,你就掌握了从观测数据中“听出”因果方向的钥匙——这是因果推断、可解释 AI 与工业根因分析中极具含金量的核心技能。

目录
  1. 可视化演示
  2. 非高斯基础
  3. 因果方向原理
  4. LiNGAM核心
  5. 独立成分分析
  6. 检验与优化
  7. 应用与实战
  8. AI 应用场景
  9. Python 演示
  10. 常见误区
  11. 面试题

可视化演示

展示高斯与非高斯分布的峰度差异、LiNGAM利用非高斯残差判定因果方向的原理,以及不同检验方法功效随样本量变化的关系。

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

高斯与非高斯分布对比 高斯分布峰度=3,对称钟形曲线 拉普拉斯分布峰度=6,尖峰厚尾特征 非高斯性越强越有利于因果方向识别 Kurt(X) = E[(X-μ)⁴]/σ⁴ 非高斯性是LiNGAM因果发现的必要条件

非高斯基础

如果你要在公寓楼里“听声辨位”,第一件事是熟悉每种声音的长相。高斯分布就是统计世界里的“白噪音”——一条对称的钟形曲线,由均值和方差两个旋钮完全控制。你可以把它想象成一个永远齐声合唱“啊——”的合唱团:音调恒定、起伏均匀,听不出任何性格,也找不到声源的方向。

非高斯分布则是“有性格”的声音:可能像踢踏舞一样节奏鲜明、会有厚长的尾巴,也可能像古琴独奏一样整体偏向一侧。统计学家用偏度描述分布的“左右不对称程度”,用峰度描述“尖端或平坦程度”。峰度的定义是四阶中心矩除以方差平方再减三:

κ=E[(X−μ)4]σ4−3\displaystyle \kappa = \frac{\mathbb{E}\left[(X-\mu)^4\right]}{\sigma^4} - 3

1. 中心化离差:$X-\mu$ 表示每个样本点离均值 $\mu$ 有多远;离得越远,说明数据越“出格”。

X−μ\displaystyle X-\mu

2. 四次方放大尾部:$(X-\mu)^4$ 把大的偏离放大四次方,让尾部极少数的极端值在分子中占据主导,从而暴露“厚尾”特征。

(X−μ)4\displaystyle (X-\mu)^4

3. 方差归一化:$\sigma^4$ 是方差的平方,用来消除量纲影响,使不同尺度的变量可以相互比较。

σ4=(Var(X))2\displaystyle \sigma^4 = \left(\text{Var}(X)\right)^2

4. 基准归零:减去 $3$ 是因为标准正态分布的四阶矩恰为 $3$;减完后,高斯分布的峰度正好为 0,正的峰度表示“尖峰厚尾”,负的表示“平坦薄尾”。

κ=0⟺X 服从高斯分布\displaystyle \kappa = 0 \quad \Longleftrightarrow \quad X \text{ 服从高斯分布}

除了峰度,互信息也是衡量变量独立性的重要工具:$I(X;Y)=0$ 当且仅当 $X$ 与 $Y$ 相互独立,它比“相关系数为零”更严格。回到公寓:当你听到“沙沙”的白噪音,你无从判断它在几楼,因为高斯分布在任何方向看起来都一样;而当你听到踢踏舞的节奏——那种厚尾的、有冲击力的节拍——你立刻有了线索。非高斯性检验的第一个作用,就是判断手里的数据究竟是“没有性格的白噪音”,还是“留着线索的节奏”。

因果方向原理

假设楼上传来踢踏舞声 $X$,楼下响起“咯吱”的回应声 $Y$,$Y$ 其实是 $X$ 引发的下游效果。但你的录音里只有混在一起的两条时间序列——观测数据 $X$ 和 $Y$。怎么判断是“踢踏舞导致咯吱回响”,而不是反过来?关键在于:如果把录音倒着放,错误方向会留下“不独立的尾巴”。

写成数学语言:令 $X = e_X$,$Y = aX + e_Y$,其中 $e_X, e_Y$ 是相互独立的噪声。从 $X$ 到 $Y$ 的方向是正确的,因为回归残差 $e_Y$ 确实与原因 $X$ 独立。可如果尝试反方向,用 $Y$ 解释 $X$,残差会变成:

r=X−Cov⁡(X,Y)Var⁡(Y) Y\displaystyle r = X - \frac{\operatorname{Cov}(X,Y)}{\operatorname{Var}(Y)}\,Y

1. 回归系数的解析解:$\dfrac{\operatorname{Cov}(X,Y)}{\operatorname{Var}(Y)}$ 是“用 $Y$ 预测 $X$”时最小二乘回归的斜率,它是微积分里让平方误差最小的那个最优系数。

c=Cov⁡(X,Y)Var⁡(Y)\displaystyle c = \frac{\operatorname{Cov}(X,Y)}{\operatorname{Var}(Y)}

2. 构造残差:残差 $r = X - cY$ 表示“把 $Y$ 的线性影响从 $X$ 中剔除后还剩多少”。在 $Y$ 是真实原因时,剩下的是独立的噪声;在 $Y$ 只是结果时,$e_Y$ 的非高斯信息会泄漏进 $r$,导致 $r$ 与 $Y$ 不独立。

r=X−cY\displaystyle r = X - cY

3. 独立性检验定方向:用互信息或非高斯性指标检验 $r$ 是否独立于 $Y$:独立,说明方向正确;不独立,说明方向反了。

I(r; Y)=0  ⇒  Y→X 不成立\displaystyle I(r;\,Y) = 0 \;\Rightarrow\; Y \to X \text{ 不成立}

这正是 Darmois-Skitovitch 定理的直观体现:两个线性组合中如果含有共同的非高斯分量,它们就不可能独立。因此,非高斯信号在混合后仍保留着“独立性指纹”,让我们能区分正确与错误的方向。反过来,如果 $e_X, e_Y$ 都是高斯分布,那么无论从哪个方向回归,残差都保持高斯且相互独立——就像白噪音录音无论正放倒放都分不清来源。高斯数据让因果方向“隐身”,非高斯数据则让方向“现形”。

LiNGAM核心

把公寓扩大成整栋楼:每个房间的声音 $x_i$,都等于其他房间传到这里的线性叠加,再加上这个房间自己独有的声源 $e_i$。LiNGAM 就是把这条“声音传递规则”写成数学方程:

xi=∑j≠ibij xj+ei\displaystyle x_i = \sum_{j \neq i} b_{ij}\,x_j + e_i

1. 观测变量:$x_i$ 是第 $i$ 个可观测变量,对应楼里第 $i$ 个房间录到的总声音。

xi\displaystyle x_i

2. 影响系数:$b_{ij}$ 表示房间 $j$ 对房间 $i$ 的影响强度;它可能是正数(放大)或负数(抵消)。

bij\displaystyle b_{ij}

3. 线性叠加求和:$\sum_{j \neq i} b_{ij} x_j$ 把所有其他房间传来的声音按权重加总,这正是“线性”二字的来源;$j \neq i$ 保证房间不会自己影响自己。

∑j≠ibij xj\displaystyle \sum_{j \neq i} b_{ij}\,x_j

4. 独立非高斯噪声:$e_i$ 是房间独有的、不受其他房间影响的声源,它必须是非高斯的——这是 LiNGAM 最重要的前提,也是“听声辨位”的线索来源。

ei⊥ ⁣ ⁣ ⁣⊥ej  (i≠j),ei 非高斯\displaystyle e_i \perp\!\!\!\perp e_j \;(i\neq j), \quad e_i \text{ 非高斯}

LiNGAM 的名字本身就是三条命脉:Linear(因果关系是线性叠加)、Non-Gaussian(每个外生噪声非高斯)、Acyclic Model(因果图是有向无环的,声音不会绕一圈传回自己房间形成死循环)。有向无环约束不仅符合绝大多数自然系统的直觉,它还在数学上保证了因果顺序的存在:总能给变量排出一个“谁先发声、谁后回应”的拓扑序。楼里的传声规则一旦写成这套方程,剩下的任务就是想办法把 $e_i$ 和 $b_{ij}$ 从观测混音中解出来。

独立成分分析

现在你最想做的,是把混音拆开,还原出每个房间独有的声源。这正是独立成分分析(ICA)的任务:在“鸡尾酒会”般的混合信号中,把一个个独立的声音成分重新分离出来。把观测数据写成向量形式:

x=A s\displaystyle x = A\,s

1. 观测向量:$x$ 是所有麦克风同时录到的混合声音,是我们可以直接拿到的数据。

x=(x1,x2,…,xm)⊤\displaystyle x = (x_1, x_2, \dots, x_m)^{\top}

2. 混合矩阵:$A$ 描述了每个声源传播到每个麦克风的权重;在因果发现里,它对应结构方程中的影响系数 $b_{ij}$。

A=(bij)\displaystyle A = (b_{ij})

3. 独立成分向量:$s$ 是彼此独立的非高斯源信号,即各个房间独有的声源 $e_i$;ICA 的目标就是从 $x$ 中估算出 $s$。

s=(e1,e2,…,em)⊤\displaystyle s = (e_1, e_2, \dots, e_m)^{\top}

ICA 有两个天生的“含糊处”。第一是排列不确定性:分离出的成分顺序可能被随机打乱,我们不知道哪个成分对应哪个房间;第二是缩放不确定性:分离出的波形可能整体放大或缩小。好在 LiNGAM 的“无环”约束帮了大忙——因果顺序是唯一的,通过寻找使系数矩阵成为严格下三角的排列,就能把被打乱的顺序重新摆正。摆正后的 $s$,就是我们要找的独立非高斯噪声 $e_i$,而系数则藏在 $A$ 的逆矩阵里。混音一旦被拆开,每个房间的独特脚步声就一一归位了。

检验与优化

“听声辨位”的前提,是声音真的有个性。如果数据实际上接近高斯,LiNGAM 就像试图在白噪音里找踢踏舞的节拍——注定徒劳。因此,进入因果推断之前必须先做非高斯性检验。常用手段包括:检验峰度是否显著偏离 0(对应厚尾或尖峰),以及 Jarque-Bera 检验,它综合峰度和偏度判断数据是否偏离正态。

除了检验,预处理同样重要。最经典的两步是中心化与白化:中心化让每个变量减去均值,使数据围绕原点分布;白化则对数据做线性变换,让各维度互不相关且方差一致。直接对这些“去个性”的标准化数据做 ICA 收敛更快、数值更稳。白化变换写成:

x~=V x\displaystyle \tilde{x} = V\,x

1. 白化矩阵:$V$ 是满足 $\operatorname{Cov}(\tilde{x}) = I$ 的线性变换矩阵;它由协方差矩阵的特征分解构造而来。

V=Λ−1/2U⊤\displaystyle V = \Lambda^{-1/2} U^{\top}

2. 线性变换:$\tilde{x} = Vx$ 把原始观测 $x$ 映射到新的坐标系;在该坐标系中,数据的协方差矩阵变成单位阵,所有维度都“规规矩矩”。

E[x~x~⊤]=I\displaystyle \mathbb{E}[\tilde{x}\tilde{x}^{\top}] = I

3. 几何意义:白化相当于把散点图里的椭圆云旋转并拉伸成一个正圆,消除了二阶相关性;后续 ICA 只需要在这颗“圆球”上寻找非高斯的尖角方向。

x~ 的各分量互不相关、单位方差\displaystyle \tilde{x} \text{ 的各分量互不相关、单位方差}

样本量方面,非高斯性检验需要足够的观测数据才能让尾部特征稳定显现;样本太少,厚尾可能被噪声淹没。稳定性分析则提醒我们:峰度估计对强异常点敏感,必要时可以先做离群点截断,或使用更稳健的检验统计量。检验通过、预处理完毕,才敢放心地让 LiNGAM 上场——就像确认楼里的声音确实各有个性后,听声辨位才会奏效。

应用与实战

从公寓走向城市,“听声辨位”的本领一旦练成,就能跨界解决各种“谁影响谁”的问题。在基因调控网络中,每个基因的表达量都是观测信号,研究者的目标是找出哪个基因“发声”启动了另一个基因的表达;LiNGAM 利用非高斯性从批量测序数据中推断调控方向,帮助科研人员锁定上游的“指挥基因”。在金融领域,不同机构的收益率序列相互传染,LiNGAM 可以估计风险从哪家机构传导到哪家机构——这正是宏观审慎监管关心的传导路径。在工业生产线上,众多传感器同时采集信号,当不合格品出现时,质量工程师面对几十条互相关的曲线无从下手;LiNGAM 能从历史数据中还原故障传播路径,把根因定位到最早异常的那个传感器。

工程实现上,Python 生态已经提供了成熟的 lingam 库,其中 DirectLiNGAM 算法直接对非高斯数据进行因果方向推断,接口简洁、结果以邻接矩阵呈现。实际项目中的要点包括:先做峰度和 Jarque-Bera 检验确认非高斯前提;对高维数据先降维再用 ICA 提取成分;使用 Bootstrap 对因果边做置信度评估,避免单次估计的偶然性。从深夜的踢踏舞声,到基因、金融与工厂里的海量数据,非高斯性检验始终是那台灵敏的“声呐”——它让沉默的数据开口说话,告诉我们在纷繁复杂的变量背后,究竟是谁推动了谁。

AI 应用场景

基因调控网络中的方向推断

阶段:因果发现与可解释 AI 建模

解决的问题:传统差异表达分析只能告诉我们哪些基因“同时活跃”,却给不出“谁调控谁”的方向;实验手段(如基因敲除)成本极高。LiNGAM 直接对基因表达矩阵建模,利用非高斯噪声的独立性指纹推断调控方向,把候选靶基因范围缩小数倍。

具体案例:某肿瘤研究团队拿到 500 例患者的转录组数据,先对每个基因的表达量做峰度检验,筛选出非高斯性显著的基因集;再运行 DirectLiNGAM,得到一张有向无环的调控网络,锁定一个此前未被关注的上游转录因子,后续湿实验验证了它对下游基因的激活作用。

工业生产线故障根因定位

阶段:异常诊断与根因分析

解决的问题:产线上几十个传感器信号高度相关,传统相关分析只能给出“一起波动”的结论,无法判断哪个环节最先异常。LiNGAM 在时序切片上学习传感器间的线性非高斯因果结构,把故障传播路径还原成一条有向链。

具体案例:某汽车零部件工厂的焊接工位良率骤降,工程师将 12 个关键工艺参数的历史数据送入 LiNGAM 模型,发现“电极磨损度”是传播链的起点,而表面粗糙度只是下游表现。更换电极后良率恢复,损失时间从三周缩短到三天。

Python 演示

python28 行
import numpy as npfrom scipy import statsfrom lingam import DirectLiNGAM  def generate_non_gaussian(n=2000, b=0.8, seed=42):    rng = np.random.default_rng(seed)    e1 = rng.standard_t(df=3, size=n)    e2 = rng.standard_t(df=3, size=n) * 0.7    x1 = e1    x2 = b * x1 + e2    return np.column_stack([x1, x2])  def check_non_gaussian(X):    for i in range(X.shape[1]):        kurt = stats.kurtosis(X[:, i])        jb = stats.jarque_bera(X[:, i])        print(f"var {i}: kurtosis={kurt:.3f}, JB={jb.statistic:.3f}, p={jb.pvalue:.6f}")  if __name__ == "__main__":    X = generate_non_gaussian()    check_non_gaussian(X)    model = DirectLiNGAM()    model.fit(X)    print("adjacency matrix (row -> col):")    print(model.adjacency_matrix_)
目的:生成一组真实因果方向为 x1→x2 的非高斯数据,先做非高斯性检验确认前提条件满足,再用 DirectLiNGAM 从纯观测数据中还原因果方向。
  1. e1 = rng.standard_t(df=3, size=n)用 t 分布(自由度 3)产生厚尾的非高斯噪声,这是“有性格的踢踏声”。
  2. x2 = b * x1 + e2按照真实因果规则构造 x2,让数据自带 x1→x2 的方向信息。
  3. kurt = stats.kurtosis(X[:, i])计算每个变量的超额峰度,显著非 0 说明具备非高斯性。
  4. jb = stats.jarque_bera(X[:, i])同时结合偏度和峰度做正态性检验,p 值极小则拒绝“数据是高斯”的假设。
  5. model = DirectLiNGAM()实例化 LiNGAM 系列中的直接估计模型,用于纯观测数据因果方向推断。
  6. model.fit(X)拟合模型,内部通过 ICA 找到独立非高斯成分并恢复因果顺序。
  7. model.adjacency_matrix_输出邻接矩阵,第 i 行第 j 列元素表示 i → j 的因果影响强度。

常见误区

误区我算出来两个变量相关系数高达 0.9,那肯定是“数值大的那个影响了数值小的那个”。既然相关这么强,因果方向不是明摆着吗?

正解相关性是完全对称的——X→Y 和 Y→X 的相关系数一模一样,它本身不携带任何方向信息。在数据是高斯的场景下,正反两个方向的回归残差都能保持高斯和独立,方向根本不可识别。LiNGAM 判断方向靠的是“非高斯噪声的独立性指纹”,而不是相关性的大小。就像楼上楼下声音都很响亮,不代表响亮那层就是声源——方向要靠节拍的独立性,而非音量。

为何常见:日常因果直觉里“相关伴随先后”很自然,人们容易把统计相关与因果方向混为一谈,忽略了相关性的对称性。

误区LiNGAM 只要跑起来就能给出因果图,那是不是随便什么数据都能直接塞进去?我优化一下样本量,结果应该也不会差太多吧。

正解非高斯性检验是 LiNGAM 的“入场券”。如果数据接近高斯分布,算法会变成在噪声中猜谜,估计出的方向随机且不可重复,甚至可能给出完全相反的因果结论。实践中应该先计算峰度和 Jarque-Bera 统计量,确认每个外生变量确实非高斯,再进行因果推断。这就像没有节奏的白噪音混音里,再好的耳朵也听不出楼层。

为何常见:很多工具库不强制报错,模型照样能跑通,导致使用者误以为“能运行”就等于“结果可信”。

误区LiNGAM 只要有非高斯性就行,那分布是什么形状并不重要,正态不正态都无所谓,偏度大点小点也没关系。

正解LiNGAM 的前提是“变量服从线性结构方程,且外生噪声为独立的非高斯变量”。如果真实系统是非线性的,或者噪声虽然非高斯但相互之间存在依赖,模型估计就会失真。此外,峰度太接近 0 的弱非高斯数据也会让方向识别很不稳定。它像一把为“线性房间”设计的听诊器,换到非线性混响的厂房里就需要更复杂的方法。

为何常见:人们容易把“非高斯”理解成一个宽松的大类,忽略了模型对“线性”和“噪声独立”也同样有硬性要求。

误区ICA 分离出的独立成分排在第几列,第几个就是最早的原因?排列顺序应该就是因果顺序吧,直接读模型输出就好。

正解ICA 本身存在排列不确定性,它只能把独立成分分离出来,却分不清哪个成分对应哪个变量、谁先谁后。LiNGAM 之所以能确定因果顺序,是因为它额外利用了“有向无环图”约束,在所有排列中寻找能让系数矩阵成为三角矩阵的那一个。若不借助这个约束,直接看 ICA 的输出顺序定因果,就像拿到一盒打乱顺序的录音带,却想当然认为第一轨就是声源。

为何常见:ICA 接口通常直接返回排好序的数组,初学者容易把这些数组的位置当成物理含义,忽略了算法内部的本质不确定性。

面试题

Q1. LiNGAM 中的“非高斯”主要指什么?

单选题 · easy

  • A.数据呈现出某种显著有偏的分布形态
  • B.变量分布并非高斯而是其他分布形态← 正确答案
  • C.噪声项必须来自某个完全已知分布
  • D.因果图中不能出现任何循环回路

答案:B。LiNGAM 的核心假设是每个变量的外生噪声项是非高斯分布的,即“分布不是高斯”(B 正确)。A 把非高斯等同于“有偏”太狭窄——对称的拉普拉斯分布也无偏;C 是错误条件,分布类型不必预先已知;D 是“无环”假设的表述,与“非高斯”无关。

Q2. 高斯数据下因果方向为何难以识别?

单选题 · easy

  • A.高斯数据方差太大导致参数估计很困难
  • B.正反两个方向残差都可以保持高斯性质← 正确答案
  • C.高斯数据点过于集中无法画出回归直线
  • D.高斯分布均值恒定所以无法区分先后

答案:B。当噪声是高斯分布时,无论按 X→Y 还是 Y→X 回归,残差都仍然是高斯且与原因独立,方向信息完全被对称性掩盖(B 正确)。方差大可以标准化处理,不影响方向识别;数据点集中与否与高斯性无关;均值恒定同样与因果关系无关。

Q3. 峰度度量分布的什么性质?

单选题 · mid

  • A.分布中心位置偏离零点的程度大小
  • B.分布尾部厚重程度与尖峰程度← 正确答案
  • C.两个变量之间线性相关程度强弱
  • D.样本数量是否足够支撑统计推断

答案:B。峰度是四阶中心矩归一化后再减 3,度量的是分布“尖峰厚尾”的程度(B 正确)。分布中心位置由均值描述,相关性强弱由协方差或相关系数描述,样本量是否足够是统计学功效问题——它们都不属于峰度的语义范围。

Q4. 以下哪些属于非高斯性检验手段?

多选题 · mid

  • A.计算样本峰度并做显著性检验判断← 正确答案
  • B.使用 Jarque-Bera 检验综合判断正态性← 正确答案
  • C.直接对协方差矩阵做特征值分解判定
  • D.通过计算变量均值差来直接判断分布

答案:AB。峰度显著性检验能识别厚尾或尖峰偏离(A 正确);Jarque-Bera 检验综合峰度和偏度判断正态性(B 正确)。协方差矩阵特征值分解反映的是二阶相关性,与高阶分布形状无关(C 错误);均值差只是位置差异,不携带分布形状信息(D 错误)。

Q5. ICA 的排列不确定性是指什么?

单选题 · mid

  • A.无法确定分离后各独立成分的先后顺序← 正确答案
  • B.无法确定原始信号是否服从线性混合
  • C.无法确定独立成分是否有有限方差
  • D.无法确定观测数据的特征维度数量

答案:A。ICA 模型的混合矩阵和独立成分存在排列上的自由度——交换成分顺序后方程依然成立,因此分离结果无法天生确定顺序(A 正确)。模型是否线性是建模假设而非 ICA 的缺陷;方差有限性与排列无关;观测维度是输入给定的,不会被 ICA 改变。

Q6. LiNGAM 的模型假设包含哪些?

多选题 · mid

  • A.变量间因果关系由线性结构方程描述← 正确答案
  • B.每个外生噪声项独立且服从非高斯← 正确答案
  • C.因果结构必须是有向无环图且可排序← 正确答案
  • D.观测变量维度必须远小于样本数量

答案:ABC。线性是“L“的要求(A 正确),噪声独立且非高斯是”N“的要求(B 正确),无环是”A“的要求并保证拓扑排序存在(C 正确)。”维度远小于样本”是计算实践中常见的经验法则,但不是 LiNGAM 的模型假设本身(D 错误)。

Q7. 错误方向残差与伪原因相关的原因是什么?

单选题 · hard

  • A.非高斯信号在线性混合后保留独立性指纹← 正确答案
  • B.样本量不足导致回归参数估计出现偏差
  • C.白化变换改变了真实变量之间的因果方向
  • D.峰度检验失败导致无法排除高斯误差项

答案:A。Darmois-Skitovitch 定理保证,共同体现于两个线性组合中的非高斯分量会使组合彼此依赖;因此从错误方向回归时,非高斯噪声信息会泄漏进残差并使其与伪原因相关(A 正确)。样本量不足是另一类数值问题,与独立性指纹无关;白化只是可逆预处理,不改变因果方向;峰度检验失败是前提问题而非残差相关的机理。

Q8. Darmois-Skitovitch 定理的核心含义是什么?

单选题 · hard

  • A.两个独立线性组合中的公共分量必为高斯← 正确答案
  • B.非高斯变量的线性组合必然仍为非高斯
  • C.所有高斯随机变量都可用线性组合表示
  • D.任意变量线性组合独立当且仅当同分布

答案:A。该定理指出,若两个线性组合相互独立,则它们含有的公共随机变量必然都是高斯分布(A 正确)。B 是常见误读,非高斯变量的线性组合完全可以变成高斯;C 以偏概全,高斯变量并不都适合用线性组合表示;D 混淆了“独立”与“同分布”两个不同概念。

Q9. 下列哪个场景不适合直接用 LiNGAM?

单选题 · mid

  • A.从基因表达数据推断基因间调控方向
  • B.从股票收益数据推断风险传导方向
  • C.从传感器数据定位生产故障根因
  • D.从图像像素颜色直方图推断因果方向← 正确答案

答案:D。图像像素直方图是描述色阶分布的统计量,像素之间没有明确的线性结构方程和因果语义,且直方图本身已被聚合,不适合直接作为 LiNGAM 的变量(D 不适合)。基因调控、金融传导和传感器根因定位都有物理或机制上的线性传递路径,是非高斯因果发现的典型场景。

Q10. 因果发现前的常见预处理包括哪些?

多选题 · easy

  • A.对每个变量进行中心化消除均值影响← 正确答案
  • B.对数据做白化处理消除二阶相关性← 正确答案
  • C.进行非高斯性检验确认方法适用前提← 正确答案
  • D.将数据集的样本顺序随机打乱重排

答案:ABC。中心化让变量围绕零点分布(A 正确),白化让各维度不相关且方差一致,为 ICA 提供数值稳定的输入(B 正确),非高斯性检验确认数据满足 LiNGAM 的前提条件(C 正确)。随机打乱样本顺序只是消除时序泄漏的手段,并非 LiNGAM 特有的预处理步骤,而且会破坏时序因果结构中的先后信息(D 错误)。