Стабильность модели при решении большой проблемы , small


22

Вступление:

У меня есть набор данных с классической «большой p, маленький n проблема». Количество доступных выборок n = 150, а количество возможных предикторов p = 400. Результат - непрерывная переменная.

Я хочу найти самые «важные» дескрипторы, то есть те, которые являются лучшими кандидатами для объяснения результата и помощи в построении теории.

После исследования этой темы я обнаружил, что LASSO и Elastic Net обычно используются в случае больших p, small n. Некоторые из моих предикторов сильно коррелированы, и я хочу сохранить их группировки в оценке важности, поэтому я выбрал Elastic Net . Я полагаю, что я могу использовать абсолютные значения коэффициентов регрессии в качестве меры важности (пожалуйста, исправьте меня, если я ошибаюсь; мой набор данных стандартизирован).

Проблема:

Поскольку у меня мало образцов, как мне добиться стабильной модели?

Мой текущий подход заключается в том, чтобы найти лучшие параметры настройки (лямбда и альфа) в сеточном поиске по 90% набора данных с 10-кратной перекрестной проверкой, усредняющей балл MSE. Затем я тренирую модель с лучшими параметрами настройки на все 90% набора данных. Я могу оценить свою модель, используя R в квадрате для удержания 10% набора данных (что составляет только 15 выборок).

Повторно выполнив эту процедуру, я обнаружил большую разницу в оценках R в квадрате. Кроме того, число ненулевых предикторов меняется так же, как и их коэффициенты.

Как я могу получить более стабильную оценку важности предикторов и более стабильную оценку эффективности конечной модели?

Могу ли я повторно запустить свою процедуру для создания ряда моделей, а затем усреднить коэффициенты регрессии? Или я должен использовать количество вхождений предиктора в моделях в качестве показателя важности?

В настоящее время я получаю около 40-50 ненулевых предикторов. Должен ли я штрафовать количество предикторов сильнее для лучшей стабильности?


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

Какие подходы ML подходят для непрерывной или порядковой зависимой переменной, вы бы предложили?
Дими

2
Случайный лес, SVR ... Для выбора функции вы можете попробовать какой-нибудь подходящий метод (должен быть более стабильным), например, ACE или Boruta.

Ответы:


11

« Разреженные алгоритмы не стабильны: теорема об отсутствии свободного обеда »

Я думаю, что название говорит о многом, как вы указали.

[...] разреженный алгоритм может иметь неуникальные оптимальные решения и поэтому некорректен

Проверьте рандомизированное лассо и разговор Питера Бульмана .

Обновить:

Мне показалось, что за этой бумагой легче следовать, чем за работой Майнсхаузена и Бульмана под названием «Выбор стабильности».

В « Случайном лассо » авторы рассматривают два важных недостатка лассо для больших , малых задач, то естьпN

  1. В случае, когда существует несколько коррелированных переменных, лассо выбирает только одну или несколько, что приводит к нестабильности, о которой вы говорите
  2. Лассо не может выбрать больше переменных, чем размер выборки что является проблемой для многих моделейN

Основная идея случайного лассо, способного справиться с обоими недостатками лассо, заключается в следующем

Если бы несколько независимых наборов данных были сгенерированы из одного и того же распределения, то мы могли бы ожидать, что Лассо выберет неидентичные подмножества этих высоко коррелированных важных переменных из разных наборов данных, и наша окончательная коллекция может быть большинством или, возможно, даже всеми из этих высоко коррелированных важных переменные, беря объединение выбранных переменных из разных наборов данных. Такой процесс может дать больше чем переменных, преодолев другое ограничение лассо.N

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

Было бы замечательно, если бы кто-то мог развить и объяснить этот алгоритм далее в ответах.


1
Хорошие ссылки (+1).
jbowman

Спасибо за замечания. Я также рассмотрел рандомизированное лассо, но подойдет ли оно в случае коллинеарности ?
Дими

2
Что происходит при приблизительной коллинеарности между объясняющими переменными? В обычном алгоритме прямого поиска в регрессионном анализе мы часто сталкиваемся с ситуацией, когда две переменные x1 и x2 имеют одинаковую объяснительную силу. Если в модели присутствует x1, то нет необходимости включать x2; и наоборот, если x2 входит в модель, нет необходимости включать x1. Если я правильно понимаю вашу процедуру, вы будете склонны включать x1 половину времени и x2 половину времени, что приводит к вероятности стабильности около 50% каждый. Если это так, вы можете ошибочно заключить, что ни одна из переменных не нужна.
Дими

Я полагаю, я могу аналогичным образом использовать рандомизированную эластичную сеть в этом случае.
Дими

Я добавил еще одну ссылку, которая, я думаю, лучше отвечает на ваш вопрос.
Пардис

6

Мой текущий подход заключается в том, чтобы найти лучшие параметры настройки (лямбда и альфа) в сеточном поиске по 90% набора данных с 10-кратной перекрестной проверкой, усредняющей балл MSE. Затем я тренирую модель с лучшими параметрами настройки на все 90% набора данных. Я могу оценить свою модель, используя R в квадрате для удержания 10% набора данных (что составляет только 15 выборок).

Насколько стабильны параметры настройки?

Видите ли вы большие различия между качеством соответствия (например, MSE перекрестной проверки оптимального параметра) и 10% независимой производительностью теста?

Это было бы симптомом переоснащения:

MSЕзнак равное(гряdпaрaмеTерs)MSЕзнак равное(гряdпaрaмеTерs)

Могу ли я повторно запустить свою процедуру для создания ряда моделей, а затем усреднить коэффициенты регрессии? Или я должен использовать количество вхождений предиктора в моделях в качестве показателя важности?

Существует несколько возможностей для построения таких агрегированных моделей:

  • линейные модели могут быть усреднены путем усреднения коэффициентов
  • мм

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

Стороннее мнение: некоторые типы данных имеют ожидаемую и интерпретируемую коллинеарность, которая может приводить к тому, что переменная селекция «скачет» между более или менее равными решениями


3

Там нет выхода из этого. Как некоторые говорили, модели нестабильны по своей природе (иначе статистика не понадобится).

Но нестабильность сама по себе приносит информацию. Поэтому вместо того, чтобы пытаться избавиться от этого, я попытался проанализировать это.

Я многократно запускаю модели перекрестной проверки, а затем получаю коэффициенты для лучших выбранных параметров в каждом прогоне и собираю их вместе.

λα

Затем я извлекаю коэффициенты регрессии для каждой пары параметров, и это дает мне распределение значений для каждого параметра. Таким образом, я могу использовать среднее значение / медиану, чтобы описать силу предиктора и его стандартное отклонение / IQR, чтобы описать его изменчивость, то есть его стабильность.

Очень стабильный предиктор означает, что вы можете ожидать, что его эффект будет аналогичным и с новыми данными; предиктор, который нестабилен даже в ваших данных, вероятно, будет очень нестабилен даже с новыми данными.

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