J'ai quelques questions de base concernant l'ACP (analyse en composantes principales) et LDA (analyse discriminante linéaire):
Dans l'ACP, il existe un moyen de calculer la proportion de la variance expliquée. Est-il également possible pour LDA? Si c'est le cas, comment?
La sortie «Proportion de trace» de la
lda
fonction (dans la bibliothèque R MASS) est-elle équivalente à la «proportion de variance expliquée»?
Réponses:
Je vais d'abord fournir une explication verbale, puis une explication plus technique. Ma réponse se compose de quatre observations:
Comme @ttnphns l'a expliqué dans les commentaires ci-dessus, dans l'ACP, chaque composante principale présente une certaine variance, qui, ensemble, représente jusqu'à 100% de la variance totale. Pour chaque composante principale, un rapport de sa variance à la variance totale est appelé «proportion de la variance expliquée». C'est très bien connu.
D'un autre côté, dans la LDA, chaque "composante discriminante" a une certaine "discrimination" (j'ai inventé ces termes!) Qui lui est associée, et elles totalisent toutes jusqu'à 100% de la "discrimination totale". Ainsi, pour chaque "composante discriminante", on peut définir "la proportion de discriminabilité expliquée". Je suppose que la "proportion de trace" à laquelle vous faites référence est exactement cela (voir ci-dessous). C'est moins bien connu, mais toujours banal.
Pourtant, on peut regarder la variance de chaque composante discriminante et calculer la "proportion de variance" de chacun d'eux. Il s’avère qu’ils s’ajouteront à quelque chose de moins de 100%. Je ne pense pas avoir jamais vu ce sujet discuté nulle part, ce qui est la principale raison pour laquelle je veux fournir cette longue réponse.
On peut aussi aller un peu plus loin et calculer la quantité de variance que chaque composante LDA "explique"; cela va être plus que sa propre variance.
LaisserT être une matrice de diffusion totale des données (c'est-à-dire une matrice de covariance mais sans normalisation par le nombre de points de données), W être la matrice de dispersion intra-classe, et B être une matrice de dispersion entre classes. Voir ici pour les définitions . Idéalement,T = W + B .
PCA effectue la décomposition propre deT , prend ses vecteurs propres unitaires comme axes principaux et les projections des données sur les vecteurs propres comme composants principaux. La variance de chaque composante principale est donnée par la valeur propre correspondante. Toutes les valeurs propres deT (qui est symétrique et positif-défini) sont positifs et s’additionnent à la t r ( T ) , connue sous le nom de variance totale .
LDA effectue la décomposition propre deW- 1B , prend ses vecteurs propres non orthogonaux (!) comme axes discriminants et ses projections sur les vecteurs propres comme composants discriminants (terme inventé). Pour chaque composante discriminante, nous pouvons calculer un rapport de variance inter-classeB et variance intra-classe W , c.-à-d. rapport signal / bruit N / B . Il s'avère qu'elle sera donnée par la valeur propre correspondante deW- 1B (Lemme 1, voir ci-dessous). Toutes les valeurs propres deW- 1B sont positifs (lemme 2) donc résumer à un nombre positif t r (W- 1B ) que l'on peut appeler rapport signal / bruit total . Chaque composant discriminant en contient une certaine proportion, et c'est, je crois, ce à quoi se réfère la "proportion de trace". Voir cette réponse par @ttnphns pour une discussion similaire .
Fait intéressant, les variances de toutes les composantes discriminantes s’ajouteront à quelque chose de plus petit que la variance totale (même si le nombreK des classes de l'ensemble de données est supérieure au nombre N des dimensions; car il n'y a queK- 1 axes discriminants, ils ne serviront même pas de base au cas où K- 1 < N ). Il s'agit d'une observation non triviale (lemme 4) qui découle du fait que toutes les composantes discriminantes ont une corrélation nulle (lemme 3). Ce qui signifie que nous pouvons calculer la proportion habituelle de variance pour chaque composante discriminante, mais leur somme sera inférieure à 100%.
Cependant, j'hésite à qualifier ces variances de composantes de «variances expliquées» (appelons-les plutôt «variances capturées»). Pour chaque composante LDA, on peut calculer la quantité de variance qu'elle peut expliquer dans les données en régressant les données sur cette composante; cette valeur sera en général plus grande que la variance "capturée" de cette composante. S'il y a suffisamment de composants, alors leur variance expliquée doit être de 100%. Voir ma réponse ici pour savoir comment calculer une telle variance expliquée dans un cas général: Analyse en composantes principales "en arrière": quelle est la variance des données expliquée par une combinaison linéaire donnée des variables?
Voici une illustration utilisant l'ensemble de données Iris (uniquement les mesures sépales!): Les lignes pleines minces montrent les axes PCA (ils sont orthogonaux), les lignes épaisses en pointillés montrent les axes LDA (non orthogonaux). Proportions de variance expliquées par les axes PCA:79 % et 21 % . Proportions du rapport signal / bruit des axes LDA:96 % et 4 % . Proportions de variance captées par les axes LDA:48 % et 26 % (c'est-à-dire seulement 74 % ensemble). Proportions de variance expliquées par les axes LDA:65 % et 35 % .
Lemme 1. Vecteurs propresv de W- 1B (ou, de manière équivalente, des vecteurs propres généralisés du problème des valeurs propres généralisées B v =λ W v ) sont des points stationnaires du quotient de Rayleigh
Lemme 2. Valeurs propres deW- 1B =W- 1 / deuxW- 1 / deuxB sont les mêmes que les valeurs propres de W- 1 / deuxBW- 1 / deux (en effet, ces deux matrices sont similaires ). Cette dernière est symétrique positive définie, donc toutes ses valeurs propres sont positives.
Lemme 3. Notez que la covariance / corrélation entre les composantes discriminantes est nulle. En effet, différents vecteurs propresv1 et v2 du problème généralisé des valeurs propres B v =λ W v sont les deux B - et W -orthogonal ( voir par exemple ici ), et sont doncT -orthogonal aussi (car T = W + B ), ce qui signifie qu'ils ont une covariance nulle: v⊤1Tv2= 0 .
Lemme 4. Les axes discriminants forment une base non orthogonaleV , dans lequel la matrice de covariance V⊤T V est diagonale. Dans ce cas, on peut prouver que
la source