歡迎來到主成分分析(Principal Components Analysis,簡稱 PCA)的世界!

你好!今天我們將深入探討預測模型人員工具箱中最強大的「超能力」之一:主成分分析(PCA)。本章節是我們探索資料轉換與非監督式學習旅程的一部分。

別擔心,這個名稱聽起來可能有點嚇人。但說穿了,PCA 其實就是一種簡化複雜數據的聰明方法。想像一下,你的一個房間亂七八糟,散落著 50 種不同的物品。PCA 能幫助你找出 3 到 4 個這些物品最合適的「大箱子」,讓你能夠更輕鬆地描述這個房間。讓我們開始吧!

PCA 究竟是什麼?

在許多精算數據集中,我們通常有幾十個(甚至幾百個)變數。這些變數往往是相關的 (correlated),意思就是它們會同時變動。例如,在人壽保險數據集中,「年齡」、「工作年資」和「白頭髮數量」通常會隨著時間一起增加。

主成分分析 (PCA) 是一種將大量變數轉換為一組較小的變數(稱為主成分 (Principal Components, PCs))的技術。這些新變數擷取了原始數據中大部分的「資訊」(變異數),但處理起來卻簡單得多。

目標: 在保留盡可能多的原始「故事」(即資訊)的同時,減少變數的數量(降維)。

為什麼我們要在 Exam PA 中使用它?

1. 降維 (Dimension Reduction): 通過使用較少的預測變數來簡化模型。
2. 消除多重共線性 (Removing Multicollinearity): 原始變數之間可能存在高度相關性,但新的主成分彼此之間是不相關的 (uncorrelated)(正交的)。
3. 視覺化: 要畫出 10 個維度很難,但要畫出前兩個主成分卻非常容易!

快速回顧: PCA 是一種非監督式 (unsupervised) 技術。這意味著它只關注「特徵」(\(X\) 變數),在進行計算時並不知道也不關心「目標」(\(Y\) 變數)。

循序漸進:PCA 是如何運作的

別讓數學嚇倒你!將 PCA 想像成數據的旋轉 (rotation)。它會尋找數據「分佈最開」的方向,並將其稱為主成分 1 (PC1)。然後,它會尋找與第一個方向垂直的下一個最佳方向,並將其稱為PC2

1. 標準化的重要性

停下來! 在執行 PCA 之前,你幾乎總是需要對數據進行標準化 (scaling)(將其中心化,使平均值為 0,標準差為 1)。

為什麼? PCA 對測量單位很敏感。如果一個變數是「收入」(以千美元為單位),另一個是「年齡」(以年為單位),那麼「收入」變數會因為數值較大而自然具有更大的變異數。PCA 會僅僅因為尺度不同而認為收入更重要。標準化可以讓所有變數站在同一個起跑線上。

2. 載荷量 (Loadings)(所謂的「食譜」)

每個主成分都是原始變數的線性組合 (linear combination)。我們將此組合中的權重稱為載荷量 (loadings)

例如:\(PC_1 = \phi_{11}X_1 + \phi_{21}X_2 + ... + \phi_{p1}X_p\)

載荷向量 (loading vector) 會告訴你每個原始變數對該主成分的「貢獻」有多少。如果一個變數的載荷量很高(正或負),它就是構成該主成分「風味」的重要部分。

3. 分數 (Scores)(新的坐標)

一旦我們有了「食譜」(載荷量),我們就可以代入特定人的數據來得到他們在該主成分上的分數 (score)。這些分數成為我們新的轉換後數據點,可以用於回歸或 GBM 模型中。

你知道嗎? 第一主成分 (PC1) 總是會擷取數據中最大可能的變異數。PC2 會擷取次大的變異數,以此類推!

我們應該保留多少個主成分?

我們從 \(p\) 個變數開始,最後會得到 \(p\) 個主成分。如果我們全部保留,那就什麼都沒有簡化!我們需要決定在哪裡停止。

碎石圖 (Scree Plot) 與「肘點 (The Elbow)」

碎石圖是一個簡單的折線圖,顯示每個主成分所解釋的變異比例 (Proportion of Variance Explained, PVE)

要選擇主成分的數量,我們需要尋找「肘點」。這是曲線變得平坦的點。這就像是在說:「過了這個點,增加更多的主成分並不會提供太多額外有用的資訊。」

累積變異數 (Cumulative Variance)

另一種方法是查看累積 PVE。你可能會決定:「我想保留足夠的主成分來解釋數據總變異的 80%。」然後,你將 PC1、PC2 等的 PVE 加總,直到達到 80% 的目標。

關鍵點: 我們希望在保留數據「精髓」的前提下,使用最少數量的成分。

常見陷阱與錯誤

1. 忘記標準化: 如前所述,如果不進行標準化,PCA 結果將由數值範圍最大的變數所主導。
2. 過度解讀: 有時 PC1 明顯代表「規模」或「風險」,但有時主成分很難用簡單的語言解釋。這沒關係!PCA 用於轉換數據,並不總是為了說故事。
3. 什麼數據都用: PCA 非常適合數值變數,但對於類別(因子)數據處理起來會比較棘手。通常我們只將其用於連續變數。

快速回顧總結表

概念: 標準化 (Scaling)
重要性: 確保具有大單位的變數不會主導 PCA 結果。

概念: 載荷量 (Loadings)
重要性: 代表原始變數對主成分影響程度的權重。

概念: PVE
重要性: 告訴我們特定主成分包含了多少「資訊」。

概念: 正交性 (Orthogonality)
重要性: 意味著主成分之間互不相關,從而解決多重共線性問題。

最後的鼓勵

PCA 可能會讓人覺得「抽象」,因為我們在用真實變數創造虛構的變數。只要記住影子類比 (Shadow Analogy):如果你將一個 3D 物體放在燈光前,牆上的 2D 影子就是該物體的一個「低維度」版本。如果你將物體轉到正確的角度,影子就能捕捉到形狀中最主要的部分。PCA 就是在尋找投射出最佳影子的那個角度!

你一定沒問題的!繼續練習 PCA 的 R 程式碼(通常使用 prcomp 函數),你就會明白這些概念是如何活靈活現地運作的。