PCA:如何選擇最能代表第一台 PC 且對其他 PC 貢獻最小的原始特徵集
我在共變異數矩陣上執行了 PCA。我有 24 個原始特徵並且受到使用哪些特徵的一些限制我想選擇最能代表第一台 PC 的特徵組合,即選擇一組較小的原始特徵來表示 PC1,對其他組件的貢獻很小盡可能。
最佳解決方案當然是第一台 PC 本身,但我想限制為原始特徵的一個子集,我應該選擇哪些以及如何計算比率。
這可以通過查看每個特徵對每台 PC 的相對貢獻並僅選擇那些僅對第一台 PC 有淨貢獻而對任何其他 PC 有淨貢獻的特徵來近似/直覺地完成,但是還有哪些其他方法可以做到這一點?
例如,從下面,您可以大致說選擇特徵 1 和 24 將近似 PC1 而對 PC2 沒有貢獻,但它確實對 PC3 有貢獻……我正在尋找一種系統的方法來做出這個選擇並固定可供選擇的功能列表。
你所描述的在數學上是不合理的。
首先,但不太重要的是,PC 是一個正規化向量(特徵向量),這意味著如果它具有多個非零元素,它們將始終小於一個。當然,您可以擴展 PC,但從技術上講,除非所有其他功能在同一台 PC 中的權重為零,否則任何功能在 PC 的方向上都不會有價值。
其次,重要的是,PCA 是一個座標基礎變換,這意味著如果您的原始空間是真正的 24 維(共變異數矩陣的秩為 24),您將永遠不會返回您需要的 PCA 分解。
例如,假設您獲得了以下 4 維空間的 PCA 分解,它滿足您對特徵 1 和 2 的要求(這些是縮放的,而不是正交的):
PC1 PC2 PC3 PC4 f1 1 0 0 0 f2 1 0 0 0 f3 1 -1 -1 0 f4 1 1 -1 0
這並沒有為您的原始儀器定義 4 維基礎。事實上,它告訴你的是你的原始空間是線性相關的。特徵 1 和 2 是線性相關的——它們具有相同的相關性。就相關矩陣而言,它將被迫看起來像這樣(其中 * 不是 1):
1 1 * * 1 1 * * * * 1 * * * * 1
這當然對您的要求有影響,具有更高相關性的儀器更有可能滿足您的要求。
但是,請考慮以下共變異數矩陣(秩為 2):
1 1 0 0 1 1 0 0 0 0 2 2 0 0 2 2
這代表了 4 個工具,其中 2 個是線性相關的,但與另外 2 個完全不相關,它們本身是線性相關的。我敢說 PCA 是:
PC1 PC2 PC3 PC4 f1 0 1 0 0 f2 0 1 0 0 f3 1 0 0 0 f4 1 0 0 0
因此,您可能可以製定與您陳述的問題相關的某種最小化問題並返回一些特徵,但在上述情況下,我懷疑它所做的只是找到最強的線性依賴關係。
我的直覺告訴我你問錯了問題,因為我認為答案不會闡明你希望看到的東西。您試圖在數據中視覺化的是什麼,也許有更好的方法……
為了回答您關於一組向量的最佳一維表示的問題,我建議回到您想要給予“最佳表示”的感覺:
- 您可能知道 PCA(主成分分析)尋求初始向量的線性組合來解釋其變異數的最大部分
- 但如果你想獲得最非高斯向量,你可以使用 ICA(獨立分量分析)
- 實際上,使用為機器學習開發的現代優化工具,您甚至可以從向量的任何(非)線性組合中**設計您想要的特徵,**並獲得您自定義意義上的“最佳代表性組件”。
主要問題實際上是:為什麼使用一個標準而不是另一個標準對您很重要?在 PCA 的情況下,這可能是因為您將變異數視為風險度量。情況並非如此,因為它是對稱的 L2 度量。
所有這一切得出的結論是,您可以接受不向正常 PCA 儲存那麼多庫存,並向您的組件添加一點稀疏性要求。這是這篇博士論文的主題:P.-A懲罰估計中秩和稀疏度之間的相互作用。薩瓦勒。你會在 Pierre-André 的論文中找到所有需要的數學知識。
對於您的具體情況,您可以完成標準 PCA 標準
$$ \max_{P_1,\ldots,P_{24}} \mathbb{E} \sum_n | P_n^T F |^2 $$
通過對主成分的稀疏性添加約束,例如
$$ \forall n> 1,; \sum_d 1_{|P_{nd}|>0} \leq \rho_d. $$
這意味著您要求優化器不超過 $ \rho_d $ 上的非零分量 $ n $ PCA的第一個組件(當然對於除第一個組件之外的所有組件)。