Знакомьтесь, Джини

Многие путаются в коэффициентах Джини, не понимают, что они бывают разные и для разных задач (и названия у них разные — просто в русском переводе, как всегда, многое схлопывается в один термин).

Есть коэффициент/индекс Джини (Gini coefficient), который используют при оценке качества классификации и регрессии. На русской странице Wiki не очень информативно, но вот на английской всё подробно: изначально это был статистический показатель степени расслоения общества данной страны или региона по отношению к какому-либо изучаемому признаку. Вычисляется как отношение площади фигуры, образованной кривой Лоренца и кривой равенства, к площади треугольника, образованного кривыми равенства и неравенства. Сейчас поясню.

Допустим, в компании работают 4 человека с суммарным доходом 8000$. Равномерное распределение дохода — это 2000$+2000$+2000$+2000$, неравномерное — 0$+0$+0$+8000$. А как оценить неравномерность, скажем, для случая 1000$+1000$+2000$+4000$? Упорядочим сотрудников по возрастанию дохода. Построим кривую (Лоренца) в координатах [процент населения, процент дохода этого населения] — идём по всем сотрудникам и откладывает точки. Для первого — [25%, 12.5%] — это сколько он составляет процентов от всего штата и сколько процентов составляет его доход, для первого и второго — [50%, 25%] — это сколько они составляют процентов и сколько процентов их доход, для первых трёх — [75%, 50%], для всех — [100%, 100%].

gini
Рис. 1. Вычисление gini с помощью кривой Лоренца

На. Рис. 1. построенная кривая Лоренца показана красным цветом. Кривая Лоренца, которая соответствует равномерному распределению дохода, — синяя диагональ (т.н. кривая равенства). Кривая Лоренца, которая соответствует неравномерному распределению, — зелёная (т.н. кривая неравенства). Вот площадь A, делённая на A+B=0.5, и есть коэффициент Gini.

При оценке качества классификации GINI = 2*AUCROC-1. Про AUCROC я уже как-то писал. Почему это они так связаны нигде подробно не описано. Я нашёл упоминание в работе Supervised Classification and AUC. Там всё логично: если в задаче классификации на два класса 0 и 1 интерпретировать эти числа как доходы. Но чтобы связь была именно GINI = 2*AUCROC-1, должно быть что-то типа рис. 2 (но ROC-кривая и кривая Лоренца это не одно и то же), кстати в презентации Credit Scoring and the Optimization concerning Area under the curve такая же картинка.

gini
Рис.2. Связь AUCROC и GINI.

Есть ещё коэффициент/индекс Джини (Gini impurity), который используется в решающих деревьях при выборе расщепления. Я дал ссылку на английскую Wiki, поскольку русского аналога нет. Он тоже измеряет «равномерность», если p_i — частоты представителей разных классов в листе дерева, то коэффициент Джини для него равен

fgini

Только вот это другая равномерность, никак не связанная с рассмотренной ранее. Для первой нужно два показателя — доход и численность населения с таким доходом, а тут только проценты (частоты). В английской версии на странице Gini coefficient написано «не путать с Gini impurity» и наоборот.

Я не знаю, как лучше переводить impurity, скажем, С.П.Чистяков переводит как «загрязненность» (на мой взгляд, не очень звучит…).

Коррадо Джини (Corrado Gini, 1884), который всё это придумал был итальянским статистиком. Но кроме этого, он известный идеолог фашизмa, написал книгу «Научные основы фашизма». Прожил, кстати, довольно много — 80 лет, видимо, после войны не преследовался. Вот так бывает…

Реклама

