Correlation
Frequent pattern
如果 A 和 B 两个东西经常同时出现,那么我们认为它们之间有相关性,或者说它们之间的相关性比较强。
Frequent pattern 意为经常同时出现的一组元素。以下图为例:

通过这个交易清单,可以看出哪些商品是同时被交易的。
- Itemset:每个商品称为一个 item,一个或者多个 item 则称为 itemset。
- Support of X:定义了 X 这个 itemset 出现的的频率(频次)
假如 X 的 support 超过了我们定义的某个阈值,那么我们称其为频繁的(frequent)。比如上图中,{Beer, Diaper} 这个 itemset 总共出现了 3 次,如果我们将阈值设置为 3,那么这个 itemset 就是频繁的。
容易看出,一个 itemset X 如果是频繁的,那么它的子集 Y⊆X 也一定是频繁的。
Apriori algorithm
一个常见的 data mining 的算法,给定一个表单,这个算法用于挖掘其中的 frequent itemset。
算法流程:
- Initialize k=1 and candidate 1-itemsets.
- Repeat until no frequent set can be generated:
- Scan database to get frequent k-itemsets based on candidate k-itemsets.
- Generate candidate (k+1)-itemsets from frequent k-itemsets.
- k=k+1
比如对于下面的情况,先定义阈值 threshold=2。





Correlation
相关性可以分类为:正相关、不相关、负相关。假如有两组数据
x=[x1,x2,…,xn]y=[y1,y2,…,yn]
可以得到相关性:
corr(x,y)=σxσycov(x,y)=∑i=1nn(xi−xˉ)2∑i=1nn(yi−yˉ)2∑i=1nn(xi−xˉ)(yi−yˉ)=(xT−xˉT)(x−xˉ)(yT−yˉT)(y−yˉ)(xT−xˉT)(y−yˉ)=x~Tx~y~Ty~x~Ty~
corr(x,y) 接近 1,为正相关;接近 0,为不相关;接近 −1,为负相关。
Canonical Correlation Analysis (CCA)
如果每个样本不是 scalar 而是 vector,那么需要重新定义 correlation。此时两组数据为:
X=[x1,x2,…,xn]Y=[y1,y2,…,yn]
这种情况可能应用于多模态中,比如有一组图片和一组文字,每张图片可以提取一个特征 xi,每段文字同样提取特征 yi,这样就能够得到 n 对 xi,yi。此时考虑图像和文本特征之间的相关性,就需要引入 CCA。

这个方法的核心思想是学习投影向量,然后把 vector 投影到 scalar,就可以沿用计算 correlation 的方法。
- 将 X 和 Y 去中心化
- 学习 wx,wy,使得 X 和 Y 之间的 correlation 最大化。记 Xˉ=wxTX, Yˉ=wyTY
Xˉ,Yˉmax(XˉXˉT)(YˉYˉT)XˉYˉT⟶wx,wymax(wxTXXTwx)(wyTYYTwy)wxTXYTwy
Kernel Canonical Correlation Analysis (KCCA)
为了解决样本向量为无穷维的情况,将 correlation 进一步拓展,对每个样本做 kernel 映射,即:
x=[x1,x2,…,xn]y=[y1,y2,…,yn]↓ϕ(X)=[ϕ(x1),ϕ(x2),…,ϕ(xn)]ϕ(Y)=[ϕ(y1),ϕ(y2),…,ϕ(yn)]
由于维度为无穷,那么我们无法直接写出 wx,wy。但是利用 representation theorem,我们知道:wx←ϕ(X)αx,wy←ϕ(Y)αy,因此 CCA 中学习 wx,wy 在这里变成了学习 αx,αy:
wx,wymax(wxTϕ(X)ϕ(X)Twx)(wyTϕ(Y)ϕ(Y)Twy)wxTϕ(X)ϕ(Y)Twy↓max(αxTϕ(X)Tϕ(X)ϕ(X)Tϕ(X)αx)(αyTϕ(Y)Tϕ(Y)ϕ(Y)Tϕ(Y)αy)αxTϕ(X)Tϕ(X)ϕ(Y)Tϕ(Y)αy=(αxTK(X)K(X)αx)(αyTK(Y)K(Y)αy)αxTK(X)K(Y)αy
Correlation and independence
不相关 (uncorrelation):
corr(x,y)=σxσycov(x,y)=σxσy∑i=1nn(xi−xˉ)(yi−yˉ)=σxσyn1∑i=1nxiyi−xˉn∑i=1nyi−yˉn∑i=1nxi+xˉyˉ=σxσyE(xy)−E(x)E(y)corr(x,y)=0⇒E(xy)=E(x)E(y)
独立 (independence):
p(x,y)=p(x)p(y)
两者关系为:独立 → 不相关;不相关 → 独立。
证明:
如果两个随机变量 x,y 有 p(x,y)=p(x)p(y),那么
E(xy)=x,y∑xy⋅p(x,y)=x,y∑xy⋅p(x)p(y)=x∑xp(x)y∑yp(y)=E(x)E(y)
但反之不成立,比如 x,y 均匀分布在一个圆上。
Conditional independence
x 和 y 在给定 z 的条件下独立,可以记为:
x⊥y∣z
条件独立有两个等价的形式,为:
p(x∣y,z)=p(x∣z)⇔p(y,z)p(x,y,z)=p(z)p(x,z)⇔p(z)p(x,y,z)=p(z)p(x,z)p(z)p(y,z)⇔p(x,y∣z)=p(x∣z)p(y∣z)
Some properties
x⊥y∣zx⊥yx⊥y,zp(x,y∣z)=p(x∣z)p(y∣z)p(x,y)=p(x)p(y)p(x,y,z)=p(x)p(y,z)
- x⊥y,z⇒x⊥yandx⊥z
- x⊥y,z⇒x⊥y∣zandx⊥z∣y
- x⊥y∣zandx⊥z⇒x⊥y,z
Causation
相比 correlation 应用场景更少。
比如物理学中,力和运动之间不是 causation,力不导致运动,而是使得运动状态变化。但是两者之间可以有 correlation。
Correlation or causation
Positive correlation between the number of people wearing T-shirts and the number of people eating ice-cream. But no causation between them.

How to infer causation?
- Intervention
- Counterfactual

Causal graph
下面的图中灰色的节点表示该节点被赋值;白色的节点表示值未知。节点间的箭头表示。

- chain: p(A,C∣b)=p(A∣b)p(C∣b)
- fork: p(A,C∣b)=p(A∣b)p(C∣b)
- collider: p(A,C)=p(A)p(C)