有用于计算基尼系数的Java函数吗?

时间:2020-03-05 03:20:56

标签: java

我想知道是Java内置的Java函数,还是Apache Commons Math之类的“正式”库中是否存在Java函数,用于计算基尼系数。

来自Wikipedia→Gini coefficient

在经济学中,基尼系数(有时称为基尼系数或基尼比)是一种统计上的分散度,旨在代表一个国家居民的收入或财富分配,是最不平等的度量。

1 个答案:

答案 0 :(得分:4)

我不知道一个。但是写一个很简单!

double gini(List<Double> values) {
    double sumOfDifference = values.stream()
        .flatMapToDouble(v1 -> values.stream().mapToDouble(v2 -> Math.abs(v1 - v2))).sum();
    double mean = values.stream().mapToDouble(v -> v).average().getAsDouble();
    return sumOfDifference / (2 * values.size() * values.size() * mean);
}