IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

[Débutant] Calcul de l'écart-type (suite) (suite)


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Emilie MARQUOIS-OGEZ
    Femme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 80
    Par défaut [Débutant] Calcul de l'écart-type (suite) (suite)
    Bonjour,

    J'ai de nouveau revu le code.
    Dites-moi ce que vous en pensez, mais il semble que ça marche.

    Emilie

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    	// Calcul de la regularite d'envoi de messages 
    	public void calculRegularite() {
     
    		double variance; //variable contenant la difference des donnees avec la moyenne
    		double somme = 0;
    		double moyenne = 0; // Moyenne 
    		double ecartType = 0; // ecart type
     
    		// calcul entre deux iterations puis ajout de l'info dans l'arrayList interIterations
    		for (int j = 0; j < iterationNumbers.size(); j++) {
    			if(iterationNumbers.size() != j + 1) {
    				interIterations.add((Integer) iterationNumbers.get(j+1) - (Integer) iterationNumbers.get(j));
    				System.out.println("member n° " + this);
    				System.out.println("iterationNumbers : " + iterationNumbers);
    				System.out.println("interIterations : " + interIterations);
    			}
    		}
     
    		// calcul de la somme des itérations
    		for (int i=0; i < interIterations.size(); i++) {
    			somme += (Integer)interIterations.get(i);
    		}
    		System.out.println("somme : " + somme);
     
    		//calcul de la moyenne
    		moyenne = somme / interIterations.size();
    		System.out.println("moyenne : " + moyenne);
     
    		//calcul de l'écart type
    		for (int i = 0; i < interIterations.size(); i++) {
    			variance = pow((Integer)interIterations.get(i) - moyenne, interIterations.size());
    			ecartType = sqrt(variance);
    		}		
    		System.out.println("ecartType : " + ecartType);
    }

  2. #2
    Membre éprouvé
    Inscrit en
    Juin 2007
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 125
    Par défaut
    Bonjour,
    pourquoi ouvres-tu un nouveau post à chaque fois? Il suffit de continuer celui déjà ouvert puisque c'est le même sujet.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    System.out.println("member n° " + this);
    System.out.println("iterationNumbers : " + iterationNumbers);
    System.out.println("interIterations : " + interIterations);
    Qu'essaies-tu d'afficher exactement?


    Comme je te l'ai déjà dit, dans ton cas, le calcul de l'écart type a pour formule :
    racine_carrée[ [(x1-M)²+(x2-M)²+...+(xn-M)²]/n ]
    avec M la moyenne, n la taille de ta liste et x(1 à n) une valeur de cette liste.

    Or toi tu fais :
    racine_carrée[ (xn-M)(^n)/m ]
    avec M la moyenne, n la taille de ta liste, xn la dernière valeur de cette liste et m la taille d'une autre liste.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    //calcul de l'écart type
    for (int i = 0; i < interIterations.size(); i++) {
            diff = pow((Integer) this.interIterations.get(i) - moyenne, interIterations.size());
            ecartType = diff;
    }
    ecartType = sqrt(ecartType / iterationNumbers.size());
    Cette fois-ci tu fais :
    racine_carrée[ (xn-M)(^n) ]
    avec M la moyenne, n la taille de ta liste et xn la dernière valeur de cette liste.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    //calcul de l'écart type
    for (int i = 0; i < interIterations.size(); i++) {
    	variance = pow((Integer)interIterations.get(i) - moyenne, interIterations.size());
    	ecartType = sqrt(variance);
    }		
    System.out.println("ecartType : " + ecartType);

    La première fois, tu as fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    //calcul de l'écart type
    for (int i = 0; i < getListNumbers.size(); i++)
    {
           diff[i]=pow(this.getListNumbers(i) - moyenne, 2);
           ecartType += diff[i];
    }
    ecartType = sqrt(ecart_type / 100);
    ce qui correspond à :
    racine_carrée[ [(x1-M)²+(x2-M)²+...+(xn-M)²]/100 ]
    avec M la moyenne et x(1 à n) une valeur de cette liste.
    Est-ce que tu vois une différence?
    La première fois je t'ai juste dit de remplacer ton tableau diff car une simple variable était suffisante.
    Ainsi que le 100 par la taille de ta liste.

    Tu as essayé de l'exécuter pour voir le résultat?
    Sauf si ma formule est fausse (mes derniers cours de maths datent un peu quand même), je pense que tu trouveras une valeur erronée.

  3. #3
    Membre confirmé Avatar de Emilie MARQUOIS-OGEZ
    Femme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 80
    Par défaut
    Je pensais qu'en créant une nouvelle discussion j'aurais plus de chance d'avoir une réponse.

    J'obtiens toujours 0 pour l'écart-type.

    Mon problème, en fait, c'est que je ne vois pas comment faire pour coder en java cette ligne :

    racine_carrée[ [(x1-M)²+(x2-M)²+...+(xn-M)²]/100 ]

  4. #4
    Membre éprouvé
    Inscrit en
    Juin 2007
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 125
    Par défaut
    Mon problème, en fait, c'est que je ne vois pas comment faire pour coder en java cette ligne :

    racine_carrée[ [(x1-M)²+(x2-M)²+...+(xn-M)²]/100 ]
    C'est ce que tu as fait la première fois:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    //calcul de l'écart type
    for (int i = 0; i < getListNumbers.size(); i++)
    {
           diff[i]=pow(this.getListNumbers(i) - moyenne, 2);
           ecartType += diff[i];
    }
    ecartType = sqrt(ecart_type / 100);
    ce qui correspond à :
    racine_carrée[ [(x1-M)²+(x2-M)²+...+(xn-M)²]/100 ]
    avec M la moyenne et x(1 à n) une valeur de cette liste.

    Est-ce que tu vois une différence?
    La première fois je t'ai juste dit de remplacer ton tableau diff car une simple variable était suffisante.
    Ainsi que le 100 par la taille de ta liste.
    Il suffit de faire ce qu'il y a en gras pour avoir au final :
    racine_carrée[ [(x1-M)²+(x2-M)²+...+(xn-M)²]/n ]

    C'est le même principe que pour la moyenne:
    tu fais une boucle de ta liste
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for (int i=0; i < interIterations.size(); i++)
    tu fais la somme de toutes les valeurs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    somme += (Integer)interIterations.get(i);
    Sauf que pour la variance, il faut faire (xn-M)² avant de faire la somme.
    Enfin, tu divises par la taille de ta liste
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    moyenne = somme / interIterations.size();

  5. #5
    Membre confirmé Avatar de Emilie MARQUOIS-OGEZ
    Femme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 80
    Par défaut
    C'est ok ! J'ai finalement réussi. Merci.

  6. #6
    Membre éprouvé
    Inscrit en
    Juin 2007
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 125
    Par défaut
    Ravie d'avoir pu aidé.

Discussions similaires

  1. Calcul d'un écart type avec excel
    Par ANTMA dans le forum Excel
    Réponses: 7
    Dernier message: 27/05/2008, 18h21
  2. Calcul d'un écart-type sur une série de dates
    Par Emilie MARQUOIS-OGEZ dans le forum Excel
    Réponses: 6
    Dernier message: 30/10/2007, 15h56
  3. [Débutant] Calcul de l'écart-type (suite)
    Par Emilie MARQUOIS-OGEZ dans le forum Langage
    Réponses: 5
    Dernier message: 24/10/2007, 18h19
  4. Calcul de l'écart-type
    Par Emilie MARQUOIS-OGEZ dans le forum Langage
    Réponses: 2
    Dernier message: 23/10/2007, 14h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo