.

Сделать репост в соц сети!

четверг, 12 февраля 2015 г.

Логарифмирование переменной: зачем это нужно и как интерпретировать



В качестве дополнительной информации участникам семинара Аналитика для HR.
Чаще всего у нас распределение зависимой переменной не носит характер нормального распределения (см. кстати, на эту тему пост Управление эффективностью.Распределение зависимой переменной (кейс по hr-аналитике)).
Вот, например, распределение зависимой переменной "стаж"

Или распределение показателей продаж сейлзов
Согласитесь, что даже визуально нет нормального распределения.
Чем это нам грозит? Искажением результатов регрессии. Помните, я показывал кейс с Москвой и Питером. Эти два случая сильно искажали результаты регрессии, их исключение из уравнение меняло R^2, коэффициенты. Т.е. данные, далеко отстающие от среднего значения, могут искажать уравнение регрессии. Наша задача минимизировать влияние таких данных. Желательно не исключая их.

В этом случае самый распространенный вариант действия - логарифмирование переменной

Если вы работаете в excel, то вы добавляете колонку рядом с той переменной, которую необходимо логарифмировать, и используете функцию LOG().
Итого, прологарифмировав, вы получаете новую переменную. Для примера прологарифмируем переменную "стаж" на первом графике и получаем логарифмированный стаж с вот таким графиком
Это уже ближе к нормальному распределению.
И уравнение регрессии вы считаете для логарифмированной переменной.


Как интерпретировать

Тут самое забавное возникает: мы получаем уравнение на для стажа, а для лог стажа. К примеру у нас уравнение получает такой вид
log(стаж) = 2.3 + 0.27(refferal)
Уравнение и коэффициент значимы.
где 2.3 - константа, а 0.27 - коэффициент номинальной переменной источник подбора. Переменная у нас принимает два значение (0 - если источник побора Jobsites и 1 - если кандидат пришел через друзей в компанию).
Таким образом, уравнение получает два результата
для Jobsites - 2.3
для рефералов - 2.57
Понятно, что данные цифры не имеют физического смысла, вы не пойдете докладывать руководству о том, что у вас средний стаж равен логарифму ... Вам надо их прои нтепретировать, перевести в "живое" время.
Переводятся результаты обратной логарифмированию функцией - экспонентой.
В excel это функция EXP
EXP(2.3) = 9.97418245481472
EXP(2.57) = 13.0658244409346
Таким образом средний срок работы кандидата, пришедшего через jobsites равен 10 месяцев, через друзей - 13 месяцев. Разница - 3 месяца



16 комментариев:

  1. Эдуард, извините, я по своему примеру. Прологарифмировал стаж по натуральному основанию, распределение стало ближе к нормальному, коэф Колмогорова-Смирнова 0,308

    ОтветитьУдалить
    Ответы
    1. я для вас и написал
      и для Ивана
      так теперь сделайте регрессионный анализ

      Удалить
    2. пост для понимания ясно написан? или есть вопросы?

      Удалить
  2. У меня вопросов по посту нет. Вообще, Ваши последние 2 вебинара - это шедевры - просто, понятно и доступно любому уровню непонимания.
    По поводу регрессионного анализа: зависимая переменная стаж, а в предикторы что включаем?

    ОтветитьУдалить
    Ответы
    1. 1) лог стаж
      2) а какую информацию вы собираете при приеме на работу?

      Удалить
  3. Есть данные о кандидате внешний/внутренний, источник трафика, были ли знакомые в компании, результаты входного тестирования - в общем номинальные и одна количественная переменная

    ОтветитьУдалить
    Ответы
    1. вот вам 1 час на регрессию. бОльшую часть - на кодировку номинальных переменных

      Удалить
  4. А что в лог-стаже вместо пропусков ставить. Или строим регрессию только по уволившимся?

    ОтветитьУдалить
    Ответы
    1. сделайте по уволившимся. выбирайте только уволившихся и по ним делайте лог стажа
      Максим, мне важно, чтобы вы сами делали, пробовали на вкус.
      Появится опыт, уверенность

      Удалить
  5. Эдуард, я имел ввиду закрывать переменную стаж на сегодняшнее число по тем, кто работает сейчас или оставлять пустой?

    ОтветитьУдалить
  6. В общем все,что я нашел это: при канале трафика джобсайты - стаж 4 мес. Я вводил фиктивные переменные по 3 каналам (1-джобсайты, 2-самостоятельный поиск руководителя, 3-кандидат сам пришел) и строил по ним регрессию. При добавлении в регрессию предиктора "знакомые в компании" увеличивается значимость 2 и 3 каналов, но все равно остается на уровне 0,17 и 0,08. Если кандидат внутренний, то это значимо добавляет к 4 мес. еще 0,6 мес. Как то негусто

    ОтветитьУдалить
  7. Да, еще можно добавить, что те, кто еще работает, на входе значимо лучше писали тест - на 24% лучше

    ОтветитьУдалить
  8. Эдуард, может я не по тому пути пошел? А если по людям ,которые еще работают закрыть стаж на сегодня и еще раз построить регрессию по всем?

    ОтветитьУдалить
    Ответы
    1. Максим, 1) попробуйте писать в одну ветку. 2) я не вижу ваших выводов

      "В общем все,что я нашел это: при канале трафика джобсайты - стаж 4 мес. Я вводил фиктивные переменные по 3 каналам (1-джобсайты, 2-самостоятельный поиск руководителя, 3-кандидат сам пришел) и строил по ним регрессию. При добавлении в регрессию предиктора "знакомые в компании" увеличивается значимость 2 и 3 каналов, но все равно остается на уровне 0,17 и 0,08. Если кандидат внутренний, то это значимо добавляет к 4 мес. еще 0,6 мес. Как то негусто"

      мне этого недостаточно

      моете сделать в ворде файл с анализом - мне не нужны данные, мне нужно увидеть, какие переменные вы анализировали, какие результаты регрессии получили
      и какие выводы делаете

      Удалить
  9. Здравствуйте, после того как данные прологарифмировал график не изменил свой вид. Что делать?

    ОтветитьУдалить