Les posteurs les plus actifs de la semaine
Aucun utilisateur |
Sujets les plus vus
Grand nombre de variables
3 participants
Page 1 sur 1
Grand nombre de variables
Bonjour,
J'ai besoin d'étudier l'ACP et une classification hiérarchique pour 12 individus à 950 variables, est ce que vous pouvez me conseiller un logiciel qui soit pas limité à 256 variables, merci et bonne journée
J'ai besoin d'étudier l'ACP et une classification hiérarchique pour 12 individus à 950 variables, est ce que vous pouvez me conseiller un logiciel qui soit pas limité à 256 variables, merci et bonne journée
sonda kammoun- Nombre de messages : 3
Date d'inscription : 08/12/2015
Re: Grand nombre de variables
Vu comment fonctionne l'ACP, tu ne peux avoir au maximum que 12 axes. Ton système est donc dégénéré. Vu le nombre de variables par rapport au nombre d'individus, le résultat sera n'importe quoi. Il faut commencer par utiliser une méthode de sélection des variables ou essayer directement des méthodes d'ACP robuste. Certains auteurs suggèrent de faire une ACP 'classique' sur une estimation robuste de la matrice de variance/covariance ou de corrélation (selon le type d'ACP recherchée). Sous R, je connais les méthodes cov.rob de MASS or cov.Mcd de robustbase ou le package pcaPP mais je ne sais pas s'ils répondent à tes contraintes. Peut-être que Bioconductor pourrait aussi répondre à ton problème. Bioconductor est implanté aussi sous R. Toujours sous R, va voir aussi du côté des packages GeneNet et mixOmics.
Florent Aubry- Nombre de messages : 251
Date d'inscription : 02/11/2015
Re: Grand nombre de variables
Merci Florent pour la réponse, réellement ce n'est pas des variables que j'ai mais des mesures d'éclairement sur une plage variant de 250 à 950 points pour chaque spécimens étudiés qui sont au nombre de 12, et j'ai besoin d'effectuer une classification hiérarchique pour les grouper en classes selon leur éclairement,
sonda kammoun- Nombre de messages : 3
Date d'inscription : 08/12/2015
Re: Grand nombre de variables
Donc, le nombre de points varie d'un sujet à l'autre. Cela rend très difficile de faire une ACP qui suppose que tous les sujets sont définis par les mêmes variables ou, dans le cas d'ACP analysant des séries (temporelles notamment), que chacune des variables représente le même point.
Si tes mesures par individus peuvent être assimilées à des séries temporelles, c'est-à-dire à la mesure d'un même paramètre en fonction d'un second paramètre qui est la dimension des points de mesures (temps, espace...), tu pourrais alors essayer du côté des séries temporelles. Mais dans ce cas, il serait sans doute préférable d'estimer par des méthodes (robustes) d'interpolation tous tes individus sur le même ensemble de points.
Si tes mesures par individus peuvent être assimilées à des séries temporelles, c'est-à-dire à la mesure d'un même paramètre en fonction d'un second paramètre qui est la dimension des points de mesures (temps, espace...), tu pourrais alors essayer du côté des séries temporelles. Mais dans ce cas, il serait sans doute préférable d'estimer par des méthodes (robustes) d'interpolation tous tes individus sur le même ensemble de points.
Florent Aubry- Nombre de messages : 251
Date d'inscription : 02/11/2015
Re: Grand nombre de variables
Le système n'est pas dégénéré. Tu auras effectivement 12 axes maxi, mais ces 12 axes expliqueront tout de même l'ensemble de l'information contenue dans des données, et permettra de faire les classifications souhaitées. Ceci est du au fait qu'on peut sans problème calculer la matrice de variance-covariance (ou de corrélation) et qui sera diagonalisée. Celle-ci n'aura qu'au maximum 12 valeurs propres non nulles.
L'alternative - dans ce cas - est parfois de faire une Analyse en Coordonnées Principales (à ne pas confondre avec l'Analyse en Composantes Principales; les deux se nomment "ACP", on préfère donc dans le second cas de parler de ACoP ou PCoA en anglais), ce qui peut revenir à travailler sur la transposée de la matrice de données d'origine. Cela revient à considérer les variables comme les individus, et réciproquement. On restera dans un système maximal de 12 dimensions, et les classifications souhaitées - cette fois-ci sur les variables j'imagine - reste possibles. Ca aura au moins le mérite de pouvoir utiliser des logiciels qui limitent le nombre de variables (il n'y en aura que 12 dans ce cas).
HTH, Eric.
L'alternative - dans ce cas - est parfois de faire une Analyse en Coordonnées Principales (à ne pas confondre avec l'Analyse en Composantes Principales; les deux se nomment "ACP", on préfère donc dans le second cas de parler de ACoP ou PCoA en anglais), ce qui peut revenir à travailler sur la transposée de la matrice de données d'origine. Cela revient à considérer les variables comme les individus, et réciproquement. On restera dans un système maximal de 12 dimensions, et les classifications souhaitées - cette fois-ci sur les variables j'imagine - reste possibles. Ca aura au moins le mérite de pouvoir utiliser des logiciels qui limitent le nombre de variables (il n'y en aura que 12 dans ce cas).
HTH, Eric.
Eric Wajnberg- Nombre de messages : 1238
Date d'inscription : 14/09/2012
Re: Grand nombre de variables
Eric,
Pour une fois je suis en désaccord partiel avec toi. En effet, on peut toujours calculer une matrice de variance/covariance ou de corrélation dans la configuration présentée par sonda et appliquer dessus une classification hiérarchique. Par contre si on essaie de déterminer le nombre de dimensions à retenir par une technique du type de l'analyse parallèle de Horn ou assimilée, on s'aperçoit qu'on peut pas estimer le nombre de dimensions à retenir. Par exemple, on obtient par simulation d'une matrice 12*950 de matrice de variance/covariance théorique l'identité, comme résultat de l'analyse de Horn :
De plus, la diagonalisation de la matrice de variance/covariance (ou corrélation) ou la SVD sur les données initiales donnera 950 valeurs propres dont au maximum 12 non nulles (à la précision de la machine près). De ce fait, je serai l'encadrant de sonda, je n'aurais aucune confiance dans le résultat de la classification faite par une ACP classique. C'est la raison pour laquelle je propose d'utiliser des méthodes robustes. Cependant, comme tu le suggères, l'utilisation de l'Analyse en Coordonnées Principales est une alternative qui, notamment permettra de se faire une véritable idée sur les redondance possibles entre variables et on peut toujours faire une classification hiérarchique sur les coordonnées des sujets sur les dimensions ainsi calculées. Je suis peu familier avec ce type d'analyse ACoP et je me demande dans quelle mesure on peut considérer qu'il y a une relation de dualité entre l'ACP et l'ACoP et donc, dans quelle mesure peut-on considérer le résultat de l'ACoP comme assimilable à une solution du problème de l'ACP qui serait plus robuste car ayant réduit la dimension du problème ?
Amicalement
Pour une fois je suis en désaccord partiel avec toi. En effet, on peut toujours calculer une matrice de variance/covariance ou de corrélation dans la configuration présentée par sonda et appliquer dessus une classification hiérarchique. Par contre si on essaie de déterminer le nombre de dimensions à retenir par une technique du type de l'analyse parallèle de Horn ou assimilée, on s'aperçoit qu'on peut pas estimer le nombre de dimensions à retenir. Par exemple, on obtient par simulation d'une matrice 12*950 de matrice de variance/covariance théorique l'identité, comme résultat de l'analyse de Horn :
- Code:
--------------------------------------------------
Component Adjusted Unadjusted Estimated
Eigenvalue Eigenvalue Bias
--------------------------------------------------
1 -2.959922 97.390555 100.35047
De plus, la diagonalisation de la matrice de variance/covariance (ou corrélation) ou la SVD sur les données initiales donnera 950 valeurs propres dont au maximum 12 non nulles (à la précision de la machine près). De ce fait, je serai l'encadrant de sonda, je n'aurais aucune confiance dans le résultat de la classification faite par une ACP classique. C'est la raison pour laquelle je propose d'utiliser des méthodes robustes. Cependant, comme tu le suggères, l'utilisation de l'Analyse en Coordonnées Principales est une alternative qui, notamment permettra de se faire une véritable idée sur les redondance possibles entre variables et on peut toujours faire une classification hiérarchique sur les coordonnées des sujets sur les dimensions ainsi calculées. Je suis peu familier avec ce type d'analyse ACoP et je me demande dans quelle mesure on peut considérer qu'il y a une relation de dualité entre l'ACP et l'ACoP et donc, dans quelle mesure peut-on considérer le résultat de l'ACoP comme assimilable à une solution du problème de l'ACP qui serait plus robuste car ayant réduit la dimension du problème ?
Amicalement
Florent Aubry- Nombre de messages : 251
Date d'inscription : 02/11/2015
Re: Grand nombre de variables
Florent,
L'espace dans lequel est compris les données avec 12 individus à 950 variables est un espace de (maxi) 12 dimensions même si la matrice de corrélation (ou de variance-covariance) fait 950x950. Par définition, la diagonalisation de cette matrice donnera donc (au plus) 12 valeurs propres (les premières) non nulles et les autres seront nulles. C'est juste ça. Prenons un exemple sous R (avec un jeu de données de 3 individus et 4 variables) :
(ici, il n'y a même que 2 valeurs propres non nulles, car il n'y a aucune structure dans ces données, et car - par hasard - les variables a & d et les variables a & c sont fortement corrélées).
Je ne dis que ça !
AMicalement, Eric.
L'espace dans lequel est compris les données avec 12 individus à 950 variables est un espace de (maxi) 12 dimensions même si la matrice de corrélation (ou de variance-covariance) fait 950x950. Par définition, la diagonalisation de cette matrice donnera donc (au plus) 12 valeurs propres (les premières) non nulles et les autres seront nulles. C'est juste ça. Prenons un exemple sous R (avec un jeu de données de 3 individus et 4 variables) :
- Code:
> essai=data.frame(a=rnorm(3),b=rnorm(3),c=rnorm(3),d=rnorm(3))
> essai
a b c d
1 0.4366233 0.1880957 1.0290036 -1.9564803
2 -1.2735214 -0.8183522 -0.7552258 -1.0534662
3 -1.7890011 0.8080191 -1.1701622 -0.5102775
- Code:
> cor(essai)
a b c d
a 1.00000000 -0.08660595 0.99900669 -0.9875676
b -0.08660595 1.00000000 -0.04212696 0.2421333
c 0.99900669 -0.04212696 1.00000000 -0.9795820
d -0.98756762 0.24213334 -0.97958201 1.0000000
- Code:
> eigen(cor(essai))
$values
[1] 3.000394e+00 9.996056e-01 5.551115e-17 -4.440892e-16
$vectors
[,1] [,2] [,3] [,4]
[1,] 0.5744792 -0.09896871 0.0000000 0.81251393
[2,] -0.1066633 -0.98297784 -0.1428759 -0.04431706
[3,] 0.5713630 -0.14322086 0.6895189 -0.42142112
[4,] -0.5763167 -0.05871588 0.7100353 0.40032655
(ici, il n'y a même que 2 valeurs propres non nulles, car il n'y a aucune structure dans ces données, et car - par hasard - les variables a & d et les variables a & c sont fortement corrélées).
Je ne dis que ça !
AMicalement, Eric.
Dernière édition par Eric Wajnberg le Ven 11 Déc 2015 - 5:39, édité 1 fois
Eric Wajnberg- Nombre de messages : 1238
Date d'inscription : 14/09/2012
Re: Grand nombre de variables
Merci Florent et Eric pour votre intérêt à ce sujet, je vais essayer de transposer les données et je vous tiens au courant de l'évolution de l'analyse
sonda kammoun- Nombre de messages : 3
Date d'inscription : 08/12/2015
Sujets similaires
» Classification - grand nombre d'individus & de variables
» Nombre de variables pour ACP
» nombre de variables et nombres d'observations pour ACM
» Analyse descriptive d'un grand jeu de données
» Grand aide sur la regressio logistique plytomique
» Nombre de variables pour ACP
» nombre de variables et nombres d'observations pour ACM
» Analyse descriptive d'un grand jeu de données
» Grand aide sur la regressio logistique plytomique
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum