Partielo | Créer ta fiche de révision en ligne rapidement
Post-Bac
1

Analyse Factorielle Discriminante (CM3 et TP3)

Analyse de données multivariées

L'analyse factorielle discriminante (AFD) peut être considérée comme une extension de la régression multiple avec une variable dépendante qualitative. On cherche à identifier des groupes en fonction de variables explicatives quantitatives. Les objectifs sont de différencier des groupes existants en identifiant les variables les plus discriminantes, affecter un individu à un groupe en y associant une probabilité d’appartenance et valider une classification existante ou identifier la classification la plus pertinente.

Pour combiner 2 variables, on va créer un axe Z qui modélise les 2 variables et on observe alors la répartition des individus par rapport à cet axe.

Donc Z est l’axe qui permet de discriminer les 2 groupes : c’est la fonction discriminante, une combinaison linéaire des variables. On cherche donc à faire une fonction avec pour chaque variable un coefficient dit coefficient de discrimination.

Pour calculer ces coefficients, on doit faire le compromis entre deux objectifs distincts :

  • représenter les groupes comme bien séparés = maximiser l’inertie inter-groupes
  • représenter les groupes comme homogènes = minimiser l’inertie intra-groupes

Théorème de Huygens : inertie totale (centre de gravité de tous les individus) = inertie inter-groupe (le centre de gravité entre les groupes) + l’inertie intra-groupe (centre de gravité dans un groupe) ; variance = inertie).

La recherche des fonctions Z revient à trouver une combinaison linéaire qui maximise : variance inter-groupes / variance intra-groupes.On va combiner les variables 2 à 2, les variables quantitatives avec lesquelles, on va créer autant de fonctions discriminantes orthogonales entre elles.


afd=discrimin(dudi.pca(données quanti, variable quali)) -> on réalise d'abord une acp normé, puis l'afd; s.arrow(afd$fa) et s.class(afd$li, variable quali)

L'analyse de l'AFD est proche de celle de l'ACP.

On peut compléter la création des groupes par l'AFD avec un test de permutations qui permet de vérifier la réelle différence entre les groupes.


test=rtest(afd, nbr de permutation)

Si la valeur p < 0,05, on accepte H1 : les groupes sont différents entre eux.

On peut faire une autre AFD sur R qui n'est pas graphique mais qui permet de contrôler la qualité de la classification.

library(MASS); afd2=lda(variable quali~variables quanti, CV=T)-> CV=T est un estimateur moins biaisé

Cette analyse réalise une validation croisée de type Jackknife en retirant séquentiellement chacun des objets et renouvelant l'analyse à chaque fois.

table(variable quali,afd2$class) -> tableau de contingence des groupes de l'afd et des groupes réel

À partir de ce tableau, on peut calculer le % de bon classement et identifier pour quel(s) facteur(s) il y a un mauvais groupement.