c possible de claculer un écart type en une seule boucle ? [algo] - Programmation
Marsh Posté le 29-11-2001 à 17:08:30
sachant que la variance (le carré de l'écart type) est
D[X] = M[(X-m)²]
cad la moyenne (M[...]) des carrés (²) des écarts à la moyenne (X-m)
Marsh Posté le 29-11-2001 à 18:00:57
ben ça fait toujours deux boucles, nan ?
-> N.m + sum(Xi² - 2.Xi.m)
même avec m = sum(Xi)/N
ça fait tjrs 2 boucles...
Marsh Posté le 29-11-2001 à 18:02:52
ça doit pas exister, même dans numerical recipes, ils en parlent pas...
Marsh Posté le 29-11-2001 à 18:15:45
somme[(Xi-m)²]=somme[Xi²+m²-2*m*Xi] (supposons n termes)
=somme[Xi²] + n*m² - 2*m*somme[Xi]
=somme[Xi²] + n*(somme(Xi)/n)² - 2*(somme(Xi))²/n
=somme(Xi²) + 1/n*(somme(Xi))² - 2*(somme(Xi))²/n
=somme(Xi²) - 1/n*(somme(Xi))²
Ca doit quand même pouvoir se calculer en une boucle ainsi développé, même si on ne connait n qu'à la fin. Mais attention à la précision car chaque somme va être importante.
la méthode en 2 boucles sera plus précise
Marsh Posté le 29-11-2001 à 18:25:08
pour la méthode : merci beaucoup !
pour la précision des sommes :
Marsh Posté le 29-11-2001 à 16:40:07
c-a-d sans une boucle pour la moyenne et une boucle pour l'écart type lui même ?