Простая статистика-Java пакеты для расчета среднего, стандартного отклонения и т. д


не могли бы вы предложить какие-либо простые статистические пакеты Java?

мне не обязательно нужен какой-либо из продвинутых материалов. Я был очень удивлен, что не существует функции для вычисления среднего значения в ...

что вы используете для этого?


EDIT

о:

Как трудно написать простой класс это вычисляет средства и стандарт отклонения?

5 63

5 ответов:

начиная с Java SE 8 на платформу было добавлено несколько классов:

просто отвечая на эту часть вопроса:

Я был очень удивлен, что там делает не представляется функция вычислите среднее значение в Ява.ленг.Математический пакет...

Я не думаю, что был удивлен, обнаружив это. Есть много "полезных алгоритмов", которые библиотеки классов Java не реализуют. Они не все реализуют. И в этом они ничем не отличаются от других языков программирования.

на самом деле Было бы плохо, если бы Sun попытался реализовать слишком много в J2SE:

  1. Это займет больше времени дизайнера / разработчика / технического документатора ... без четкой "отдачи от инвестиций".

  2. Это увеличило бы след Java; например, размер "rt.jar". (Или если они попытаются смягчить это, это приведет к большей сложности платформы ... )

  3. для вещей в математическом пространстве часто нужно реализуйте алгоритмы по-разному (с различными API) для удовлетворения различных требований.

  4. для сложных вещей Sun может быть лучше не пытаться "стандартизировать" API, но оставить это какой-то другой заинтересованной / квалифицированной группе; например, люди Apache.

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);
    }
}

Я думаю, что в java нет прямого метода и классов. Мы должны построить его для себя. Для вашего требования этот код поможет вам. вычислить стандартное отклонение в java