Fonctions java pour le calcule des statistiques [Résolu]

Signaler
Messages postés
34
Date d'inscription
lundi 25 avril 2011
Statut
Membre
Dernière intervention
18 juin 2013
-
Messages postés
34
Date d'inscription
lundi 25 avril 2011
Statut
Membre
Dernière intervention
18 juin 2013
-
Salut tout le monde j'espère que vous allez bien
je suis actuellement en période de stage et j'ai un projet de développement d'une application pour la supervision
je doit trouver un algorithme qui parcourt une liste de valeurs et affiche les valeurs qui sont inadéquates c-à-d soit trop élevées par rapport au autres ou trop petites, vu que je suis nul en math j'ai fais des recherches mais j'ai pas trouvé grande chose certains m'ont dit que je peut filtrer les valeurs à l'aide du calcul de l'écart type et d'autres m'ont dit que peut être y'en a des fonctions java prédéfinis pour faire ce calcul, c'est pour ça que j'ai pensé à poser cette question ici et savoir s'il y'a vraiment des fonctions prédéfinies en java pour ce calcul car ça va faciliter la tache pour moi.

et Merci

6 réponses

Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
337
Je te conseil de travailler avec la variance.

Une fois que tu as la variance, tu peux calculer pour chaque élément de ton tableau la contribution à la variance :
Math.pow(liste.get(i)-moyenne, 2)/(variance*liste.size())


Les éléments qui ont une plus forte contribution à la variance sont ceux que tu recherches. Tu peux définir un seuil au delà duquel c'est anormal.
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
337
Cette méthode peut fonctionner, mais c'est un "bricolage statistique" qui donne des résultats intéressants tout de même.

Si tu veux faire des choses plus fines, je te conseil de faire une recherche sur google "détection des points abérants +statistiques" tu trouveras des choses intéressantes mais plus complexes.
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
337
Salut,

Non, il n'y en a pas.

Mais c'est tout simple :
- d'abord, tu calcules la moyenne (ca tu devrais t'en sortir)
- ensuite, tu boucles sur les nombres et tu fais un
variance+=Math.pow(liste.get(i)-moyenne, 2);

- a la fin tu fais v
ariance=variance/liste.size();

- et pour l'écart type
ecartType=Math.sqrt(variance);
Messages postés
34
Date d'inscription
lundi 25 avril 2011
Statut
Membre
Dernière intervention
18 juin 2013

Merci pour ta réponse,

donc à la fin de chaque itération j'aurai l'écart type de la valeur en cours, c'est ça ?

mais comment je vais savoir si cette valeur est normale ou bien très différente des autres ?

j'ai pensé à définir un seuil c-à-d un pourcentage par exemple un 5% ou 10% et comparer l'écart obtenu avec ce seuil ensuite je peut dire que si écart < seuil c'est ok la valeur est bonne, mais si écart > seuil alors la valeur est anormale.
Suis-je sur le bon chemin ?

Merci encore une fois
Messages postés
34
Date d'inscription
lundi 25 avril 2011
Statut
Membre
Dernière intervention
18 juin 2013

j'ai cherché sur internet, j'ai trouvé que l'écart type se calcule pour l'ensemble des valeurs pour mesurer leur dispersion autour de la moyenne, mais moi j'ai besoin de connaitre quelles sont les valeurs qui sont loin de la moyenne
Messages postés
34
Date d'inscription
lundi 25 avril 2011
Statut
Membre
Dernière intervention
18 juin 2013

d'accord merci infiniment pour ton aide