Regression der partiellen kleinsten Quadrate

Die Regression der partiellen kleinsten Quadrate (Partielle Kleinste-Quadrate-Regression, PLS)[1] ist ein Regressionsmodell ähnlich der Hauptkomponentenregression, bei dem die Eingabe iterativ in latente Räume projiziert wird, welche möglichst korreliert mit dem Ausgaberaum sind. Aus diesen Projektionen werden mehrere hierarchisch aufgebaute lineare Regressionsmodelle aufgebaut.

Kernidee des Algorithmus

Kernidee der Regression der partiellen kleinsten Quadrate. Die Loading-Vektoren v 1 , w 1 {\displaystyle {\vec {v}}_{1},{\vec {w}}_{1}} im Ein- und Ausgaberaum sind rot gezeichnet (hier zur besseren Sichtbarkeit nicht normiert). Nimmt x 1 {\displaystyle x_{1}} zu (unabhängig von x 2 {\displaystyle x_{2}} ), so nehmen y 1 {\displaystyle y_{1}} und y 2 {\displaystyle y_{2}} zu.

Betrachtet man n {\displaystyle n} gepaarte Zufallsstichproben ( x i , y i ) , i 1 , . . . , n {\displaystyle ({\vec {x}}_{i},{\vec {y}}_{i}),i\in {1,...,n}} . als gegeben, so sucht die Regression der partiellen kleinsten Quadrate im ersten Schritt j = 1 {\displaystyle j=1} die normierte Richtung v j {\displaystyle {\vec {v}}_{j}} , w j {\displaystyle {\vec {w}}_{j}} so, dass die Korrelation maximiert wird. Es gilt: max v j , w j E X , Y [ ( v j X ) z j ( w j Y ) r j ] = max v j , w j v j E X , Y [ X Y ] w j , {\displaystyle \max _{{\vec {v}}_{j},{\vec {w}}_{j}}E_{{\vec {X}},{\vec {Y}}}[\underbrace {({\vec {v}}_{j}\cdot {\vec {X}})} _{z_{j}}\underbrace {({\vec {w}}_{j}\cdot {\vec {Y}})} _{r_{j}}]=\max _{{\vec {v}}_{j},{\vec {w}}_{j}}{\vec {v}}_{j}E_{{\vec {X}},{\vec {Y}}}[{\vec {X}}{\vec {Y}}]\cdot {\vec {w}}_{j},} mit Korrelationsmatrix im letzten Term und | v j | = 1 {\displaystyle |{\vec {v}}_{j}|=1} , | w j | = 1 {\displaystyle |{\vec {w}}_{j}|=1}

Da die gepaarten Stichproben ( x i , y i ) {\displaystyle ({\vec {x}}_{i},{\vec {y}}_{i})} zufällig aus der gemeinsamen Verteilung P ( X , Y ) {\displaystyle P({\vec {X}},{\vec {Y}})} gezogen wurden (also ( X i , Y i ) P ( X , Y ) {\displaystyle ({\vec {X}}_{i},{\vec {Y}}_{i})\sim P({\vec {X}},{\vec {Y}})} gilt), kann der Erwartungswert durch den Stichprobenmittelwert geschätzt werden:

max v j , w j E ^ X , Y [ ( v j X ) z j ( w j Y ) r j ] = max v j , w j 1 n i = 1 n [ ( v j x i ) z i , j ( w j y i ) r i , j ] {\displaystyle \max _{{\vec {v}}_{j},{\vec {w}}_{j}}{\hat {E}}_{X,Y}[\underbrace {({\vec {v}}_{j}\cdot {\vec {X}})} _{z_{j}}\underbrace {({\vec {w}}_{j}\cdot {\vec {Y}})} _{r_{j}}]=\max _{{\vec {v}}_{j},{\vec {w}}_{j}}{\frac {1}{n}}\sum _{i=1}^{n}[\underbrace {({\vec {v}}_{j}\cdot {\vec {x_{i}}})} _{z_{i,j}}\underbrace {({\vec {w}}_{j}\cdot {\vec {y_{i}}})} _{r_{i,j}}]}
  • v j {\displaystyle {\vec {v}}_{j}} ist Input-Loading-Vektor im j {\displaystyle j} -ten Schritt
  • w j {\displaystyle {\vec {w}}_{j}} ist der Output-Loading-Vektor im j {\displaystyle j} -ten Schritt
  • die Projektion z i , j {\displaystyle z_{i,j}} ist der Input-Score der Stichprobe i {\displaystyle i}
  • die Projektion r i , j {\displaystyle r_{i,j}} ist der Output-Score der Stichprobe i {\displaystyle i}
Dieser Artikel oder Abschnitt bedarf einer grundsätzlichen Überarbeitung. Näheres sollte auf der Diskussionsseite angegeben sein. Bitte hilf mit, ihn zu verbessern, und entferne anschließend diese Markierung.

Für den j + 1 {\displaystyle j+1} -ten Schritt werden die Daten im Eingaberaum „deflated“ (jedoch nicht im Ausgaberaum) und dann erneut Richtungen v j + 1 {\displaystyle {\vec {v}}_{j+1}} , w j + 1 {\displaystyle {\vec {w}}_{j+1}} gesucht: x i ( j + 1 ) = x i ( j ) ( v j x i ( j ) ) v j = x i ( j ) z i , j v j {\displaystyle {\vec {x}}_{i}^{(j+1)}={\vec {x}}_{i}^{(j)}-({\vec {v}}_{j}{\vec {x}}_{i}^{(j)}){\vec {v}}_{j}={\vec {x}}_{i}^{(j)}-z_{i,j}{\vec {v}}_{j}}

