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

pink90 34 Messages postés lundi 25 avril 2011Date d'inscription 18 juin 2013 Dernière intervention - 22 mai 2013 à 18:18 - Dernière réponse : pink90 34 Messages postés lundi 25 avril 2011Date d'inscription 18 juin 2013 Dernière intervention
- 23 mai 2013 à 17:08
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
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
cs_Julien39 6450 Messages postés mardi 8 mars 2005Date d'inscription 17 mai 2018 Dernière intervention - 23 mai 2013 à 13:45
3
Merci
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.

Merci cs_Julien39 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 117 internautes ce mois-ci

Commenter la réponse de cs_Julien39
Meilleure réponse
cs_Julien39 6450 Messages postés mardi 8 mars 2005Date d'inscription 17 mai 2018 Dernière intervention - 23 mai 2013 à 13:47
3
Merci
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.

Merci cs_Julien39 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 117 internautes ce mois-ci

Commenter la réponse de cs_Julien39
cs_Julien39 6450 Messages postés mardi 8 mars 2005Date d'inscription 17 mai 2018 Dernière intervention - 23 mai 2013 à 08:27
0
Merci
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);
Commenter la réponse de cs_Julien39
pink90 34 Messages postés lundi 25 avril 2011Date d'inscription 18 juin 2013 Dernière intervention - 23 mai 2013 à 10:03
0
Merci
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
Commenter la réponse de pink90
pink90 34 Messages postés lundi 25 avril 2011Date d'inscription 18 juin 2013 Dernière intervention - 23 mai 2013 à 11:09
0
Merci
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
Commenter la réponse de pink90
pink90 34 Messages postés lundi 25 avril 2011Date d'inscription 18 juin 2013 Dernière intervention - 23 mai 2013 à 17:08
0
Merci
d'accord merci infiniment pour ton aide
Commenter la réponse de pink90

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.