He encontrado un buena presentación describiendo los algoritmos PLS1 y PLS2 (páginas 16-19). Está bastante claro, pero hay algo que me confunde.
Para PLS1. Veamos el algoritmo . Los primeros pasos son
- $w = X'y$ (que maximiza $ \operatorname {cov}(Xw,y)$ )
- $w = w / ||w||$
- $t = Xw$
- $p = X't / t't$
Por un lado se puede decir $T=XW$ y $WW'=I$ pero por otro lado $T=XP$ y $PP'=I$ (porque estamos buscando una descomposición $X=TP'$ donde $PP'=I$ (ver página 14).
Así que, mi pregunta es, ¿no son $P$ y $W$ la misma matriz? Y si es así, ¿por qué el algoritmo necesita calcular $p$ como $X't / t't$ ?
¿Por qué no hacerlo de esta manera?
- $p = X'y$
- $p = p / ||p||$
- $t = Xp$
ACTUALIZACIÓN Después de leer los comentarios, respuestas y enlaces proporcionados (gracias a @amoeba y @theGD), entiendo que una respuesta estricta a mi pregunta es "No, no lo son". I casi entendió por qué. En realidad, perdí la esperanza de entender completamente el principio del algoritmo del NIPALS. Así que decidí preguntarlo de una manera diferente: ¿Qué es la tarea matemática que PLS NIPALS intenta resolver?
Por ejemplo, también hay NIPALS para PCA. Y no lo entiendo del todo. Pero sé que es sólo un método computacional para resolver una tarea matemática (por una iteración): $$ { \mathbf {t}}^{T}{ \mathbf {t}} = { \mathbf {w}}^{T}{ \mathbf {X}}^{T}{ \mathbf {Xw}} \rightarrow \max , \textrm { given that } \Vert { \mathbf {w}} \Vert =1 $$ Entonces, ¿qué es una tarea matemática análoga para el PLS?
2 votos
No, no son lo mismo. Puedes verificarlo fácilmente utilizando tu lenguaje de programación favorito: generar aleatoriamente $X$ y $y$ (pueden ser muy pequeños), y luego realizar los primeros pasos de este algoritmo: calcular el vector $w$ , entonces el vector $t$ , entonces el vector $p$ . Verá que $w\ne p$ .
0 votos
El procedimiento $t = X^{\prime}t/t^{\prime}t$ es obtener una ortogonalidad $t$ las puntuaciones de $X$ .