Стабільність моделі при вирішенні великої , малої проблеми


22

Вступ:

У мене є набір даних із класичною "великою р, малою російською проблемою". Кількість доступних вибірок n = 150, тоді як кількість можливих предикторів p = 400. Результатом є суцільна змінна.

Я хочу знайти найважливіші дескриптори, тобто ті, які є найкращими кандидатами для пояснення результату та допомоги в побудові теорії.

Після досліджень на цю тему я виявив, що LASSO та Elastic Net зазвичай використовуються у випадку великих p, малих n. Деякі з моїх прогнозів сильно співвіднесені, і я хочу зберегти їх угруповання в оцінці важливості, тому я вибрав Elastic Net . Я припускаю, що я можу використовувати абсолютні значення коефіцієнтів регресії як міру важливості (будь ласка, виправте мене, якщо я помиляюся; мій набір даних стандартизований).

Проблема:

Оскільки моя кількість зразків невелика, як я можу досягти стабільної моделі?

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

Неодноразово виконуючи цю процедуру, я виявив велику дисперсію в оцінках R у квадраті. Крім того, кількість ненульових предикторів змінюється, а також їх коефіцієнти.

Як я можу отримати більш стабільну оцінку важливості прогнозів і більш стабільну оцінку результативності остаточної моделі?

Чи можу я кілька разів запускати свою процедуру для створення декількох моделей, а потім середніх коефіцієнтів регресії? Або я повинен використовувати кількість випадків прогнозування в моделях як показник його важливості?

Наразі я отримую близько 40-50 ненульових прогнозів. Чи варто штрафувати кількість прогнозів сильніше для кращої стабільності?


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

який підхід МЛ підходить для постійної або порядкової залежної змінної ви б запропонували?
Дімі

2
Випадковий ліс, SVR ... Для вибору особливостей ви можете спробувати якийсь всерелевантний метод (повинен бути більш стійким), наприклад, ACE або Boruta.

Відповіді:


11

" Розрядні алгоритми не стабільні: теорема без обіду "

Я думаю, що заголовок говорить дуже багато, як ви вказували.

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

Ознайомтеся з рандомізованим ласо і розмовою Пітера Бульмана .

Оновлення:

Мені здалося, що цей документ легше слідкувати, ніж документ Майнсгаузена та Бульмана, який називається "Вибір стабільності".

У « Випадковому лассо » автори розглядають два важливі недоліки ласо для великих , малих n задач, тобтоpн

  1. У випадку, коли існує декілька корельованих змінних, lasso вибирає лише одну або декілька, що призводить до нестабільності, про яку ви говорите
  2. н

Основна ідея для випадкового ласо, що здатна вирішити обидва недоліки ласо, полягає в наступному

н

Зразки завантажувальної програми створюються для імітації декількох наборів даних. Кінцеві коефіцієнти отримують шляхом усереднення за результатами кожного зразка завантажувальної програми.

Було б чудово, якби хтось міг детальніше і пояснити цей алгоритм у відповідях.


1
Приємні посилання (+1).
jbowman

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

2
Що відбувається за приблизної колінеарності між пояснювальними змінними? У звичайному алгоритмі пошуку вперед в регресійному аналізі ми часто стикаємося з ситуацією, коли дві змінні x1 і x2 мають подібну пояснювальну силу. Якщо x1 є в моделі, то не потрібно включати x2; навпаки, якщо x2 є в моделі, не потрібно включати x1. Якщо я правильно розумію вашу процедуру, ви, як правило, включаєте x1 половину часу та x2 половину часу, що призводить до стабільності ймовірності приблизно 50% кожна. Якщо так, ви можете помилково зробити висновок, що жодна змінна не потрібна.
Дімі

Я думаю, я можу аналогічно використовувати випадкову еластичну сітку в цьому випадку.
Дімі

Я додав ще одне посилання, яке, на мою думку, краще відповідає на ваше запитання.
Пардіс

6

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

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

Чи бачите ви великі відмінності між корисністю придатності (наприклад, MSE перехресної перевірки оптимального параметра) та 10% незалежною роботою тесту?

Це було б симптомом перевиконання:

МSЕ=f(гriгpаrаметеrс)МSЕ=f(гriгpаrаметеrс)

Чи можу я кілька разів запускати свою процедуру для створення декількох моделей, а потім середніх коефіцієнтів регресії? Або я повинен використовувати кількість випадків прогнозування в моделях як показник його важливості?

Існує кілька можливостей побудови таких агрегованих моделей:

  • лінійні моделі можна усереднювати шляхом усереднення коефіцієнтів
  • мм

Пошуковими термінами будуть "агреговані моделі", "агрегування завантажувальної програми", "розміщення".

Побічна думка: деякі типи даних очікували та інтерпретували колінеарність, що може спричинити «різний вибір» «перехід» між більш-менш рівними рішеннями.


3

Виходу з цього немає. Як дехто сказав, моделі за своєю природою нестабільні (інакше статистика не потрібна).

Але сама нестабільність приносить інформацію. Тож замість того, щоб намагатися його позбутися, я спробував проаналізувати.

Я запускаю перехресне моделювання валідації багато разів, а потім отримую коефіцієнти для найкращих вибраних параметрів у кожному циклі та складаю їх разом.

λα

Потім я витягую коефіцієнти регресії для кожної пари параметрів, і це дає мені розподіл значень для кожного параметра. Таким чином я можу використовувати середнє / середнє значення, щоб описати силу предиктора та його стандартне відхилення / IQR, щоб описати його мінливість, тобто його стійкість.

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.