Bonjour à tous,
Je cherche à faire une analyse en composantes principales (ACP) sur des variables complexes. Auriez-vous déjà vu cela ? Cela m'éviterait de devoir tout reprogrammer.
Merci d'avance
Michel
Version imprimable
Bonjour à tous,
Je cherche à faire une analyse en composantes principales (ACP) sur des variables complexes. Auriez-vous déjà vu cela ? Cela m'éviterait de devoir tout reprogrammer.
Merci d'avance
Michel
Bonjour à tous,
Désolé pour le caractère laconique de la requête initiale (1er post).
Voici quelques informations supplémentaires.Dans la majorité des cas, les données à traiter par l'ACP sont des données réelles et des paquets comme Ade4 et FactoMineR font correctement le travail.
Dans le cas qui me préoccupe, les données à traiter sont des données correspondant à une mesure simultanée d'une amplitude et d'une phase, donc à des nombres complexes au sens mathématique du terme (A+iB, avec i²=-1)
Ce type de cas n'est en général pas pris en compte par les paquets existants de R. Jusqu'à présent, la seule démarche qui m'est apparue est de reprogrammer le tout à partir d'une décomposition aux valeurs singulières d'une matrice complexe (fonction svd) et de programmer les projections après obtention des valeurs propres. Elles sont réelles car la matrice sera hermitienne.
Toute suggestion est la bienvenue.
Michel
Bonjour
Je vais peut être dire une bêtise (sûrement) mais tu ne peux pas simplement analyser le tableau à 2N composantes réelles (en séparant les 2 parties des nombres complexes) ?
(ça me gène a priori cette approche parce que cela revient à considérer chaque composantes comme étant indépendantes alors qu'elles sont liées)
Sinon, est-ce que ça un sens de parler d'ACP pour des complexes ? En particulier, quelle métrique utiliser pour calculer l'inertie ? (si on utilise la distance "classique" euclidienne, d peut être complexe et ne peut donc pas être ordonnée)
Re-bonjour à tous,
Apparemment considérer 2N composantes réelles n'est pas du tout "une bêtise". L'alternative est une ACP sur les variables complexes mais les 2 résultats ne sont pas équivalents (j'ai trouvé une publication de ... 1986 !) sur le sujet.
La seule référence sur l'ACP complexe est une papier de Horel dans le domaine océanographique mais à partir de données réelles : on utilise la transformée de Fourier pour générer à partir de données spacio-temporelles des variables complexes ...
Apparemment les routines permettant de faire de la décomposition aux valeurs singulières admettent des matrices complexes en entrée (avec des vecteurs propres complexes et des valeurs propres réelles).
Toujours en recherche de solution ...
Michel
Bonjour
Je reste sur cette interrogation : quel métrique utiliser ? La question est très importante puisque l'interprétation de l'ACP en dépend.
Pour mieux expliquer le problème (j'ai une vision très "géométrique" de l'ACP). Tu réalises une projection d'un espace à N dimensions sur un axe. Le but de l'ACP est de maximiser la dispersion des points de cet axe. Jusque-là, tout va bien. Le problème est que si tu travailles avec des complexes, il n'existe pas de relation d'ordre, ce qui revient à dire qu'il n'est pas possible de trouver un min et un max. Et il n'est pas possible de calculer une largeur (distance) pour ta dispersion. Si tu prends 2 projections différentes, tu ne peux pas dire que l'une est meilleure que l'autre.
Pour reprendre ton application, comment peux-tu calculer la distance entre 2 signaux d'amplitude et de phase différentes ?
Donc en gros, tu peux faire toutes les étapes du calcul de l'ACP sauf celle utilisant la notion de distance. Par exemple, sur l'algorithme présenté dans wiki, il n'est pas possible de trier la liste des valeurs propres si tu travailles en complexe.
Donc avant même de se poser la question de savoir comment réaliser l'ACP avec des complexes, il faut se poser des questions :
- est ce que l'ACP est pertinente ? (que recherches-tu ?)
- si elle n'est pas pertinente, quelle(s) autre(s) méthode(s) utiliser ?
- si elle est pertinente, comment transformer tes données pour avoir une distance "naturelle" (ou quelle métrique donner) ? Tu peux par exemple garder une seule composante (avec et sans transformation en coordonnées polaires) ou donner n'importe quelle équation linéaire permettant de transformer tes complexes en réels.
Bonjour,
j'ai entendu parler de "Multidimensional Scaling" afin de passer d'un espace de dim>2 à un espace de dim 2.
Cela conviendrait-il pour passer ensuite à l'ACP?
Bonne continuation :)
PS: "mds pca" sur google semble donner pas mal de résultats...