Как интерпретировать переменные, которые исключены или включены в модель Лассо?


9

Из других сообщений я узнал, что нельзя приписывать «важность» или «значимость» переменным предикторам, которые входят в модель лассо, потому что вычисление p-значений или стандартных отклонений этих переменных все еще находится в стадии разработки.

Исходя из этого рассуждения, правильно ли утверждать, что один НЕ МОЖЕТ сказать, что переменные, ИСКЛЮЧЕННЫЕ из модели Лассо, являются «не относящимися к делу» или «несущественными»?

Если да, что я могу на самом деле утверждать о переменных, которые либо исключены, либо включены в модель лассо? В моем конкретном случае я выбрал лямбда-параметр настройки, повторив 10-кратную перекрестную проверку 100 раз, чтобы уменьшить случайное отклонение и усреднить кривые ошибок.

ОБНОВЛЕНИЕ 1: я следовал предложению ниже и перезапустил лассо, используя образцы начальной загрузки. Я попробовал 100 образцов (это было то, что моя компьютерная сила могла справиться за ночь), и появились некоторые закономерности. 2 из моих 41 переменных вошли в модель более 95% раз, 3 переменные более 90% и 5 переменных более 85%. Эти 5 переменных входят в число 9, которые вошли в модель, когда я запустил ее с исходной выборкой, и были те, которые имели самые высокие значения коэффициентов. Если бы я запустил лассо, скажем, с 1000 образцов начальной загрузки, и эти шаблоны были сохранены, что было бы лучшим способом представить мои результаты?

  • 1000 образцов начальной загрузки звучат достаточно? (Мой размер выборки 116)

  • Должен ли я перечислить все переменные и как часто они входят в модель, а затем утверждать, что те, которые входят чаще, имеют большую вероятность?

  • Это насколько я могу пойти с моими требованиями? Поскольку это незавершенное производство (см. Выше), я не могу использовать предельное значение, верно?

ОБНОВЛЕНИЕ 2: Следуя предложенному ниже предложению, я рассчитал следующее: в среднем 78% переменных в исходной модели вошли в модели, созданные для 100 выборок начальной загрузки. С другой стороны, только 41% наоборот. Это в значительной степени связано с тем фактом, что модели, сгенерированные для образцов начальной загрузки, имели тенденцию включать гораздо больше переменных (в среднем 17), чем исходная модель (9).

ОБНОВЛЕНИЕ 3: Если вы могли бы помочь мне в интерпретации результатов, которые я получил от начальной загрузки и моделирования Монте-Карло, пожалуйста, посмотрите на этот другой пост.

Ответы:


10

Ваш вывод верен. Подумайте о двух аспектах:

  1. Статистическая сила, чтобы обнаружить эффект. Если мощность не очень высока, можно пропустить даже большие реальные эффекты.
  2. Надежность: высокая вероятность нахождения правильных (истинных) признаков.

Есть как минимум 4 основных соображения:

  1. Воспроизводим ли метод, используя тот же набор данных?
  2. Воспроизводится ли метод другими, использующими тот же набор данных?
  3. Воспроизводимы ли результаты с использованием других наборов данных?
  4. Является ли результат надежным?

Когда кто-то хочет сделать больше, чем предсказание, но на самом деле сделать выводы о том, какие особенности важны для прогнозирования результата, 3. и 4. имеют решающее значение.

Вы указали 3. (и для этого достаточно 100 загрузочных загрузок), но в дополнение к отдельным фракциям включения функций нам необходимо знать среднее абсолютное «расстояние» между набором функций начальной загрузки и исходным выбранным набором функций. Например, каково среднее число признаков, обнаруженных во всем образце, которые были обнаружены в образце начальной загрузки? Каково среднее количество объектов, выбранных из выборки при начальной загрузке, которые были найдены в исходном анализе? Какова доля раз, когда загрузчик обнаружил точное совпадение с исходным набором функций? Какова пропорция, с которой бутстрап был в пределах одной черты согласия точно с оригиналом? Две особенности?

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

Что касается части 4., ничего из этого не касается надежности процесса, т. Е. Насколько близок набор функций к «истинному» набору функций. Чтобы решить эту проблему, вы можете провести исследование повторной симуляции Монте-Карло, где вы берете исходный образец результата лассо как «истину» и моделируете новые векторы отклика несколько сотен раз, используя некоторую предполагаемую структуру ошибок. Для каждого повторного моделирования вы запускаете лассо на исходной целой матрице предиктора и новом векторе ответа и определяете, насколько близок выбранный набор признаков лассо к истине, с которой вы симулировали. Повторное моделирование условий для всего набора кандидатов-предикторов и использование оценок коэффициентов из первоначально подобранной модели (и в случае лассо - набора выбранных предикторов) в качестве удобной «истины» для моделирования.

Чтобы смоделировать новые реализации учетом исходной матрицы и теперь истинных коэффициентов регрессии, можно использовать остаточную дисперсию и принять нормальность со средним нулем, или, чтобы быть еще более эмпирическим, сохранить все остатки из исходного соответствия и взять образец начальной загрузки из них добавить остатки к известному линейному предиктору для каждого моделирования. Затем исходный процесс моделирования запускается с нуля (включая выбор оптимального штрафа) и разрабатывается новая модель. Для каждой из примерно 100 итераций сравните новую модель с реальной моделью, которую вы моделируете.X X βYXXβ

Опять же, это хорошая проверка на надежность процесса - способность находить «истинные» функции и получать хорошие оценки .β

Когда является двоичным, вместо обработки остатков повторное моделирование включает вычисление линейного предиктора из исходного соответствия (например, с использованием лассо), логистическое преобразование и генерацию для каждого моделирования Монте-Карло нового вектора чтобы соответствовать заново. В R можно сказать, например,X β YYXβY

lp <- predict(...) # assuming suitable predict method available, or fitted()
probs <- plogis(lp)
y <- ifelse(runif(n) <= probs, 1, 0)

3
Вы должны были заявить об этом заранее, а я должен был спросить. Вы выдвигаете конверт далеко за пределы того, что будет поддерживать доступная информация. Думайте об этом так. Для двоичного результата, чтобы оценить только перехват в бинарной логистической модели, вы должны иметь как минимум 96 наблюдений. Тогда вам нужно примерно 15 событий на каждого предиктора- кандидата (если не штрафовать). Вероятность проверки вашего процесса в будущем наборе данных довольно мала. Другой способ взглянуть на это состоит в том, что все это обсуждение еще более важно (по сравнению с наличием большего ). N
Фрэнк Харрелл

1
Я не имел в виду начальную загрузку. Я имел в виду, можете ли вы узнать что-нибудь из десятков переменных-кандидатов, когда у вас есть только 32 события.
Фрэнк Харрелл

3
Лассо является более подходящим, чем большинство методов, но надежность снижается при таком небольшом размере выборки. Вы требуете скупости, используя лассо вместо квадратичного (ридж; L2) штрафа. Вы, несомненно, получите лучшую прогностическую дискриминацию, используя квадратичное наказание и не прося скупости. Или сделайте серьезное сокращение данных (замаскированное до ), затем установите обычную непенализованную модель. Y
Фрэнк Харрелл

1
Проведите эксперимент по повторной имитации, который я предложил, чтобы проверить реальную надежность метода в ваших точных настройках.
Фрэнк Харрелл

2
Мне нужно подписать это обсуждение - основной ответ на ваш вопрос - базовое программирование на R, а также взгляните на простые симуляции в biostat.mc.vanderbilt.edu/rms .
Фрэнк Харрелл
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.