Как относиться к категориальным предикторам в LASSO


17

Я использую LASSO, в котором есть некоторые категориальные предикторы переменных и некоторые непрерывные. У меня есть вопрос о категориальных переменных. Первый шаг, который я понимаю, - разбить каждого из них на пустышки, стандартизировать их для справедливого наказания, а затем регрессировать. Существует несколько вариантов обработки фиктивных переменных:

  1. Включите все манекены, кроме одного, для каждого фактора, оставив его в качестве контрольного уровня. Интерпретация фиктивного коэффициента относится к исключенной категории «ссылка». Перехват - теперь средний ответ для справочной категории.

  2. Сгруппируйте переменные в каждом факторе, чтобы они были либо исключены, либо включены все, кроме одного. Я полагаю, что именно это @Glen_b предлагает здесь :

    Обычно да, вы держите все факторы вместе. Есть несколько пакетов R, которые могут сделать это, в том числе glmnet

  3. Включите все уровни, как предложено @Andrew M здесь :

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

    contr.Dummy <- function(contrasts, ...){
       conT <- contr.treatment(contrasts=FALSE, ...)
       conT
    }
    options(contrasts=c(ordered='contr.Dummy', unordered='contr.Dummy'))
    

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

Вопросов:

  1. Какова интерпретация перехвата и коэффициентов при каждом из этих подходов?
  2. Какие соображения связаны с выбором одного из них?
  3. Не масштабируем ли мы фиктивные коэффициенты, а затем интерпретируем их как изменение перехода от начального положения к другому?

Ответы:


6

β

В ответ на ваши конкретные вопросы:

(1) LASSO - это метод оценки коэффициентов, но сами коэффициенты определяются исходным модельным уравнением для вашей регрессии. Таким образом, интерпретация коэффициентов такая же, как в стандартной линейной регрессии; они представляют скорость изменения ожидаемого ответа из-за изменений в объясняющих переменных.

(2) В вышеприведенной литературе рекомендуется группировать переменные, но сохранять справочную категорию Это неявно предполагает, что вы сравниваете наличие категориальной переменной с моделью, которая удаляет его, но по-прежнему имеет свободный член.

(3) Как указано выше, метод оценки не влияет на интерпретацию коэффициентов, которые устанавливаются модельным оператором.


1
Хатшепсут: Если вы нашли этот ответ полезным, пожалуйста, рассмотрите возможность голосования и / или принятия его. Если нет, возможно, вы могли бы указать, что все еще отсутствует?
С. Коласса - Восстановить Монику

@StephanKolassa готово
Хатшепсут
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.