如果你在前方抬頭,而我亦抬頭

在 1968 年的某個冬日下午,一條繁忙的紐約街道上,一群人正抬頭望向身旁的建築物,這群莫名其妙的人吸引了路人的目光,有些人因此佇足,也有些人也跟著抬起了頭,望向遠方。 而他們的一舉一動正默默地被記錄下來⋯⋯

今年的搞笑諾貝爾獎(Ig Nobel Prize)於心理學領域,頒給了這篇 1969 年發表的研究, 他們試圖找出不同群眾大小所發揮的影響力是否相異,於是如同前段所述,研究者找了一個會有行人經過的場域,並且派出數量不等的群眾(1 ~ 15 人),站在街上仰望天空 60 秒,研究者並接著統計在這 60 秒期間,有多少路人會停下來,甚至是加入這個群體一起抬頭。

結果如圖一所示,當群眾從一人上升至十五人時,停止移動的行人比例從 4% 上升至 40%,而跟著一起抬頭的行人比例也從 42% 上升至 86%。研究者也做了 ANOVA,指出不同群體大小所導致的平均行為比例的確是有顯著差異的,而上升的趨勢也都至少有線性程度的顯著。

圖一 行人抬頭與停止移動的平均比例

當然這個研究也是有一些可以討論的地方,比如說當路人因為群眾的關係,跟著停下來向上看的時候,他不也就加入這個群眾了嗎?那麼原先設定的群眾人數其實是會增加的(圖一的 X 軸),這可能會導致圖一中的斜率被高估,這是研究者在內文有指出的一點,而他們也沒有對於圖中的斜率作出特別的解釋。我想這邊的群眾人數如果沒有被完全控制住的話(比如説當有一個路人加入,就有一個原先設定的群眾要退出),那這個問題可能就更像一個 Dynamic Treatment 的設定。

其次,我認為這個研究不太像一個「實驗」,因為有許多因素都沒有被控制住,然而,要去做一個這個研究的實驗其實也不太容易,畢竟要事先要找出一些受試者,請他們加入實驗,再來觀察他們的行為,光出發點就不太對勁了。因此我覺得這更像一個「觀察性研究(Observational Study)」,研究者透過觀察到的資料去分析出最終的結論。然而,這樣的研究其實不能輕易地給出因果上面的推論,比如根據這個研究,我們不太能說「前方的人抬頭導致了後面的人跟著抬頭」,而僅能斷言這兩者之間有相關性(Association),卻不一定有因果關係(Causation)。

那有什麼可能的因素會導致無法從觀察性研究推論因果效應呢?比如說有一對父子經過這群在路上奇異地抬起頭的群眾,爸爸先是抬起了頭,兒子則是因為看到爸爸抬起了頭,也跟著抬頭,那麼兒子就不是受到那些群眾的影響而抬頭,樣本之間也就互相影響到了。又或者如果有一個路人在進入街道之後,看到遠方有一些怪人,他為了降低自己被惡作劇的風險(?),便轉頭離開了這個街道,那麼此時這個路人應該要被計算在實驗的樣本之中嗎?這就多少有一點 Seleciton Bias 的味道。

當我們試圖去找出因果效應的時候,Randomized Controlled Trial (RCT) 似乎是一種最理想的實驗,但當這種實驗難以執行的時候,便如同這個研究所呈現的,我們或許可以仰賴 Observational Study 的幫助,而這其中的 gap 往往需要仰賴研究者去進一步校正,去盡可能地讓觀察性的資料逼近 RCT,那也就有從 Association 推論 Causation 的可能性。

又突然想到一事。

當你在某處抬頭,而我亦抬頭,我們便會望向同一片天空。


Reference

Milgram, S., Bickman, L., & Berkowitz, L. (1969). Note on the drawing power of crowds of different size. Journal of Personality and Social Psychology, 13(2), 79.

關於主成份分析 PCA 的一個小秘密

主成份分析 (Principal Component Analysis, PCA)常用於在低維空間空間表示高維資料,以達到維度縮減的功用,在資料科學實務上或能降低維度詛咒(the curse of dimensionality)所帶來的風險。想必大部分人在學習資料科學都會學到 PCA (而不是在多變量分析 🙁 ),而在某天我偶然得知關於 PCA 第一個 Principal Component (PC)的小秘密……但在那之前我們可能要一起複習一下背景知識。

