Расчет коэффициента Джини в R - PullRequest
0 голосов
/ 26 августа 2018

Я использую пакет Ineq в R для расчета коэффициента Джини.Из проверки исходного кода (ниже), он сначала упорядочивает вектор x перед вычислением Джини.

Пример данных:

example_data = data.frame(SCORE_RANGE = c('100-200','201-300','301- 
400','401-500','501-600'),
NUMBER_OF_OBSERVATIONS = c(100,100,100,100,100),
NUMBER_OF_NON_EVENT = c(85,90,95,90,90),
NUMBER_OF_EVENT = c(15,10,5,10,10))

Исходный код функции Gini из пакета ineq:

Gini = function (x, corr = FALSE, na.rm = TRUE) 
{
if (!na.rm && any(is.na(x))) 
    return(NA_real_)
x <- as.numeric(na.omit(x))
n <- length(x)
x <- sort(x)
G <- sum(x * 1L:n)
G <- 2 * G/sum(x) - (n + 1L)
if (corr) 
    G/(n - 1L)
else G/n
}

Я делаю это для своих моделей кредитных баллов и имею бин-данныев диапазоны оценок равных частот, а затем упорядочить по оценкам (от наименьшего к наибольшему).

Использование функции Джини из пакета ineq даст 0.16 .Правильно ли это с учетом этого контекста и того, что функция Джини из пакета ineq переупорядочивает вектор перед вычислениями?Если нет, то какой должен быть правильный коэффициент Джини?

Gini(example_data$NUMBER_OF_EVENT) 
...