Ответ 1
Apache Commons Math, в частности DescriptiveStatistics и SummaryStatistics.
Не могли бы вы предложить любые простые пакеты статистики Java?
Мне не обязательно нужен какой-либо передовой материал. Я был очень удивлен, что не существует функции для вычисления среднего значения в пакете java.lang.Math
...
Что вы, ребята, используете для этого?
ИЗМЕНИТЬ
Относительно:
Как трудно писать простой класс который рассчитывает средства и стандартные отклонения?
Ну, не сложно. Я задал этот вопрос только после того, как их вручную закодировали. Но это только добавило моему разочарованию в Java, чтобы эти простые функции не были доступны под рукой, когда они мне были нужны. Я не помню формулу для вычисления stdev наизусть:)
Apache Commons Math, в частности DescriptiveStatistics и SummaryStatistics.
Просто отвечая на эту часть вопроса:
Я был очень удивлен, что там не представляется функцией для вычислить Среднее значение в java.lang.Math package...
Я не думаю, что с удивлением обнаружил это. Существует множество "полезных алгоритмов", которые не реализуют библиотеки классов Java. Они не реализуют все. И в этом они ничем не отличаются от других языков программирования.
На самом деле было бы плохо, если бы Sun даже пыталась реализовать слишком много в J2SE:
Требуется больше времени для разработчиков/разработчиков/технических документов... без четкой "отдачи от инвестиций".
Это увеличит площадь Java; например размер "rt.jar". (Или, если они попытаются смягчить это, это приведет к большей сложности платформы...)
Для вещей в математическом пространстве вам часто нужно внедрять алгоритмы по-разному (с различными API-интерфейсами) для удовлетворения различных требований.
Для сложных вещей Sun может не пытаться "стандартизировать" API-интерфейсы, но оставить это для какой-либо другой заинтересованной/опытной группы, чтобы сделать это; например люди Apache.
Так как Java SE 8 добавлено несколько классов на платформу:
Я думаю, что нет прямого метода и классов в java. Мы должны строить его для себя. Для вашего требования этот код поможет вам. Вычислить стандартное отклонение в java
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);
}
}