PC 是從哪裡來的?

給定一 $p$ 維的隨機向量 $x$,且令其平均 $E[x] = 0$ 並有共變異數矩陣 $\text{COV}(x) = \Sigma$,根據特徵分解 (i.e., Eigendecomposition, Spectral decomposition) 可得
$$\begin{aligned}
\Sigma &= \Gamma \Lambda \Gamma^\intercal \\
&= \begin{bmatrix} \gamma_{(1)} & \cdots & \gamma_{(p)} \end{bmatrix}
\begin{bmatrix}
\lambda_1 & 0 & \dots & 0 \\
0 & \lambda_2 & \dots & 0 \\
\vdots & \vdots & \ddots & \vdots \\
0 & 0 & \dots & \lambda_p
\end{bmatrix}
\begin{bmatrix} \gamma_{(1)}^\intercal \\ \vdots \\ \gamma_{(p)}^\intercal \end{bmatrix} \\
&= \sum_{i=1}^p \lambda_i \gamma_{(i)} \gamma^\intercal_{(p)}
\end{aligned}$$
其中$\Lambda = \text{diag}(\lambda_1, \cdots, \lambda_p)$ 由 $\Sigma$ 的特徵值所組成,不失一般性令 $\lambda_1 \ge \lambda_2 \ge \cdots \ge \lambda_p \ge 0$;$\Gamma = \begin{bmatrix} \gamma_{(1)} & \cdots & \gamma_{(p)} \end{bmatrix}$ 由 $\Sigma$ 的特徵向量所組成,又因 $\Sigma$ 為實對稱矩陣,故特徵向量之間彼此正交,我們也可以進一步單位化其長度,也就是說 $\gamma_{(i)}^\intercal \gamma_{(i)} = 1; \gamma_{(i)}^\intercal \gamma_{(j)} = 0$, if $i \neq j$; $\Gamma \Gamma^\intercal = I_p$。

而原本 $p$ 維的隨機向量 $x$ 可以表示成 $$x = \Gamma \Gamma^\intercal x$$
是的,目前為止看似在做白工,不過若我們只考慮 $q$ 個特徵向量呢?($q < p, \Gamma_q = \begin{bmatrix} \gamma_{(1)} & \cdots & \gamma_{(q)} \end{bmatrix}$)
$$
\begin{aligned}
y &= \Gamma_q \Gamma_q^\intercal x \\
&= \Gamma_q \begin{bmatrix} \gamma_{(1)}^\intercal x \\ \gamma_{(2)}^\intercal x \\ \vdots \\ \gamma_{(q)}^\intercal x \end{bmatrix}
\end{aligned}
$$
則 $y$ 是一個 $x$ 在較低維度空間的投影,其大小 $\Gamma_q^\intercal x$ 作用在 $ \Gamma_q$ 的方向上(正交基底),可以稱 $y$ 為 $q$ 維的 principal component approximation,而 $x$ 的第 $i$ 個 principal component 定義為 $\gamma _{(i)}^\intercal x$ 。

以上的說明其實比較像從結果來解釋,一般來說 PCA 即是想要將 $x$ 正交投影到另一個較低維度的空間上,並且試圖讓投影之後的誤差最小。給定 $p$ 維的隨機向量 $x$,且其 $E[x] = \mu, \text{COV}(x) = \Sigma$,並令其投影到 $q$ 維空間之後的結果為 $y$,則 $y$ 可以寫成: $$y = x_0 + BB^\intercal(x-x_0),$$
$x_0 \in \mathbb{R}^p$,$B$ 是一個 $p \times q$ 的矩陣,且 $B^\intercal B = I_q$。可以證明當 $y$ 與 $x$ 的 Mean Squared Error (MSE) 最小時,$x_0 = \mu, B = \Gamma_q$(也就是我們上面反過來敘述的 $y = \mu + \Gamma_q \Gamma_q^\intercal (x-\mu)$)。
而證明的前幾行是這樣寫的… $$\begin{aligned}
\text{MSE}(x;y) &= E[(y-x)^\intercal (y-x)] \\
&= E[(x-x_0)^\intercal (I-BB^\intercal) (x-x_0)] \\
&\geq \cdots
\end{aligned}$$

