Statistiques simples-Paquets Java pour calculer la moyenne, l'écart type, etc


Pourriez-vous suggérer des paquets de statistiques Java simples?

Je n'ai pas nécessairement besoin des trucs avancés. J'ai été assez surpris qu'il ne semble pas y avoir de fonction pour calculer la moyenne dans le paquet java.lang.Math...

Qu'est-ce que vous utilisez pour cela?


MODIFIER

Concernant:

Comment est-il difficile d'écrire une classe simple qui calcule les moyens et la norme les écarts?

Eh bien, pas difficile. Je ne posé cette question après avoir codé à la main ces. Mais cela n'a fait qu'ajouter à ma frustration Java de ne pas avoir ces fonctions les plus simples à portée de main quand j'en avais besoin. Je ne me souviens pas de la formule pour calculer stdev par cœur:)

Author: Peter Perháč, 2009-11-15

5 answers

 74
Author: John Paulett, 2013-10-30 11:03:41

Depuis Java SE 8, un certain nombre de classes ont été ajoutées à la plate-forme:

 18
Author: Peter Perháč, 2015-09-04 21:43:49

Il suffit de répondre à cette partie de la question:

J'ai été assez surpris qu'il n'y ait pas semble pas être une fonction à calculer la Moyenne dans le Java.lang.Paquet de maths...

Je ne pense pas avoir été surpris de trouver cela. Il y a beaucoup d ' "algorithmes utiles" que les bibliothèques de classes Java n'implémentent pas. Ils ne mettent pas tout en œuvre. Et en cela, ils ne sont pas différents des autres langages de programmation.

En fait, ce serait une mauvaise chose si Sun a essayé d'en implémenter trop dans J2SE:

  1. Cela prendrait plus de temps pour le concepteur / développeur / documenteur technique ... sans "retour sur investissement" clair.

  2. Cela augmenterait l'empreinte Java; par exemple la taille de "rt.jar". (Ou s'ils essayaient d'atténuer cela, cela entraînerait plus de complexité de la plate-forme ... )

  3. Pour les choses dans l'espace mathématique, vous devez souvent implémenter les algorithmes de différentes manières (avec différentes API) pour répondre à différentes exigences.

  4. Pour les choses complexes, il peut être préférable pour Sun de ne pas essayer de "standardiser" les API, mais de laisser le soin à un autre groupe intéressé / qualifié de le faire; par exemple les gens d'Apache.

 16
Author: Stephen C, 2009-11-14 23:43:55
import java.util.*;
public class stdevClass {
    public static void main(String[] args){
        int [] list = {1,-2,4,-4,9,-6,16,-8,25,-10};
        double stdev_Result = stdev(list);
        System.out.println(stdev(list));
    }

    public static double stdev(int[] list){
        double sum = 0.0;
        double mean = 0.0;
        double num=0.0;
        double numi = 0.0;
        double deno = 0.0;

        for (int i : list) {
            sum+=i;
        }
        mean = sum/list.length;

        for (int i : list) {
            numi = Math.pow((double) i - mean), 2);
            num+=numi;
        }

        return Math.sqrt(num/list.length);
    }
}
 3
Author: hodan_egal, 2017-07-06 15:28:26

Je pense qu'il n'y a pas de méthode directe et de classes en java. Nous devons le construire pour nous-mêmes. Pour vos besoins, ce code vous aidera. Calculer l'Écart type en java

 1
Author: user889392, 2011-08-11 07:11:52