Як інтерпретувати змінні, які виключаються із моделі ласо?


9

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

Згідно з цим міркуванням, чи правильно стверджувати, що один НЕ МОЖЕ говорити, що змінні, які були виключені з моделі ласо, є "нерелевантними" або "незначними"?

Якщо так, то що я можу насправді стверджувати щодо змінних, які виключаються або включаються в модель ласо? У моєму конкретному випадку я вибрав лямбда-параметр настройки, повторивши 10-кратну перехресну перевірку 100 разів, щоб зменшити частоту частот та середнє значення кривих помилок.

ОНОВЛЕННЯ1: Я дотримувався запропонованої нижче пропозиції і повторно запускав ласо, використовуючи зразки завантажувальної програми. У мене було 100 проб (ця сума могла управляти моїм комп'ютером протягом ночі), і з'явилися деякі схеми. 2 з моїх 41 змінних увійшли в модель більше 95% разів, 3 змінні - понад 90% і 5 змінних - більше 85%. Ці 5 змінних є одними з 9, які увійшли до моделі, коли я запустив її з оригінальним зразком і був тими, що мали найвищі значення коефіцієнта тоді. Якщо я запускаю lasso з скажімо 1000 зразків завантажувальної програми і ці шаблони зберігаються, який би був найкращий спосіб представити свої результати?

  • Чи достатньо звучить 1000 проб завантаження? (Мій зразок - 116)

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

  • Чи настільки я можу піти зі своїми претензіями? Оскільки це незавершена робота (див. Вище), я не можу використовувати значення відсічення, правда?

UPDATE2: На підставі запропонованої нижче пропозиції я обчислив наступне: в середньому 78% змінних в оригінальній моделі увійшли до моделей, створених для 100 зразків завантажувальної програми. З іншого боку, лише 41% для навпаки. Це значною мірою пов'язане з тим, що моделі, згенеровані для зразків завантажувальної програми, зазвичай включали набагато більше змінних (в середньому 17), ніж оригінальна модель (9).

ОНОВЛЕННЯ3: Якщо ви можете допомогти мені в інтерпретації результатів, отриманих від завантаження та моделювання в Монте-Карло, будь ласка, подивіться на цю іншу публікацію.

Відповіді:


10

Ваш висновок правильний. Подумайте про два аспекти:

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

Є щонайменше 4 основні міркування:

  1. Чи відтворюється ви методом, використовуючи один і той же набір даних?
  2. Чи метод відтворюється іншими, використовуючи той самий набір даних?
  3. Чи можна відтворити результати, використовуючи інші набори даних?
  4. Чи надійний результат?

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

Ви звернулися до 3. (і для цього достатньо 100 завантажувальних рядів), але крім окремих фракцій включення функцій ми повинні знати середню абсолютну відстань між набором функцій завантажувальної програми та оригінальним вибраним набором функцій. Наприклад, яка середня кількість ознак, виявлених із усієї вибірки, знайденої у зразку завантажувальної програми? Яка середня кількість функцій, вибраних із вибірки завантажувальної програми, виявленої в оригінальному аналізі? Яка частка разів, коли завантажувач знайшов точну відповідність оригінальному набору функцій? Яка частка того, що завантажувальний апарат був у межах однієї особливості узгодження саме з оригіналом? Дві особливості?

Не було б доречним сказати, що будь-яке відсічення слід використовувати для загального висновку.

Щодо частини 4, жодне з цих питань не стосується надійності процесу, тобто того, наскільки наближений набір функцій до "справжнього" набору функцій. Щоб вирішити це, ви можете зробити дослідження повторного моделювання Монте-Карло, де ви берете оригінальний зразок результату ласо як «істину» та моделюєте нові вектори відповідей кілька сотень разів, використовуючи якусь припущену структуру помилок. Для кожного повторного моделювання ви запускаєте ласо на початковій матриці передбачувача та новому векторі відповідей та визначаєте, наскільки близький вибраний набір функцій ласо до істини, з якої ви імітували. Умови повторного моделювання для всього набору прогнозних кандидатів та використовує оцінки коефіцієнтів з первісно встановленої моделі (а у випадку з ласо - набору вибраних предикторів) як зручну «істину» для моделювання.

Для моделювання нових реалізацій Y дано оригінал X матричні та тепер справжні коефіцієнти регресії, можна використовувати залишкову дисперсію та припустити нормальність із середнім нулем, або бути ще більш емпіричним, зберегти всі залишки від початкового розміру та взяти з них зразок завантажувальної програми, щоб додати залишки до відомого лінійного прогноктора Xβдля кожного моделювання. Потім оригінальний процес моделювання запускається з нуля (включаючи підбір оптимального штрафу) і розробляється нова модель. Для кожного з 100 або більше ітерацій порівняйте нову модель з справжньою моделлю, з якої ви моделюєте.

Знову ж таки, це хороша перевірка надійності процесу - вміння знаходити «справжні» характеристики та отримувати хороші оцінки β.

Коли Y є двійковим, замість того, щоб мати справу із залишками, повторне моделювання включає обчислення лінійного предиктора Xβ від початкового пристосування (наприклад, за допомогою ласо), прийняття логістичної трансформації та створення для кожного моделювання Монте-Карло нового Yвектор, щоб підходити заново. У R можна сказати, наприклад

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
Lasso є більш підходящим, ніж більшість методів, але надійність знижується при такому невеликому розмірі вибірки. Ви вимагаєте парсингу, використовуючи ласо замість квадратичного (гребеня; L2) штрафу. Ви, безсумнівно, отримаєте кращу прогностичну дискримінацію, застосувавши квадратичне покарання і не попросивши посилення. Або суворо зменшити дані (замасковано доY), то підходить непрофесійна звичайна модель.
Френк Харрелл

1
Зробіть експеримент з повторного моделювання, який я запропонував перевірити фактичну надійність методу у ваших точних налаштуваннях.
Френк Харрелл

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