關於第一個 PC

在實務上我們需要決定要選幾個 PC($q$ 值)來表示原資料,常見的手法如對 PC 可解釋的變異百分比(如下圖)或累積解釋的變異百分比做圖,而往往第一個 PC 會有最大的可解釋變異,當然這不會是巧合,我們可以再從式子上重新驗證:

$$
\begin{aligned}
\text{Var}(\gamma_{(1)}^\intercal x) &= \gamma_{(1)}^\intercal \text{Var}(x) \gamma_{(1)} \\
&= \gamma_{(1)}^\intercal \Sigma \gamma_{(1)} \\
&= \lambda_{1} \gamma_{(1)}^\intercal \gamma_{(1)} && (\Sigma \gamma_{(1)} = \lambda_1 \gamma_{(1)}) \\
&= \lambda_1, \text{ 最大的 eigenvalue}
\end{aligned}
$$

因為我們事先將共變異數矩陣的特徵值由大到小排列,所以每個 PC 的可解釋變異(也就是特徵值拉!)也會由大到小遞減,然而對第一個 PC 來說竟是有一個神秘的性質:

若共變異數矩陣的元素皆為正的話,則 $\gamma_{(1)}$ 裡的每一個元素都會同號

前面胡謅了那麼多,其實就是想跟大家介紹這個我視之為秘密的事實,當然我們還是得從證明的角度來看這件事情:

將 $\gamma_{(1)}$ 表示成 $\begin{bmatrix} b_1 & b_2 & \cdots & b_p \end{bmatrix}^\intercal$,在不失一般性的情況下證明 $b_i > 0, \forall i \in \{1, \ldots, p\}$

Proof
令 $y_i = \lvert b_i \rvert, \forall i$
$$
\begin{aligned}
0 \leq \lambda_1 &= \gamma_{(1)}^\intercal \Sigma \gamma_{(1)} \\
&= \sum_{i=1}^{p} \sum_{j=1}^p \Sigma_{ij} b_i b_j \\
&= \left\lvert \sum_{i=1}^{p} \sum_{j=1}^p \Sigma_{ij} b_i b_j \right\rvert \\
&\leq \sum_{i=1}^{p} \sum_{j=1}^p \Sigma_{ij} \lvert b_i \rvert \lvert b_j \rvert && (\Sigma_{ij} > 0, \forall i, j)\\
&\leq \sum_{i=1}^{p} \sum_{j=1}^p \Sigma_{ij} y_i y_j \\
&\leq \lambda_1 && (\text{since } \arg\max_d \text{Var}(d^\intercal x) = \gamma_{(1)}) \\
\end{aligned}
$$

– 等號必定成立且成立於 $y$ 是一個特徵值為 $\lambda_1$ 的特徵向量
– 根據 $\lambda_1 y = \Sigma y$,可以得到 $\lambda_1 y_i = \sum_{j=1}^p \Sigma_{ij}y_j, \forall i$
– 倘若存在 $i$,使得 $y_i = 0$,在給定 $\Sigma_{ij} > 0$的情形下,可得所有的 $y_j$ 都為 0,顯然不可能
– 因此我們有所有的 $y_j > 0$
– 總結以上,$\lambda_1 y = \lambda_1 \gamma_{(1)} = \Sigma y = \Sigma \gamma_{(1)}$, where $\gamma_{(1)} = y = \begin{bmatrix} y_1 & y_2 & \cdots & y_p \end{bmatrix}^\intercal$ with $y_j > 0, \forall j$
– 故得證(如果要證每個元素都 $< 0$ 的話,邏輯也是類似的)

這篇文章介紹的這個觀念其實出自於教科書的習題,但光是要把這個特性講清楚竟是要用到許多線代的技巧,並好好地鋪陳 PCA 才行。坦白說這個我視之為秘密的東西在實務上一點用處都沒有,但什麼時候每個東西一定要有用才行?我們又怎麼捨得不多學一點東西呢。