10 thoughts on “Знакомьтесь, Джини

  1. Александр, как Вам вариант перевода «неопределенность Джини»? Ещё можно пояснить теоретическую основу такой формулы коэф-та неопределенности Джини. Например, в англ версии статьи про деревья решений на википедии об этом говорится. https://en.m.wikipedia.org/wiki/Decision_tree_learning
    Ещё хотелось бы задать вопрос про использование прироста информации или неопределенности Джини в деревьях и лесах. Сообщество Sklearn рекомендует для задач классификации использовать Джини (непонятно, почему, видимо, просто по опыту пришли к такому выводу). Или тут может быть такая подоплека, что неопределенность Джини напрямую связана с ROC AUC ( 2*AUC — 1), и тогда именно коэффициент неопределенности Джини предпочтителен для оценки обобщающей способности, если целевая метрика — AUC (или accuracy).
    И кстати, есть ли какие-то теоретические основания «охотиться» за IG или Джини? Может, Вам известны работы, в которых показывается, что это приводит к минимизации ошибки обощения? Почему бы просто не максимизировать долю, если целевая метрика доля, логистическую ошибку, если она целевая и т.д? Все равно IG и Джини не монотонны и не антимонотонны, так что вычислительных преимуществ их использование не даёт.

    • «Неопределённость Джини», вроде, получше…

      Если Вы про «Gini impurity is a measure of how often a randomly chosen element from the set would be incorrectly labeled if it were randomly labeled according to the distribution of labels in the subset»… ну это не совсем теоретическое обоснование, скорее, интерпретация. Хотя, возможно, стоит написать про это.

      Я думаю, что gini impurity предпочитают просто исходя из опыта. Там, собственно, выбор небольшой: Джини или энтропия. Мы как-то делали опыт: в явном виде максимизировали целевые функционалы при разбиении, особого выигрыша это не даёт.

      Никакой AUC gini impurity не максимизирует. Во-первых, Джини и энтропия, в принципе, не стремятся «к идеальному разбиению». Если внимательно посмотреть на критерии расщепления, то там есть слагаемое, которое отвечает за «лучше бить пополам». Во-вторых, Вы невнимательно прочитали пост. Gini coefficient = 2*AUCROC — 1, но gini impurity никак не связан с Gini coefficient и с AUCROC. Они вообще придуманы для разных задач!

    • Причем, что меня удивило, что многие преподаватели ШАДа не знают разницу между этими Джини… Выпускники, естественно, тем более.

      • Гораздо печальнее, что люди в ШАД &YDF не понимают (ну или как минимум не понимали в прошлом году, надеюсь в этом уже научились), как правильно «измерять» Gini, если в задаче большое perfomance window (период созревания), что в задачах кредитования, страхования или раннего предупреждения сбоев в сложных технических системах скорее норма, чем исключение. И не понимают, почему борьба за десятые доли Gini и менее в таких задачах не имеет смысла. Удивительного в этом ничего нет — ШАД имеет довольно узкую специализацию. Впрочем, в кредитовании, например, кроме периода созревания еще одна причина есть, почему за десятыми долями Gini гнаться не стоит.
        То, о чем Вы пишите, конечно, печально, что у людей специальная эрудиция хромает и они термины путают, но это на результат работы особо не влияет. Опаснее другое — непонимание того, как та или иная метрика считаются, означает, что ты не понимаешь, когда она работать перестает и почему. Или как она на P&L влияет (такими исследованиями в России никто вообще не занимается на систематической основе)
        ИМХО в России людей по пальцам можно пересчитать, которые понимают, почему точность и полнота (для оценки моделей классификации) хорошо работают в задачах планирования маркетинговых кампаний и плохо подходят для задач текущего кредитования, и почему там надо Джини использовать. Ну или почему, наоборот, Джини плохо работает, если у тебя выявление редких событий и какие метрики там надо использовать. Задача формально одна и та же — обычная задача классификации, а метрики надо использовать разные. Заказчик (обычный русский заказчик) просто не понимает, что ему требовать от аналитиков, а у аналитиков таких знаний тоже нет. В итоге и Джини (условно) отличный у модели, а денег она не приносит.

  2. Кривая Лоренца, которая соответствует неравномерному распределению, — зелёная?

    • Да, там же написано: кривая Лоренца, которая соответствует неравномерному распределению, — зелёная (т.н. кривая неравенства).

      При нечестном распределении зарплаты у 4х человек: 0+0+0+8000 получается, что
      у 25% человек доход составляет 0%
      у 50% — 0%
      у 75% — 0%
      у 100% — 100%.
      Это как раз соответствует зелёному «уголку».

      Подумал сейчас, что слова «равномерный/неравномерный», возможно, могут сбивать с толку. По простому, речь о честном распределении «всем поровну» и нечестном — «только одному».

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s