Nice programing

단순 통계-평균, 표준 편차 등을 계산하기위한 Java 패키지

nicepro 2020. 11. 17. 21:05
반응형

단순 통계-평균, 표준 편차 등을 계산하기위한 Java 패키지


간단한 Java 통계 패키지를 제안 해 주시겠습니까?

나는 반드시 고급 물건이 필요하지 않습니다. java.lang.Math패키지에 평균을 계산하는 함수가없는 것 같아 놀랐습니다 ...

너희들은 이것을 위해 무엇을 사용하고 있습니까?


편집하다

에 관해서:

평균과 표준 편차를 계산하는 간단한 클래스를 작성하는 것이 얼마나 어렵습니까?

음, 어렵지 않습니다. 나는 이것을 직접 코딩 한 후에 만이 질문을했다. 그러나 내가 필요할 때 이러한 가장 간단한 기능을 사용할 수 없다는 것은 Java의 좌절감을 더했습니다. 나는 마음으로 stdev를 계산하는 공식을 기억하지 않습니다. :)


Apache Commons Math , 특히 DescriptiveStatisticsSummaryStatistics .


Java SE 8 이후 여러 클래스가 플랫폼에 추가되었습니다.


질문의이 부분에 대한 답변 :

java.lang.Math 패키지에 평균을 계산하는 함수가없는 것 같아 놀랐습니다 ...

나는 이것을 발견하는 것에 놀라지 않았다고 생각한다. Java 클래스 라이브러리가 구현하지 않는 "유용한 알고리즘"이 많이 있습니다. 그들은 모든 것을 구현하지 않습니다. 그리고 이것에서 그들은 다른 프로그래밍 언어와 다르지 않습니다.

사실 Sun이 J2SE에서 너무 많이 구현하려고했다면 나쁜 일이 될 것입니다.

  1. 명확한 "투자 수익"없이는 더 많은 디자이너 / 개발자 / 기술 문서화 시간이 필요합니다.

  2. Java 풋 프린트가 증가합니다. 예 : "rt.jar"의 크기. (또는이를 완화하려고하면 플랫폼이 더 복잡해집니다 ...)

  3. 수학적 공간의 경우 다양한 요구 사항을 충족하기 위해 다양한 방식 (다른 API 사용)으로 알고리즘을 구현해야하는 경우가 많습니다.

  4. 복잡한 경우에는 Sun이 API를 "표준화"하지 않고 다른 관심 / 숙련 된 그룹에 맡기는 것이 더 나을 수 있습니다. 예를 들어 아파치 사람들.


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에는 직접적인 메서드와 클래스가 없다고 생각합니다. 우리는 우리 자신을 위해 그것을 만들어야합니다. 귀하의 요구 사항에 대해이 코드가 도움이 될 것입니다. 자바에서 표준 편차 계산

참고 URL : https://stackoverflow.com/questions/1735870/simple-statistics-java-packages-for-calculating-mean-standard-deviation-etc

반응형