Analyse Composantes Principales

Bonjour,

J'ai un nuage de $n$ points dont je connais le centre de gravité, la matrice de covariance, ses valeurs propres, les axes d'inertie.
Est-ce qu'on sait comment actualiser tous ces paramètres quand on ajoute un nouveau point au nuage ? Le centre de gravité, c'est facile, mais les autres ? Je suis à la recherche d'une formule itérative, je voudrais donc éviter de tout recalculer.
Merci d'avance,
lm

Réponses

  • Si $a$ et $b$ sont des probas dans $\R^n$ de moyennes $m_a$ et $m_b$ et de covariances $\Sigma_a$ et $\Sigma_b$ et si $0<t<1$ tu demandes
    $$\Sigma_{(1-t)a+tb}=(1-t)(\Sigma_a+m_a\otimes m_a)+t(\Sigma_b+m_b\otimes m_b)-((1-t)m_a+tm_b)\otimes )((1-t)m_a+tm_b)$$ $$\Sigma_{(1-t)a+tb}=(1-t)\Sigma_a+t\Sigma_b-t(1-t)(m_a-m_b)\otimes (m_a-m_b).$$


    Application $a=\frac{1}{N}\sum_{I=1}^N\delta_{x_i},$ $b=\delta_y$ et $t=1/(1+N).$ Alors $\Sigma_b=0$ et $m_b=y.$ D'ou la formule iterative:


    $$\Sigma_{(1-t)a+tb}=\frac{N}{N+1}\Sigma_a-\frac{N}{(N+1)^2}(m_a-y)\otimes (m_a-y).$$
  • Merci.

    lm
  • Pour la question du forum de géométrie, tu passes de la probabilité $\frac{1}{N}\sum_{s\in S}\delta_s$ par l’opération que tu décris à $\frac{1}{N^2}\sum_{s,s'\in S}\delta_{2s-s'}.$ Plus généralement si $X$ et $X'$ sont iid, tu passes de la loi de $X$ à celle de $2X-X'$ qui a même espérance que $X$ et covariance $$ \Sigma_{2X-X'}=4\Sigma_X+\Sigma_{X'}=5\Sigma_X$$ qui a bien les mêmes axes d'inertie que $ \Sigma_X$.
  • Pour remark : il faut en effet compter les points plusieurs fois si nécessaire.

    Pour P. : je ne comprends pas cette analyse statistique. Je serais d'accord avec ton calcul dans le protocole suivant :

    début
    - se donner une loi de distribution
    - tirer $S$ de taille $n$ selon cette loi
    - pour $ i=1,n^3$
    - - tirer $a_i$, $b_i$ et $c_i$ selon cette loi
    - - calculer $d_i=a_i+b_i-c_i$
    - finpour
    fin

    Alors, quand $n$ augmente, la distribution des $d_i$ tendrait vers la loi donnée.

    Mais dans notre cas, c'est différend : quand $S$ est tiré, le calcul devient déterministe.

    Est-ce que je me trompe ?

    lm
  • Oui tu te trompes, cher lm. La facon dont tu as cree l'ensemble $S$ n'a aucune importance. Tu te retrouves avec un nuage de $N$ points muni de la probabilite uniforme. Tu crees ensuite un grand ensemble $S'$ de $N^2$ points en associant a tout couple $x$ $y$ de $S$ le symetrique $2x-y$ de $y$ par rapport a $x$. Certains de ces $N^2$ points pourraient etre confondus, ce n'est pas le cas si $S$ est en position generale, mais sinon on affecterait une multiplicite. Alors si $X$ et $Y$ sont des variables aleatoires uniformes et independantes sur $S$, tu t'interesses a la loi de $2X-Y$ dont la moyenne et la covariance ont bien les proprietes enoncees dans le precedent post. Et ce sont des faits suffisament generaux pour ne pas les restreindre a une loi uniforme sur l'ensemble fini $S$ mais a n'importe quelle loi sur $\R^d$ pour laquelle les moments d'ordre deux existent.
  • Il y a normalement même plus efficace pour calculer une ACP itérativement. La méthode proposée par P permet de mettre à jour la matrice de covariance, mais elle demande de refaire toute la SVD derrière donc on ne gagne pas énormément.
  • Bonjour
    Je n'ai pas le niveau pour suivre votre suite de messages. Il s'agit donc d'une simple idée.

    Dans le cadre habituel d'une ACP, vous pouvez choisir le nouvel individu comme illustratif. Il faut donc le positionner dans le repère défini par les axes principaux.

    Cette pratique est courante lorsqu'un individu est bien trop atypique et, que son influence sera bien trop importante sur la détermination des axes.

    Si, bien sûr, il s'agit d'un contexte où, il faut actualiser en temps réel une ACP alors votre approche, est bien plus importante que ce que j'ai écrit ci-dessus. Votre question m'intéresse vraiment.
    Cordialement.

    [Transfert du message comme indiqué par l'auteur. :-) AD]
Connectez-vous ou Inscrivez-vous pour répondre.