human
Relation entre SVD et PCA. Comment utiliser SVD pour effectuer PCA
gpt
Soit la matrice de données $\mathbf X$ de taille $n \times p$ avec des valeurs réelles, où $n$ est le nombre d'échantillons et $p$ est le nombre de variables. Supposons qu'elle soit centrée, c'est-à-dire que les moyennes des colonnes ont été soustraites et sont maintenant égales à zéro.

Alors la matrice de covariance $\mathbf C$ de taille $p \times p$ est donnée par $\mathbf C = \mathbf X^\top \mathbf X/(n-1)$. C'est une matrice symétrique et donc elle peut être diagonalisée : $$\mathbf C = \mathbf V \mathbf L \mathbf V^\top,$$ où $\mathbf V$ est une matrice de vecteurs propres (chaque colonne est un vecteur propre) et $\mathbf L$ est une matrice diagonale avec les valeurs propres $\lambda_i$ en ordre décroissant sur la diagonale. Les vecteurs propres sont appelés axes principaux ou directions principales des données. Les projections des données sur les axes principaux sont appelées composantes principales, également connues sous le nom de scores PC ; elles peuvent être considérées comme de nouvelles variables transformées. La $j$-ème composante principale est donnée par la $j$-ème colonne de $\mathbf {XV}$. Les coordonnées du $i$-ème point de données dans le nouvel espace PC sont données par la $i$-ème ligne de $\mathbf{XV}$.

Si nous effectuons maintenant la décomposition en valeurs singulières de $\mathbf X$, nous obtenons une décomposition $$\mathbf X = \mathbf U \mathbf S \mathbf V^\top,$$ où $\mathbf U$ est une matrice unitaire (avec des colonnes appelées vecteurs singuliers gauches), $\mathbf S$ est la matrice diagonale des valeurs singulières $s_i$ et les colonnes de $\mathbf V$ sont appelées vecteurs singuliers droits. À partir de là, on peut facilement voir que $$\mathbf C = \mathbf V \mathbf S \mathbf U^\top \mathbf U \mathbf S \mathbf V^\top /(n-1) = \mathbf V \frac{\mathbf S^2}{n-1}\mathbf V^\top,$$ ce qui signifie que les vecteurs singuliers droits $\mathbf V$ sont les directions principales (vecteurs propres) et que les valeurs singulières sont liées aux valeurs propres de la matrice de covariance par $\lambda_i = s_i^2/(n-1)$. Les composantes principales sont données par $\mathbf X \mathbf V = \mathbf U \mathbf S \mathbf V^\top \mathbf V = \mathbf U \mathbf S$.

Pour résumer :

1. Si $\mathbf X = \mathbf U \mathbf S \mathbf V^\top$, alors les colonnes de $\mathbf V$ sont les directions/axes principaux (vecteurs propres).
2. Les colonnes de $\mathbf {US}$ sont les composantes principales (« scores »).
3. Les valeurs singulières sont liées aux valeurs propres de la matrice de covariance par $\lambda_i = s_i^2/(n-1)$. Les valeurs propres $\lambda_i$ montrent les variances des CP respectives.
4. Les scores standardisés sont donnés par les colonnes de $\sqrt{n-1}\mathbf U$ et les chargements sont donnés par les colonnes de $\mathbf V \mathbf S/\sqrt{n-1}$. Voir par exemple ici et ici pour comprendre pourquoi les « chargements » ne doivent pas être confondus avec les directions principales.
5. Ce qui précède est correct uniquement si $\mathbf X$ est centrée. Seulement alors, la matrice de covariance est égale à $\mathbf X^\top \mathbf X/(n-1)$.
6. Ce qui précède est correct uniquement si $\mathbf X$ a des échantillons dans les lignes et des variables dans les colonnes. Si les variables sont dans les lignes et les échantillons dans les colonnes, alors $\mathbf U$ et $\mathbf V$ échangent leurs interprétations.
7. Si l'on souhaite effectuer une ACP sur une matrice de co