Как справиться с отсутствующими значениями, чтобы подготовить данные для выбора функции с помощью LASSO?


11

Моя ситуация:

  • небольшой размер выборки: 116
  • двоичная переменная результата
  • длинный список объясняющих переменных: 44
  • объясняющие переменные не исходили из головы; их выбор был основан на литературе.
  • В большинстве случаев в выборке и в большинстве переменных отсутствуют значения.

Подход к выбору функции выбран: LASSO

Пакет R glmnet не позволит мне запустить процедуру glmnet, по-видимому, из-за наличия пропущенных значений в моем наборе данных. Кажется, существуют различные методы для обработки пропущенных данных, поэтому я хотел бы знать:

  • Налагает ли LASSO какое-либо ограничение в отношении метода вменения, который я могу использовать?
  • Что будет лучшим выбором для метода вменения? В идеале мне нужен метод, который я мог бы запустить на SPSS (предпочтительно) или R.

ОБНОВЛЕНИЕ 1: Из некоторых ответов ниже стало ясно, что я имею дело с более основными вопросами, прежде чем рассматривать методы вменения. Я хотел бы добавить сюда новые вопросы по этому поводу. В ответе предлагается кодирование как постоянное значение и создание новой переменной, чтобы иметь дело с «неприменимыми» значениями и использованием группы lasso:

  • Не могли бы вы сказать, что если я буду использовать группу LASSO, я смогу использовать подход, предложенный для непрерывных предикторов, а также для категориальных предикторов? Если это так, я предполагаю, что это будет эквивалентно созданию новой категории - я опасаюсь, что это может привести к предвзятости.
  • Кто-нибудь знает, поддерживает ли пакет glmnet R группу LASSO? Если нет, то кто-нибудь предложил бы другой, который делает это в сочетании с логистической регрессией? Несколько вариантов упоминания группы LASSO можно найти в репозитории CRAN, какие предложения наиболее подходят для моего случая? Может быть, SGL?

Это продолжение моего предыдущего вопроса ( Как выбрать подмножество переменных из моего первоначального длинного списка для выполнения анализа логистической регрессии? ).

OBS: я не статистика.


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

@ Scortchi: Большинство моих пропущенных значений относятся к категории «не применимо». Например: в переменной «возраст взрослой женщины в домашнем хозяйстве» - случаи, когда взрослый мужчина является вдовой. На самом деле, я думаю, мне нужно сделать шаг назад: я должен рассматривать значения 0 в непрерывных переменных как пропущенные значения? Например: 0 лет образования, 0 членов домохозяйства в возрасте от 14 до 60 лет.
озадачен

Трудно представить ситуацию, в которой вы бы хотели рассматривать это как неизвестный факт об отсутствующей женщине, а не как известный факт о домашнем хозяйстве. Трудно понять вопрос о нулях: вы спрашиваете, например, нет ли лет образования неправдоподобной ценности или 0 может использоваться для кодирования недостающей ценности? (И тогда откуда мне знать?) Конечно, нет общей причины считать 0 отсутствием.
Scortchi - Восстановить Монику

@ Scortchi: о женской возрастной переменной, я понимаю, что вы имеете в виду. Но возникает вопрос: как бы я закодировал отсутствующий женский случай, если бы не NA? Насчет нулей: да, это был именно мой вопрос, извините, если не ясно. Я подумал, что у программы могут быть некоторые проблемы с обработкой нулевых значений и что она может не «понять», что я имел в виду.
озадачен

Вы можете закодировать его как любое постоянное значение и ввести индикаторную переменную для наличия / отсутствия (& использовать группу LASSO). Нет причин, по которым LASSO или любая другая программа регрессии должны неправильно обрабатывать нулевые значения для предикторов. [Пожалуйста, не поймите это неправильно, но это очень простые вопросы, предполагающие, что, если это ради интереса, вы можете начать с более простых проблем или, если это действительно, вы можете обратиться к статистику.]
Scortchi - Восстановить Монику

Ответы:


11

Когда непрерывный предиктор содержит значения «не применимо», часто полезно кодировать его с использованием двух переменных:x

