乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      主成分分析,換個角度看世界

       東西二王 2019-06-07

      1 從超級紙片馬里奧說起

      2007 年,任天堂的游戲機 Wii 上推出了一款超級紙片馬里奧(super paper Mario)的游戲。在大多數(shù)操作中,它十分接近傳統(tǒng)的超級馬里奧,是一個 2D 的游戲,玩家控制馬里奧從左至右移動闖關(guān),如下圖所示。

      主成分分析,換個角度看世界

      然而,這款游戲與前作的最大區(qū)別是它加入了橫向卷軸(side-scrolling)功能。這相當于給玩家提供了全新的側(cè)視角機位(a side-view camera angle)。在這個側(cè)視角下,游戲一下從 2D 擴展到 3D。比如上面那副游戲畫面的從側(cè)視角來看,就變成了下面這樣。在 2D 圖中看似在同一平面上的兩組磚塊兒在 3D 視角中竟然有著完全不同的軸向坐標。

      主成分分析,換個角度看世界

      游戲的大部分都在 2D 中進行。然而,在游戲中,馬里奧被賦予了“翻轉(zhuǎn)畫面”至 3D 的能力。通過這樣做,透視將發(fā)生移動、且 2D 畫面發(fā)生旋轉(zhuǎn)并顯示出隱藏的 Z 軸,將馬里奧置于 3D 環(huán)境中。翻轉(zhuǎn)使玩家可以繞過 2D 中存在的障礙物,或者尋找僅在 Z 軸上才可見的物品和地形。

      怎么樣,有沒有“事情的脈絡(luò)早已非常清晰,只是我們需要找到正確的視角”的感覺?

      讓我們從這個游戲引申一步。上面的游戲畫面中,無論是馬里奧,還是磚塊兒或者其他游戲元素,構(gòu)成它們的是屏幕上不同配色的像素,在計算機看來它們無非是大量的數(shù)據(jù)。這些數(shù)據(jù)在 2D 視角下呈現(xiàn)出一些模糊的結(jié)構(gòu),而“翻轉(zhuǎn)到 3D”使這個模糊的結(jié)構(gòu)從一個全新的角度清晰地展現(xiàn)到我們面前,我們可以從中發(fā)現(xiàn)很多之前看不到的信息。

      對于一組多變量的數(shù)據(jù),通過轉(zhuǎn)換觀察數(shù)據(jù)的角度,揭示出數(shù)據(jù)內(nèi)在的結(jié)構(gòu),這個過程就叫做主成分分析(principal component analysis,PCA)。主成分分析作為基礎(chǔ)的數(shù)學分析方法,其實際應(yīng)用十分廣泛,比如人口統(tǒng)計學、分子動力學、數(shù)學建模、數(shù)理分析、以及量化投資等學科中均有應(yīng)用,它是一種常用的多變量分析方法。

      2 直觀理解 PCA

      在用統(tǒng)計方法分析多變量的數(shù)據(jù)集時,變量太多會大大增加問題的復(fù)雜性。此外,在很多問題中,變量之間普遍存在一定的線性相關(guān)性,這就造成了被不同變量所代表的數(shù)據(jù)信息有重疊。面對這些問題,一個自然的想法是“能否使用較少的但是沒有相關(guān)性的變量來獲取盡可能多的原始數(shù)據(jù)的信息?”。由此便提出了主成分分析(PCA)。

      PCA 從原始變量出發(fā),通過旋轉(zhuǎn)變化(即原始變量的線性組合)構(gòu)建出一組新的、互不相關(guān)的新變量,這些變量盡可能多的解釋原始數(shù)據(jù)之間的差異性(即數(shù)據(jù)內(nèi)在的結(jié)構(gòu)),它們就稱為原始數(shù)據(jù)的主成分。由于這些變量不相關(guān),因此它們無重疊的各自解釋一部分差異性。依照每個變量解釋的差異性大小排序,它們稱為第一主成分、第二主成分、以此類推。

      來看一個生動的例子。

      下面的動態(tài)圖展現(xiàn)了一組三維空間內(nèi)看似雜亂無章的原始數(shù)據(jù)(看不出差異性)經(jīng)過 PCA 變換后在新的變量(即圖中的坐標軸)視角下呈現(xiàn)的圖案。當我們用新的變量(坐標軸)來繪制這些數(shù)據(jù)時,它們所傳達的信息就更加清晰的呈現(xiàn)出來(由于數(shù)據(jù)點的差異性被體現(xiàn)出來,一團看似無序的散點變成了一只企鵝圖案!)。這就是 PCA 的魅力。

      主成分分析,換個角度看世界

      下面就來看看 PCA 的數(shù)學含義。

      3 數(shù)學含義——認清去均值化的重要性

      PCA 在數(shù)學上定義為一個正交線性變換(orthogonal linear transformation),將原始數(shù)據(jù)轉(zhuǎn)換到一個新的坐標系統(tǒng),該系統(tǒng)中的坐標稱為主成分(principal components),它們相互正交,因此是不相關(guān)的。如果我們將原始數(shù)據(jù)投影到這些主成分上,它們滿足以下條件:

      • 第一主成分上投影數(shù)據(jù)的方差最大;
      • 第二主成分上投影數(shù)據(jù)的方差第二大且第二主成分與第一主成分相互垂直;
      • 第三主成分上投影數(shù)據(jù)的方差第三大且第三主成分與第一、第二主成分相互垂直;

      以此類推。

      這些主成分構(gòu)成了一組不相關(guān)的正交基集,每個主成分解釋了原始數(shù)據(jù)中的一部分差異性(由投影數(shù)據(jù)的方差表示);從第一主成分開始,解釋差異性的多少依次遞減。換句話說,如果我們想找到一個“視角”來觀察這些數(shù)據(jù),使得它們看起來差別最明顯(比從任何其他角度看這些數(shù)據(jù)的差別都明顯),那么這個“視角”就是第一主成分。

      PCA 是一種降維(dimension reduction)分析方法;主成分的個數(shù)應(yīng)小于或等于原始變量個數(shù)以及觀測值的個數(shù)。因此 PCA 能夠使用低維度的正交變量來解釋高維度(原始變量)的數(shù)據(jù)信息——我們將高維度的原始數(shù)據(jù)投影到低維度的 PCA 主成分中。

      下面簡單說說如何從數(shù)學上求解主成分,從而引出 PCA 中一個非常關(guān)鍵的概念——去均值化(demean)。

      假設(shè) X 代表一個 n × p 的矩陣,每一行代表一個觀測值(因此一共有 n 個觀測值),每一列代表一個變量維度(因此有 p 個原始變量)。此外,在求解主成分前已經(jīng)對原始數(shù)據(jù)中的每個維度都進行了去均值化,即 X 的每個列向量中的樣本數(shù)據(jù)的均值都為 0。去均值化對于 PCA 的分析結(jié)果是否正確至關(guān)重要。至于為什么,請接著往下看。

      我們首先來求解第一主成分。它是原始 p 個維度的線性組合。定義列向量 w_(1) 如下,它代表第一主成分中這 p 個維度的權(quán)重:

      主成分分析,換個角度看世界

      其中帶括號的下標 (1) 表示第一主成分,此外 w_(1) 的范數(shù)等于 1。X 中的每一行 x_i 為一個去均值化后的原始數(shù)據(jù)(它是一個 1×p 的行向量),因此它在第一主成分上的投影相當于 x_i 與 w_(1) 的內(nèi)積。它是一個標量,它又稱為主成分得分(principal component score)。原始數(shù)據(jù) x_i 在第一主成分上的投影,記為 t_i(1),為:

      主成分分析,換個角度看世界

      對于所有的原始數(shù)據(jù) x_i 求出它們在第一主成分上的投影 t_i(1),下面要做的就是使這些投影點的方差最大。方差如何定義呢?方差是否等于所有 t_i(1) 的平方和呢?

      在第一主成分對應(yīng)的坐標軸上,t_i(1) 代表著原始數(shù)據(jù) x_i 的投影點到該坐標系原點的距離。因此所有 t_i(1) 的平方和的數(shù)學含義是所有這些投影點到原點的距離的平方和(sum of squared deviation from origin)。

      注意,重要的事情說三遍:

      • 如果原始數(shù)據(jù)沒有去均值化,則最大化投影點到坐標軸遠點的距離平方和不等價于最大化方差!
      • 如果原始數(shù)據(jù)沒有去均值化,則最大化投影點到坐標軸遠點的距離平方和不等價于最大化方差!
      • 如果原始數(shù)據(jù)沒有去均值化,則最大化投影點到坐標軸遠點的距離平方和不等價于最大化方差!

      來看一個例子。假設(shè)二維空間中有兩個變量 v1 和 v2,以及它們的一組觀測值(如下圖左側(cè)的情況所示)。如果在進行 PCA 時未進行去均值化,則得到的第一主成分是一條通過原點的 45 度的直線。然而,即便是通過肉眼觀測我們也可以發(fā)現(xiàn)原始數(shù)據(jù)的方差在這個方向上并不是最大的。因此,這個第一主成分是錯誤的。

      主成分分析,換個角度看世界

      之所以會發(fā)生這樣的情況,是因為 PCA 是一種旋轉(zhuǎn)變換,因此得到的新的由主成分構(gòu)成的坐標系必然要經(jīng)過原始坐標系的原點。在這個例子中,原始觀測點聚集在坐標 (4, 4) 附近。如果不去均值化,坐標系統(tǒng)將圍繞著原始坐標系中的點 (0, 0) 旋轉(zhuǎn)。在這種情況下,在計算投影點到原點的距離平方和時,原點正是 (0, 0)。圖中 45 度斜線上方密密麻麻的黑點為原始數(shù)據(jù)的投影點,它們圍繞在 (4, 4) 附近。由于沒有去均值化,在計算距離平方和時,(0, 0) 到 (4, 4) 之間的距離的平方將被錯誤地算作投影點自身方差的一部分,使得投影點的方差在 45 度斜線這個方向上顯得最大,因此這個方向被錯誤地選為第一主成分。

      正確的做法是對原始數(shù)據(jù)去均值化。這樣,原點被移動到原始數(shù)據(jù)的中心(如上圖中右側(cè)的情況)。圍繞著新的原點進行 PCA 便可以正確的發(fā)現(xiàn)真正的第一主成分,即穿過新原點的 135 度直線方向。由于已經(jīng)移動了原點,因此投影點到原點的距離平方和就正比于投影點的方差。從上圖也不難看出,在該方向上的投影點的距離平方和最大,即方差最大。這就是為什么在進行 PCA 之前要對原始數(shù)據(jù)去均值化。

      在去均值化的前提下,“最大化投影點在第一主成分上的方差”等價于“找到 w_(1)使t_i(1)的平方和最大”。這就意味著,第一主成分的權(quán)重 w_(1) 是下面這個最優(yōu)化問題的解:

      主成分分析,換個角度看世界

      將上式右側(cè)寫成矩陣形式為:

      主成分分析,換個角度看世界

      可以證明,上式右側(cè)中的優(yōu)化函數(shù)的最大值為對稱矩陣 (X^T)X 的最大特征值(the largest eigenvalue),該值當 w 取為這個特征值對應(yīng)的特征向量(eigenvector)時實現(xiàn)。這里先埋個伏筆,看完下一節(jié)你就知道這里為什么特意引出對稱矩陣 (X^T)X,以及它的特征向量和特征值。

      求出 w_(1) 之后,便找到了第一主成分。原始數(shù)據(jù)在第一主成分上的投影就是 t_i(1)。確定了第一主成分后,便可以依次確定第二、第三主成分,以此類推。具體的,假設(shè)已經(jīng)確定了前 k - 1 個主成分(k ≥ 2),為了確定第 k 個主成分,只需要從原始數(shù)據(jù) X 中減去前 k - 1 個主成分,然后對剩余的新的數(shù)據(jù)進行投影點到原點距離平方和最大化的求解,從而得到第 k 個主成分的權(quán)重向量 w_(k)。

      這種方法聽起來比較繁瑣,因為要通過迭代依次找到主成分。但我的目的是想通過對數(shù)學步驟的描述強調(diào)去均值化的重要性。在實際應(yīng)用時,PCA 可以通過對原始 n × p 維的數(shù)據(jù) X進行協(xié)方差矩陣的特征分解求得。

      4 對協(xié)方差矩陣進行特征值分解

      在上節(jié)的數(shù)學推導中曾留下一個伏筆:求解去均值化后的數(shù)據(jù) X 的第一主成分等價于求解對稱矩陣 (X^T)X 的最大特征值對應(yīng)的特征向量。事實上,求解 X 的前 k 個主成分就相當于求解對稱矩陣 (X^T)X 的最大的 k 個特征值各自對應(yīng)的特征向量。它們就是 X 的 k 個主成分。

      再來看看 (X^T)X 是什么。去均值化后,對稱矩陣 (X^T)X 正比于 X 的協(xié)方差矩陣。事實上,X 的協(xié)方差矩陣正是 Cov(X) = (X^T)X / (n-1)。注意:如果未對 X 進行去均值化,則 Cov(X) 不等于 (X^T)X / (n-1)。

      根據(jù)上面的論述,我們只需首先對原始數(shù)據(jù)去均值化并求出它的協(xié)方差矩陣;在得到協(xié)方差矩陣后,對該矩陣進行特征值分解(eigen-decomposition)得到特征值和特征向量;之后,將特征值從大到小排序,取前 k 個特征值對應(yīng)的特征向量,它們就是我們要找的 k 個主成分。

      根據(jù)協(xié)方差的定義,計算協(xié)方差的過程中便已對數(shù)據(jù)進行了去均值化,因此對于求解代表主成分的特征向量,并不需要在求協(xié)方差均值之前人工對數(shù)據(jù)去均值化。然而,考慮到 PCA 是旋轉(zhuǎn)變換且坐標系統(tǒng)的原點應(yīng)該位于多變量數(shù)據(jù)的多維均值之上,因此在計算原始數(shù)據(jù)點在主成分上的投影時,仍應(yīng)將數(shù)據(jù)進行去均值化處理。此外,除了本節(jié)介紹的協(xié)方差矩陣的特征值分解外,還有其他求解 PCA 的方法,比如 Python 的 sklearn 統(tǒng)計包使用的是對矩陣 X 直接進行奇異值分解(singular value decomposition,SVD)。在采用這種解法時,如果沒有人工對數(shù)據(jù)去均值,那么SVD的計算結(jié)果便有可能是錯誤的。因此,在進行 PCA 時,無論是用什么方法,首先應(yīng)對數(shù)據(jù)去均值化。

      下面通過一個例子來說明對協(xié)方差矩陣進行特征值分解的過程。

      假設(shè)有兩個變量 A 和 B 的 10 個觀測點,如下表所示。我們希望找出它們的第一主成分。

      主成分分析,換個角度看世界

      第一步:去均值,得到去均值化后的數(shù)據(jù)

      主成分分析,換個角度看世界

      第二步:計算協(xié)方差矩陣

      去均值化后數(shù)據(jù)的協(xié)方差矩陣為:

      主成分分析,換個角度看世界

      第三步:對協(xié)方差矩陣進行特征值分解

      得到特征值為 0.07650136 和 1.36494309。二者中較大特征值對應(yīng)的特征向量為:[-0.68212146, -0.73123889]^T,這就是數(shù)據(jù)的第一主成分。

      第四步:計算原始數(shù)據(jù)在第一主成分上的投影

      用去均值后的數(shù)據(jù)和第一主成分內(nèi)積,便得到原始數(shù)據(jù)在第一主成分上的投影。為了驗證結(jié)果的正確性,我們同時采用 Python 的 sklearn 包自帶的 PCA 計算第一主成分。從下表的結(jié)果可以看到,上述計算和使用軟件包的計算結(jié)果是一致的。

      主成分分析,換個角度看世界

      來看看第一主成分在二維平面上是什么方向的。下圖中,藍色的圓圈是原始去均值化后的數(shù)據(jù),綠色的直線是第一主成分的坐標軸。紅色的方塊是原始數(shù)據(jù)在其上的投影。不難看出,在第一主成分上,投影點的方差最大。如果我們把這 10 個點投影到非第一主成分的其他方向上,那些投影點的方差都沒有第一主成分上這些投影點的方差大。即第一主成分是最能夠體現(xiàn)這些點之間差異化的那個視角。

      主成分分析,換個角度看世界

      5 尺度縮放的重要性

      最后——last but not least——想指出的一點是,PCA 對原始變量的相對尺度十分敏感。如果在一組變量中,某一個變量的量綱非常大,那么這個變量很可能主宰觀測數(shù)據(jù)的方差,導致第一主成分非常接近這個變量,而這樣的結(jié)果往往沒有太大的意義。

      比如在一個問題中,某一個變量是長度,如果我們把它的單位從米改成厘米,則數(shù)量級大了 100 倍,計算方差的時候該變量方差的數(shù)量級則大了 10000 倍。然而量綱的變化對于數(shù)據(jù)本身的內(nèi)部結(jié)構(gòu)并沒有改變,但我們會因此錯誤的認為長度這個變量是一個解釋方差的最重要因素,這就有問題了。

      因此,在進行 PCA 時,往往有必要結(jié)合數(shù)據(jù)的業(yè)務(wù)含義對變量進行尺度縮放(scaling),使得不同變量之間在量綱上具有可比性。需要強調(diào)的是,在 scaling 的技巧中并沒有標準答案,因此需要具體問題具體分析。

      下面這兩個示例圖展示了是否 scaling 對 PCA 結(jié)果的影響。上圖中,由于沒有 scaling,導致得到的第一主成分完全秒殺了其他主成分,這樣會使使用者認為數(shù)據(jù)之間的區(qū)別僅僅存在于第一主成分中。而經(jīng)過適當?shù)?scaling 后(下圖),PCA 的結(jié)果更加合理,前四個主成分依次解釋了數(shù)據(jù)中的方差。

      主成分分析,換個角度看世界

      6 結(jié)語,PCA 與量化投資

      在分析多變量數(shù)據(jù)時,變量之間錯綜復(fù)雜的相關(guān)性往往為我們探究其內(nèi)部的結(jié)構(gòu)設(shè)置了層層障礙。而不同變量之間傳遞的帶有重疊性的信息更會使我們錯誤的高估一些變量的作用。

      放眼量化投資領(lǐng)域,多因子量化選股無疑是一個可以使用 PCA 來分析的課題。人們主觀的將因子歸納為估值因子、質(zhì)量因子、成長因子、動量因子等,就是希望降低不同類別因子之間的相關(guān)性,使它們各自代表股票超額收益中不同的風險敞口。然而,由于這些因子都是來自市場交易數(shù)據(jù)以及公司財報,它們之間一定存在著千絲萬縷的聯(lián)系(即相關(guān)性)。如果我們想要徹底排除因子之間的相關(guān)性、降低分析問題的復(fù)雜性、同時捕捉到股票在不同因子之上的差異,PCA 無疑會有用武之地。它可以把傳統(tǒng)的因子轉(zhuǎn)化為一組完全正交的主成分,這有助于提高量化選股的準確性。

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多