偏最小二乘迴歸(PLSR)- 2 標準算法(NIPALS)

1 NIPALS 算法

Step1:對原始數據X和Y進行中心化,獲得X0和Y0。從Y0中選擇一列做爲u1,通常選擇方差最大的那一列。算法

注:這是爲了後面計算方便,如計算協方差時,對於標準化後的數據,其樣本協方差爲cov(X,Y)=XTY/(n-1)。app

Step2:迭代求解X與Y的變換權重(w1,c1)、因子(u1,t1),直到收斂3d

step 2.1:利用Y的信息U1,求X的變換權重w1(w1實現有X0到因子t1的變換,t1=X0*w1)及因子t1。從而將X0的信息用t1來近似表達。blog

            image_thumb[68] (2.1)get

           image_thumb[69] (2.2)it

           image_thumb[70] (2.3)io

Step2.2:利用X的信息t1,求Y的變換權重c1(c1實現有Y0到因子u1的變換,u1=Y0*c1),並更新因子u1。從而將Y0的信息用t1來近似表達。ast

            image_thumb[72] (2.4)變量

            image_thumb[73] (2.5)sso

     image_thumb[75] (2.6)

Step2.5:判斷是否已找到合理解

           image_thumb[76] (2.7)

         若image_thumb[78]<閾值(如image_thumb[79])則繼續下面步驟;不然,取image_thumb[81],返回step2.1。

注:

1)以上過程的意義及其收斂性的直觀分析

     a)公式2.1,實際上求解了由Y的因子u1到X的迴歸模型的係數image_thumb[99],公式2.2與2.3將X映射爲第一個因子t1。

     b)同理,公式2.4,實際上求解了由X的因子t1到Y的迴歸模型的係數,公式2.5與2.6將X映射爲第一個因子t1。

      c)這裏交替創建X與Y直接回歸關係的方式,一般會很快收斂。

2)w1與c1的其餘求法。[2,3]中已經證實以上求解過程收斂後找到的解w1與c1能夠利用矩陣分析方法找到

     a)特徵值分解方法(Eigen Value Decomposition):w1是image_thumb[100]的最大特徵值的單位特徵向量,c1是image_thumb[101]的最大特徵值的單位特徵向量,

     b)SVD分解法(singular vector decomposition):w1和c1分別於對X0TY0進行SVD分解得到的第一對左奇異向量(left singular vector)和右奇異向量的單位

向量。

Step3:求X與Y的殘差矩陣

step 3.1:求X的載荷(X-loading)p1(p1反映X0與因子t1的直接關係,image_thumb[84]

        注:前面求得X的變換權重w1是由X0到t1的關係,此處的p1是由t1到X0的關係。並且,因爲後續的Wi(i>1)是根據Xi的殘差求得的,所以它沒法反映T到X0的關係。因此,纔要求出P以直接反映T到X0的關係)

                 image_thumb[85] (2.8)

        p1求解公式的推導以下

a)前面已求出t1,如今但願用t1來表達X0,創建迴歸模型

image_thumb[37]

b)模型不能表達的信息即爲X0的殘差矩陣X1。

image_thumb[43]

c)上式的關鍵是求p1,其求解公式推導過程:對image_thumb[39]轉置得image_thumb[40],兩邊右乘t1有image_thumb[41],從而有

image_thumb[42]

注:p1表明因子t1在X上的載荷(loadings),它反映了原始變量X與第一個因子向量t1間的關係。

step 3.2:求X0的殘差X1。此殘差表達了u1所不能反映的X0中的信息。

image_thumb[94] (2,9)

step 3.3:求Y的載荷(Y-loading)q1(q1反映Y0與因子U1的關係,image_thumb[87]

image_thumb[88] (2.10)

step 3.4:創建X因子t1與Y因子u1間的迴歸模型image_thumb[90],用t1預測u1的信息。

image_thumb[91](2.11)

step 3.5:求Y0的殘差Y1。此殘差表達了X因子t1所不能預測的Y0中的信息

image_thumb[96](2.12)

注:這裏利用image_thumb[98],創建t1與Y間的關係。

Step4:利用X1與Y1,重複上面步驟,求解下一批PLS參數(因子、轉換權重、載荷、迴歸係數等)。

在這個算法中,當一個因子計算出來後,進一步計算出X(及Y)的殘差。下一個因子是從當前殘差矩陣計算出來,所以PLS模型參數(因子scores,loadings, weights)與最初的X0無關,而是與殘差有關。

 

2 NIPALS-PLS 參數的理解

1)變換權向量w

                    image

在第二輪及之後的計算過程當中,權向量wa將殘差Xa-1變換爲因子得分ta,而不是對原始預處理後的數據X0直接進行變換,這阻礙了對於因子的有效解釋實際上,權向量在PLS迴歸模型中的解釋中用處不大。

2)構建X0到T直接聯繫的權向量R

                  imageimage

PLS算法執行完成後,咱們獲得全部的因子t,那麼咱們就能夠直接創建原始數據X0與其之間的轉換權重矩陣R。其實R就是由X0到T的迴歸係數,其計算公式爲

                 image

 

3 NIPALS-PLS 的預測過程

當完成PLS模型構建後,咱們獲得的PLS模型參數包括:

1)轉換權重:W(X-weights),C(Y-wights)

2)因子得分:T(X-factor scores),U(Y-factor scores)

3)載荷:P(X-loadings),Q(Y-loadings)

 

當來了一條新數據image,其預測計算過程以下

1)預處理:image。注:預處理方法與建模時保持一致,這裏公式採用中心化處理方法。

2)依次求出求image的各因子和殘差

              image

             image

3)計算預測值

            image

上面是由T到Y預測值的迴歸方程,而不是由X0到Y預測值的迴歸方程。若是在PLS建模過程當中得到第2節中介紹的可將X0直接轉換爲T的權重R,那麼就能得到一個針對X0的更直接的迴歸公式。

                                  image,迴歸係數image

參考文獻

[1] S. de Jong. SIMPLS: an alternative approach to partial least squares regression. Chemometrics and Intelligent Laboratory Systems, 18:251–263, 1993.

[2] R. Manne. Analysis of Two Partial-Least-Squares Algorithms for Multivariate Calibration. Chemometrics and Intelligent Laboratory Systems, 2:187–197, 1987.

[3] A. H¨oskuldsson. PLS Regression Methods. Journal of Chemometrics, 2:211–228,1988.

[4]

相關文章
相關標籤/搜索