x1={cwhen x is not applicablexotherwise

где - постоянная, &c

x2={1when x is not applicable0otherwise

Предположим, что линейный предиктор для ответа

η=β0+β1x1+β2x2+

который разрешает

η=β0+β1x1+

когда измеряется, илиx

η=β0+β1c+β2+

когда х «не применимо». Выбор является произвольным и не влияет на оценки точки или наклона ; описывает эффект того, что 'не применимо' по сравнению с тем, когда .cβ0β1β2xx=c

Это неподходящий подход, когда ответ изменяется в соответствии с неизвестным значением : изменчивость «отсутствующей» группы будет завышена, а оценки коэффициентов других предикторов смещены из-за смешения. Лучше вменять пропущенные значения.x

Использование LASSO создает две проблемы:

  1. Выбор влияет на результаты, поскольку величина применяемой усадки зависит от величин оценок коэффициента.c
  2. Вы должны убедиться, что и либо в, либо в обеих из выбранной модели.x1x2

Вы можете решить оба из них, используя скорее группу LASSO с группой, включающей & : штраф нормы применяется к норме ортонормированной матрицы . (Категорические предикторы являются потомком для группы LASSO - вы бы просто закодировали «неприменимо» в качестве отдельного уровня, как это часто делается в непенализованной регрессии.) См. Meier et al (2008), JRSS B, 70 , 1, «The Групповое лассо для логистической регрессии " & grplasso .x1x2L1L2[x1 x2]


Кто-нибудь знает, поддерживает ли пакет glmnet R группу LASSO? Если нет, то кто-нибудь предложил бы другой, который делает это в сочетании с логистической регрессией? Несколько вариантов упоминания группы LASSO можно найти в репозитории CRAN, какие предложения наиболее подходят для моего случая? Может быть, SGL?
озадачен

Итак, не могли бы вы сказать, что, если я буду использовать группу LASSO, я смогу использовать предложенный вами подход к непрерывным предикторам и категориальным предикторам?
озадачен

5

Многократное вменение никогда не бывает плохим подходом. Вы также можете сделать полную информацию Максимальная вероятность. Хороший обзор и сравнение здесь и здесь .

Но если вы идете по этому пути, рассмотрите возможность использования Stan для подбора вложения ML одновременно с вашей регрессией в качестве единой байесовской модели, поскольку LASSO в любом случае является частным случаем байесовской регрессии .


Я неправильно понял метод множественного вменения, теперь я вижу, что он будет применим для моего случая. Я отредактировал свой вопрос, чтобы отразить это. Знаете ли вы, SPSS или R запускают два варианта, которые вы упомянули?
озадачен

1
Есть пакет R, miкоторый может вам помочь.
теневик

2
Вы можете запустить Стэна через R (см. RStan ).
Scortchi - Восстановить Монику

Дополнительные множественные пакеты вменения для R включают Ameliaи mice.
Sycorax сообщает, что восстановит Монику

0

Команда CATREG в статистике обрабатывает недостающие данные с помощью LASSO. Вы можете исключить наблюдения по списку или получить вменение процедуры. Хотя название предполагает, что оно относится к категориальным переменным, вы можете установить шкалу в числовое значение для обработки непрерывного регистра.


это САС PROC CATREG, наверное?
Бен Болкер

@JKP: Я столкнулся с этой командой, на самом деле. Однако, учитывая, что моя переменная Otome является двоичной, я предполагаю, что логическая регрессия была бы более подходящей, чем категориальная регрессия (CATREG) - я прав? Кроме того, параметры в CATREG кажутся довольно ограниченными - вы можете выбирать между исключением случаев, заменой отсутствующих значений на средние значения или созданием дополнительной категории.
озадачен

0

Вы также можете рассмотреть простой подход, представленный в следующей статье:

Loh, PL & Wainwright, MJ (2011). Высокомерная регрессия с зашумленными и отсутствующими данными: гарантируемые гарантии с невыпуклостью . В Достижения в нейронных системах обработки информации (стр. 2726-2734).

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