Вступление:
У меня есть набор данных с классической «большой p, маленький n проблема». Количество доступных выборок n = 150, а количество возможных предикторов p = 400. Результат - непрерывная переменная.
Я хочу найти самые «важные» дескрипторы, то есть те, которые являются лучшими кандидатами для объяснения результата и помощи в построении теории.
После исследования этой темы я обнаружил, что LASSO и Elastic Net обычно используются в случае больших p, small n. Некоторые из моих предикторов сильно коррелированы, и я хочу сохранить их группировки в оценке важности, поэтому я выбрал Elastic Net . Я полагаю, что я могу использовать абсолютные значения коэффициентов регрессии в качестве меры важности (пожалуйста, исправьте меня, если я ошибаюсь; мой набор данных стандартизирован).
Проблема:
Поскольку у меня мало образцов, как мне добиться стабильной модели?
Мой текущий подход заключается в том, чтобы найти лучшие параметры настройки (лямбда и альфа) в сеточном поиске по 90% набора данных с 10-кратной перекрестной проверкой, усредняющей балл MSE. Затем я тренирую модель с лучшими параметрами настройки на все 90% набора данных. Я могу оценить свою модель, используя R в квадрате для удержания 10% набора данных (что составляет только 15 выборок).
Повторно выполнив эту процедуру, я обнаружил большую разницу в оценках R в квадрате. Кроме того, число ненулевых предикторов меняется так же, как и их коэффициенты.
Как я могу получить более стабильную оценку важности предикторов и более стабильную оценку эффективности конечной модели?
Могу ли я повторно запустить свою процедуру для создания ряда моделей, а затем усреднить коэффициенты регрессии? Или я должен использовать количество вхождений предиктора в моделях в качестве показателя важности?
В настоящее время я получаю около 40-50 ненулевых предикторов. Должен ли я штрафовать количество предикторов сильнее для лучшей стабильности?
Ответы:
« Разреженные алгоритмы не стабильны: теорема об отсутствии свободного обеда »
Я думаю, что название говорит о многом, как вы указали.
Проверьте рандомизированное лассо и разговор Питера Бульмана .
Обновить:
Мне показалось, что за этой бумагой легче следовать, чем за работой Майнсхаузена и Бульмана под названием «Выбор стабильности».
В « Случайном лассо » авторы рассматривают два важных недостатка лассо для больших , малых задач, то естьп N
Основная идея случайного лассо, способного справиться с обоими недостатками лассо, заключается в следующем
Образцы начальной загрузки создаются для имитации нескольких наборов данных. Окончательные коэффициенты получаются путем усреднения по результатам каждого образца начальной загрузки.
Было бы замечательно, если бы кто-то мог развить и объяснить этот алгоритм далее в ответах.
источник
Насколько стабильны параметры настройки?
Видите ли вы большие различия между качеством соответствия (например, MSE перекрестной проверки оптимального параметра) и 10% независимой производительностью теста?
Это было бы симптомом переоснащения:
Существует несколько возможностей для построения таких агрегированных моделей:
Поисковыми терминами могут быть «агрегированные модели», «агрегирование начальной загрузки», «пакетирование».
Стороннее мнение: некоторые типы данных имеют ожидаемую и интерпретируемую коллинеарность, которая может приводить к тому, что переменная селекция «скачет» между более или менее равными решениями
источник
Там нет выхода из этого. Как некоторые говорили, модели нестабильны по своей природе (иначе статистика не понадобится).
Но нестабильность сама по себе приносит информацию. Поэтому вместо того, чтобы пытаться избавиться от этого, я попытался проанализировать это.
Я многократно запускаю модели перекрестной проверки, а затем получаю коэффициенты для лучших выбранных параметров в каждом прогоне и собираю их вместе.
Затем я извлекаю коэффициенты регрессии для каждой пары параметров, и это дает мне распределение значений для каждого параметра. Таким образом, я могу использовать среднее значение / медиану, чтобы описать силу предиктора и его стандартное отклонение / IQR, чтобы описать его изменчивость, то есть его стабильность.
Очень стабильный предиктор означает, что вы можете ожидать, что его эффект будет аналогичным и с новыми данными; предиктор, который нестабилен даже в ваших данных, вероятно, будет очень нестабилен даже с новыми данными.
источник