Comment puis-je savoir qu'il n'y a pas de tendance dans les résultats de l'ACP?

9

J'ai un ensemble de données de 1000+ échantillons de 19 variables. Mon objectif est de prédire une variable binaire basée sur les 18 autres variables (binaires et continues). Je suis assez confiant que 6 des variables de prédiction sont associées à la réponse binaire, cependant, je voudrais analyser davantage l'ensemble de données et rechercher d'autres associations ou structures qui pourraient me manquer. Pour ce faire, j'ai décidé d'utiliser PCA et le clustering.

Lors de l'exécution de l'ACP sur les données normalisées, il s'avère que 11 composants doivent être conservés afin de conserver 85% de la variance. entrez la description de l'image ici En traçant les paires, j'obtiens ceci: entrez la description de l'image ici

Je ne suis pas sûr de la suite ... Je ne vois aucun motif significatif dans le pca et je me demande ce que cela signifie et si cela pourrait avoir été causé par le fait que certaines des variables sont binaires. En exécutant un algorithme de clustering avec 6 clusters, j'obtiens le résultat suivant qui n'est pas exactement une amélioration bien que certains blobs semblent se démarquer (les jaunes). entrez la description de l'image ici

Comme vous pouvez probablement le constater, je ne suis pas un expert en PCA, mais j'ai vu quelques tutoriels et comment il peut être puissant pour avoir un aperçu des structures dans un espace de grande dimension. Avec le célèbre jeu de données MNIST (ou IRIS), cela fonctionne très bien. Ma question est: que dois-je faire maintenant pour donner plus de sens à l'APC? Le clustering ne semble rien retenir d'utile, comment puis-je savoir qu'il n'y a pas de modèle dans la PCA ou que dois-je essayer ensuite pour trouver des modèles dans les données de la PCA?

mickkk
la source
Pourquoi faites-vous l'ACP afin de trouver des prédicteurs? Pourquoi ne pas utiliser une autre méthode? par exemple, vous pouvez tous les inclure dans un registre logistique, vous pouvez utiliser LASSO, vous pouvez construire un modèle d'arbre, il y a des sacs, des boosters, etc.
Peter Flom
Qu'entendez-vous spécifiquement par «modèle» que l'APC est bon de révéler?
ttnphns
@ttnphns, ce que j'essaie de faire, c'est de trouver un sous-groupe d'observations qui pourrait avoir quelque chose en commun pour mieux expliquer le résultat de la réponse binaire que j'essaie de prédire (cela a été en partie inspiré par dailyanalytics.ca/2014/ 06 /… ). En utilisant également pca et le clustering sur le jeu de données iris, il est utile d'isoler les espèces ( scikit-learn.org/stable/auto_examples/decomposition/… ) bien que cela soit super facile car nous connaissons déjà le nombre de clusters.
mickkk
@PeterFlom J'ai déjà exécuté une régression logistique et un modèle de forêt aléatoire et ils fonctionnent correctement, mais je voudrais approfondir les données.
mickkk

Réponses:

7

Vous avez expliqué que le graphique de variance me dit que l'ACP est inutile ici. 11/18 est 61%, vous avez donc besoin de 61% de vos variables pour expliquer 85% de la variance. Ce n'est pas le cas pour PCA, à mon avis. J'utilise l'ACP lorsque 3 à 5 facteurs sur 18 expliquent environ 95% de la variance.

MISE À JOUR: Regardez le graphique du pourcentage cumulé de variance expliqué par le nombre de PC. Cela provient du champ de modélisation de la structure des termes de taux d'intérêt. Vous voyez comment 3 composantes expliquent plus de 99% de la variance totale. Cela peut ressembler à un exemple inventé pour la publicité PCA :) Cependant, c'est une chose réelle. Les ténors de taux d'intérêt sont tellement corrélés, c'est pourquoi l'APC est très naturel dans cette application. Au lieu de traiter avec quelques dizaines de ténors, vous traitez avec seulement 3 composants.

entrez la description de l'image ici

