Aide réalisation ACP, tri des variables

Fermé
zoukaydi Messages postés 1 Date d'inscription vendredi 9 décembre 2022 Statut Membre Dernière intervention 9 décembre 2022 - 9 déc. 2022 à 16:20
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 - 17 janv. 2023 à 18:49

Bonjour à tous,

Je dois actuellement réaliser une ACP pour mon mémoire. Le thème est le dynamisme des espaces ruraux.

Mon but est d'analyser les communes rurales du département de l'Indre (au nombre de 234) et d'en déterminer les dynamiques. J'ai sélectionné 31 variables dans différentes catégories (démographie, activité économique, accessibilité, équipements...), il s'agit d'indicateurs descriptifs des communes. Mon ACP est donc de 234 individus et 31 variables.

Le problème est que l'inertie expliquée par les composantes principales est trop faible (à peine de l'ordre de 30% cumulée pour les trois premiers axes).

Pour améliorer l'inertie expliquée, j'essaye de réduire les variables utilisées, si j'ai bien compris il s'agit de supprimer les variables trop corrélées entre elles (ce qui veut dire que une variable suffit à en résumer d'autres ou est inductrice des autres).

J'utilise donc la matrice de corrélation et en observant les indice de corrélation >0,5 ou <-0,5, je peux effectivement supprimer quelques variables qui sont potentiellement décrites par d'autres, je supprime donc 8 variables. A noter que cette suppression n'est pas véritablement rigoureuse pour moi car quand bien même deux variables sont corrélées il n'est pas évident de savoir laquelle conserver. En relancant l'ACP, l'inertie obtenue n'est pas beaucoup mieux.

En faisant des recherches, je trouve le test KMO, qui permet lui de supprimer des variables qui n'ont pas assez de sens, en effectuant ce test sur ma matrice de corrélation, je peux supprimer une dizaine de variables dont la valeur MSA du KMO<0,5 (seuil trouvé sur internet comme inacceptable). En relancant l'ACP, l'inertie n'est toujours pas satisfaisante.

Je pense que j'ai peut être mal compris les méthodes de suppression de variables, je suis perdue entre "les variables doivent être corrélées pour que l'ACP ait un intérêt" et "si les variables sont trop corrélées, la précision de l'ACP est réduite".

Je sais pas si vous avez réussi à me suivre, (si oui merci!) mais pour résumer la question que je me pose c'est : comment savoir quelles variables supprimer pour améliorer l'inertie de l'ACP, et comment les supprimer ?

Je vous remercie!


Windows / Firefox 107.0

2 réponses

cengokill Messages postés 251 Date d'inscription dimanche 27 mai 2012 Statut Membre Dernière intervention 19 décembre 2022 17
9 déc. 2022 à 18:56

Bonjour, c'est vrai qu'il peut être difficile de savoir quelles variables supprimer dans une analyse en composantes principales (ACP). L'une des principales raisons pour lesquelles l'inertie expliquée par les composantes principales peut être faible est que les variables utilisées ne sont pas suffisamment corrélées entre elles. Cela peut se produire si les variables choisies ne sont pas suffisamment représentatives de la structure sous-jacente des données, ou si elles ne sont pas suffisamment corrélées entre elles pour pouvoir être bien expliquées par les composantes principales.

Pour savoir quelles variables supprimer, il peut être utile d'examiner les valeurs propres de la matrice de corrélation. Les valeurs propres sont les valeurs de la matrice de corrélation qui sont utilisées pour calculer les composantes principales. Si une variable a une valeur propre faible, cela signifie qu'elle n'est pas suffisamment corrélée aux autres variables pour être bien expliquée par les composantes principales. Dans ce cas, il peut être judicieux de la supprimer pour améliorer l'inertie expliquée par les composantes principales.

Il est également possible d'utiliser le test KMO pour déterminer quelles variables supprimer. Le test KMO mesure la "suitabilité" de la matrice de corrélation pour une ACP. Si la valeur MSA du KMO est inférieure à 0,5, cela signifie que les variables ne sont pas suffisamment corrélées entre elles pour une ACP. Dans ce cas, il peut être judicieux de supprimer certaines variables pour améliorer l'inertie expliquée par les composantes principales.

En général, il est recommandé de choisir des variables qui sont suffisamment corrélées entre elles et qui sont représentatives de la structure sous-jacente des données. Cela permettra d'améliorer l'inertie expliquée par les composantes principales et de mieux comprendre les dynamiques des espaces ruraux que vous étudiez.


0
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
17 janv. 2023 à 18:49

Bonjour,

Je trouve que ce lien résume bien ce qu'il faut comprendre d'une ACP. Notamment ce passage semble répondre à ta question :

Nous voyons que les deux premiers axes expliquent plus de 80% de l’information. Nous retiendrons donc les axes 1 et 2.

De façon plus générale, on ne retient un axe que sous la condition que la valeur propre qui lui est associée est supérieure ou égale à 1.

Une autre façon de voir est la suivante. Il y a V=9 variables. Il faut donc retenir les axes pour lesquels le pourcentage d’inertie est supérieur à 100/V=100/9=11.1. Il faut donc exclure les axes 3 et 4. Dans le cas présent, l’analyse est assez tranchée et l’analyse est de ce fait facilitée puisque nous ne retenons que deux axes.

Pour rappel, les vecteurs propres permettent de définir les axes de l'ACP.

La valeur propre qui lui correspond donne une idée de son importance : plus une valeur propre est importante, plus la projection du nuage de point sur l'axe correspondant est dispersé, et donc mieux l'axe permet d'isoler des sous nuages de points qui vont décrire une tendance.

Intuition pas rigoureuse de ce qu'est une valeur propre et un vecteur propre, mais qui permet de comprendre de quoi il s'agit : si on prend une ellipse, elle a deux valeurs propres associées à deux axes : son grand axe (qui a la plus grande valeur propre, car elle disperse le plus les points de l'ellipse) et son petit axe (la seconde valeur propre, et qui une fois le première dispersion faite, est la meilleur dispersion possible). Si l'ellipse est parfaite il n'y a pas d'autre valeur propre, le nuage de point est parfaitement caractérisé. Si la forme n'était pas tout à fait une ellipse on trouverait d'autres valeurs propres, mais significativement plus petites.

On peut reproduire suivre le même raisonnement sur un nuage de point, et c'est exactement ce que fait une ACP. Ce faisant, on ramène un nuage de points dans un espace de grande dimension en un nuage de point dans un espace de plus petite dimension (plongement). C'est sur la base de ce plongement qu'on interprète les données. En effet, chaque axe peut être caractérisé par une combinaison linéaire de variables (aka un vecteur propre), et donc cette combinaison linéaire induit une corrélation entre ces variables.

Algorithmiquement parlant on peut une ACP, arrêter quand on veut dans la réduction du nombre de dimensions. Mais on sent si on repense à l'exemple de l'ellipse que si on s'arrête trop tôt, on caractérise mal l'ellipse, si on s'arrête trop tard on s'attarde sur des détails. L'inertie permet de traduire cette notion et montre qu'elle est directement reliée aux valeurs propres, donc à la pertinence d'un axe. Les critères d'arrêt évoqués dans le passage que j'ai cité sont autant de manière de décider quand s'arrêter, mais tu comprends que ces critères sont indicatifs et qu'on pourrait très bien choisir des valeurs voisines pour décider ou non de l'arrêt.

Bonne chance

0