Matrixnotation

Dieser Algorithmus kann in Matrix-Schreibweise dargestellt werden: Dazu werden die Beobachtungen x 1 x n {\displaystyle {\vec {x}}_{1}\dots {\vec {x}}_{n}} gesammelt in einer Matrix X {\displaystyle X} der Dimension n × f x {\displaystyle n\times f_{x}} (mit f x {\displaystyle f_{x}} der Zahl der Merkmale im Eingaberaum) dargestellt, sodass jede Zeile der Matrix eine Beobachtung darstellt (analog für die Beobachtungen y 1 y n {\displaystyle {\vec {y}}_{1}\dots {\vec {y}}_{n}} ). Es gilt somit: X α , β = ( x α ) β . {\displaystyle X_{\alpha ,\beta }=({\vec {x}}_{\alpha })_{\beta }.} Für jede Beobachtung gilt nun, dass sie in der Basis der Loading-Vektoren dargestellt werden kann x α = j ( x α v j ) v j + ϵ α = j z α , j v j + ϵ α {\displaystyle {\vec {x}}_{\alpha }=\sum _{j}({\vec {x}}_{\alpha }{\vec {v}}_{j}){\vec {v}}_{j}+{\vec {\epsilon }}_{\alpha }=\sum _{j}z_{\alpha ,j}{\vec {v}}_{j}+{\vec {\epsilon }}_{\alpha }} , mit einem Restterm ϵ α {\displaystyle {\vec {\epsilon }}_{\alpha }} . Für das Matrixelement gilt daher X α , β = j z α , j ( v j ) β + ( ϵ α ) β = ( Z V + E ) α , β {\displaystyle X_{\alpha ,\beta }=\sum _{j}z_{\alpha ,j}({\vec {v}}_{j})_{\beta }+({\vec {\epsilon }}_{\alpha })_{\beta }=(ZV+\mathrm {E} )_{\alpha ,\beta }} , bzw. für die Matrix:

X = Z V + E {\displaystyle X=ZV+\mathrm {E} } ,
analog für Y = R W + Γ {\displaystyle Y=RW+\Gamma } .

Manchmal wird statt der Matrix V auch mit ihrer transponierten V ~ = V T {\displaystyle {\tilde {V}}=V^{T}} gearbeitet, dann gilt:

X = Z V ~ T + E {\displaystyle X=Z{\tilde {V}}^{T}+\mathrm {E} } und
Y = R W ~ T + Γ {\displaystyle Y=R{\tilde {W}}^{T}+\Gamma }

Ergebnis

Nach Auffinden der Loading-Vektoren findet häufig eine Interpretation der Loading-Vektoren sowie der Input-Scores statt.

Im Biplot werden die Input-Scores ( z i , j = 1 , z i j = 2 ) {\displaystyle (z_{i,j=1},z_{i_{j}=2})} ausgewählter PLS-Schritte dargestellt, z. B. j=1 und j=2 („Component 1“ und „Component 2“ im Bild). Dadurch entsteht eine Punkt-Wolke der Projektionen der (in höheren Schritten durch Deflation modifizierten) Eingabedaten x i {\displaystyle x_{i}} auf die Richtungen v j {\displaystyle {\vec {v}}_{j}} . Die Pfeile im Biplot werden durch die Projektionen der künstlichen Daten x ^ 1 = ( 1 0 0 ) {\displaystyle {\vec {{\hat {x}}_{1}}}={\begin{pmatrix}1\\0\\\dots \\0\end{pmatrix}}} , x ^ 2 = ( 0 1 0 ) {\displaystyle {\vec {{\hat {x}}_{2}}}={\begin{pmatrix}0\\1\\\dots \\0\end{pmatrix}}\dots } und der jeweils korrespondierenden Input-Scores ( z ^ 1 , j = 1 = ( v 1 ) 1 , z ^ 1 , j = 2 = ( v 2 ) 1 ) {\displaystyle ({\hat {z}}_{1,j=1}=({\vec {v}}_{1})_{1},{\hat {z}}_{1,j=2}=({\vec {v}}_{2})_{1})} erhalten. Da diese künstlichen Daten jeweils ein Merkmal one-hot encoden, kann ihnen eindeutig ein Merkmal zugewiesen werden, welches im Biplot oft direkt an den Pfeil geschrieben wird.

Biplot als Ergebnis der PLS: die gestreuten Punkte sind die Input-Scores der Beobachtungen. Pfeile zeigen die Beiträge jedes Features zum ersten und zweiten Input-Loading-Vektor

Vorteile

Im Vergleich zur Hauptkomponentenanalyse werden nicht die Richtungen maximaler Varianz im Eingaberaum gefunden, sondern die Richtungen maximaler Korrelation von Ein- und Ausgabedaten. Man könnte sonst beispielsweise x-Variablen eine hohe Gewichtung geben, die eine hohe Varianz besitzen, jedoch gar nicht mit der Zielvariablen korrelieren.

Weblinks

  • Video: Vorlesung zur Regression der partiellen kleinsten Quadrate von Prof. Harry Asada Ford Professor of Engineering; MIT

Einzelnachweise

  1. Svante Wold, Michael Sjöström, Lennart Eriksson: PLS-regression: a basic tool of chemometrics. In: Chemometrics and Intelligent Laboratory Systems. Band 58, Nr. 2, Oktober 2001, S. 109–130, doi:10.1016/S0169-7439(01)00155-1 (elsevier.com [abgerufen am 27. April 2022]).