Aksakal
la source
C'est ce que je soupçonnais en premier lieu. Je ne l'ai pas souligné directement parce que je ne sais pas grand-chose sur l'APC pour faire une déclaration aussi audacieuse. Est-il sûr de dire que lorsque plus de x% des composants sont nécessaires, l'APC n'est pas d'une grande aide? Je veux dire, dans les exemples d'application que j'ai vus, généralement peu de composants expliquent le plus de variance.
mickkk
@mickkk, il n'y a pas de règle ferme. Pour moi, l'indication est la convexité du graphique expliqué de la variance. Si vous le dessinez comme un pourcentage cumulatif de la variance totale expliquée par le nombre de PC, alors vous voulez voir un graphique très concave. Votre aurait été presque linéaire: chaque composant semble porter à peu près les mêmes informations sur les données, dans ce cas, pourquoi utiliser PCA à la place des données d'origine?
Aksakal
La modification avec le nouvel exemple a été très utile.
mickkk
5

Si vous avez échantillons et seulement prédicteurs, il serait assez raisonnable d'utiliser simplement tous les prédicteurs dans un modèle. Dans ce cas, une étape PCA peut être inutile.p = 19N>1000p=19

Si vous êtes convaincu que seul un sous-ensemble de variables est vraiment explicatif, l'utilisation d'un modèle de régression clairsemée, par exemple Elastic Net, pourrait vous aider à établir cela.

De plus, l'interprétation des résultats de l'ACP en utilisant des entrées de type mixte (binaire vs réel, différentes échelles, etc., voir la question CV ici ) n'est pas si simple et vous pouvez l'éviter à moins qu'il y ait une raison claire de le faire.

conjectures
la source
4

Je vais interpréter votre question aussi succinctement que possible. Faites-moi savoir si cela change votre sens.

Je suis assez confiant que 6 des variables prédictives sont associées à la réponse binaire [mais] je ne vois aucun motif significatif dans le pca

Je ne vois pas non plus de "modèle significatif", à part la cohérence de vos paires de parcelles. Ce ne sont que des taches grossièrement circulaires. Je suis curieux de savoir à quoi vous vous attendiez. Séparez clairement les groupes de points de certaines des paires de parcelles? Quelques parcelles très proches du linéaire?

Vos résultats PCA - les diagrammes de paires bloblike et seulement 85% de la variance capturée dans les 11 principaux composants principaux - n'empêchent pas votre intuition que 6 variables soient suffisantes pour la prédiction de réponse binaire.

Imaginez ces situations:

  1. Supposons que vos résultats PCA montrent que 99% de la variance sont capturés par 6 composantes principales.

    Cela pourrait sembler soutenir votre intuition sur 6 variables de prédicteur - peut-être pourriez-vous définir un plan ou une autre surface dans cet espace dimensionnel qui classe très bien les points, et vous pouvez utiliser cette surface comme prédicteur binaire. Ce qui m'amène au numéro 2 ...

  2. Dites que vos 6 principaux composants principaux ont des diagrammes de paires qui ressemblent à ceci

    "Motif" dans les paires.

    Mais colorions une réponse binaire arbitraire

    "Pattern" est inutile.

    Même si vous avez réussi à capturer la quasi-totalité (99%) de la variance en 6 variables, vous n'êtes toujours pas assuré d'avoir une séparation spatiale pour prédire votre réponse binaire.

Vous pourriez en fait avoir besoin de plusieurs seuils numériques (qui pourraient être tracés comme des surfaces dans cet espace à 6 dimensions), et l'appartenance d'un point à votre classification binaire pourrait dépendre d'une expression conditionnelle complexe faite de la relation de ce point à chacun de ces seuils. Mais ce n'est qu'un exemple de la façon dont une classe binaire pourrait être prédite. Il existe une tonne de structures de données et de méthodes pour représenter, former et prévoir. Ceci est un teaser. Citer,

Souvent, la partie la plus difficile de la résolution d'un problème d'apprentissage automatique peut être de trouver le bon estimateur pour l'emploi.

kdbanman
la source
1
Le visage souriant est vraiment bon, car il n'est pas corrélé! Je l'ai aimé.
amoeba
@amoeba, pouvez-vous avoir le visage souriant de PC non corrélés?
Aksakal
@Aksakal, oui, le nuage de points smiley me semble présenter une corrélation nulle. Kdbanman, j'apprécie la mise à jour, +1.
amoeba
@amoeba, ok, tu veux dire une corrélation linéaire .
Aksakal