Выбор модели и производительность модели в логистической регрессии

9

У меня есть вопрос о выборе модели и производительности модели в логистической регрессии. У меня есть три модели, основанные на трех разных гипотезах. Первые две модели (назовем их z и x) имеют только одну объясняющую переменную в каждой модели, а третья (назовем ее w) является более сложной. Я использую AIC для выбора переменной для w-модели, а затем AIC для сравнения, какая из трех моделей лучше всего объясняет зависимую переменную. Я обнаружил, что модель w имеет самый низкий AIC, и теперь хочу сделать некоторую статистику производительности для этой модели, чтобы получить представление о прогнозирующей способности модели. Поскольку все, что я знаю, это то, что эта модель лучше, чем две другие, но не насколько она хороша.

Поскольку я использовал все данные для изучения модели (чтобы можно было сравнить все три модели), как мне поступить с производительностью модели? Исходя из того, что я понял, я не могу просто выполнить перекрестную проверку в k-кратном размере для окончательной модели, полученной при выборе модели с использованием AIC, но нужно начинать с самого начала со всеми включенными пояснительными переменными, это правильно? Я бы подумал, что это последняя модель, которую я выбрал для AIC, и я хочу знать, насколько хорошо она работает, но я понимаю, что я тренировался на всех данных, поэтому модель может быть предвзятой. Так что, если мне нужно начать с начала со всеми поясняющими переменными во всех сгибах, я получу разные конечные модели для некоторых сгибов, могу ли я просто выбрать модель из сгиба, которая дала наилучшую предсказательную силу, и применить ее ко всему набору данных для сравнения AIC с двумя другими моделями (z и x)? Или как это работает?

Вторая часть моего вопроса - это основной вопрос о чрезмерной параметризации. У меня 156 точек данных, 52 - 1, остальные - 0. У меня есть 14 объяснительных переменных для выбора для модели w, я понимаю, что не могу включить все из-за чрезмерной параметризации, я читал, что вы должны использовать только 10% группы зависимой переменной с наименьшим количеством наблюдений, которые только было бы 5 для меня. Я пытаюсь ответить на вопрос по экологии, можно ли выбрать начальные переменные, которые, я думаю, лучше всего объясняют зависимость, просто исходя из экологии? Или как выбрать начальные объяснительные переменные? Не чувствует себя правильным, чтобы полностью исключить некоторые переменные.

Итак, у меня действительно есть три вопроса:

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

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

Мэл
источник

Ответы:

7

Это правда, что для проверки вашей модели лучше использовать тестовый набор данных. Тем не менее, вы все еще можете сказать, насколько хорошо ваша модель работает с вашими данными, если вы честны в том, что вы сделали. Что вы не можете сделать, так это сказать, что это будет хорошо работать с другими данными: скорее всего, нет. К сожалению, многие опубликованные статьи хотя бы намекают на это неверное представление.

Ты спрашиваешь

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

Мало того, что все в порядке, это лучше, чем любая автоматизированная схема. Действительно, они также могут быть окончательными переменными. Это зависит, в некоторой степени, от уровня знаний в этой области. Если мало что известно о том, что вы исследуете, тогда может потребоваться более исследовательский подход. Но если у вас есть веские основания полагать, что в модели должны присутствовать определенные переменные, то непременно добавьте их. И я бы поспорил, что оставлю их там, даже если они незначительны.

Питер Флом
источник
1

Если вы собираетесь делать выбор модели, то я думаю, что вам лучше провести тщательный поиск и взвесить каждую модель, а не выбирать вишню. У вас есть только 14 переменных, что, безусловно, возможно - 16384 различных моделей не слишком велики, особенно потому, что размер выборки невелик. Я бы также посмотрел на нормализованные веса, определяемые как:

весмзнак равно[ΣLехр(-12[AяСL-AяСм])]-1

11

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

probabilityislogic
источник
Использование AIC на всех возможных моделях - это процесс с чрезвычайной множественностью, для которого я задаюсь вопросом о производительности. Говоря в общих чертах, не всегда логично думать об этом как о проблеме выбора переменных, а скорее как о проблеме штрафов (усадки).
Фрэнк Харрелл
Есть ли процесс, который не имеет чрезвычайной множественности при выборе модели? Вы имеете дело с массивным дискретным пространством - это неизменно приводит к большому количеству сравнений. Я думаю, что вопрос заключается в том, является ли неявный предварительный выбор моделей более разумным.
вероятностная
Хорошо сказано. Но я думаю, что большинство упражнений по подбору моделей не нужны (то есть скупость не ваш друг) и являются результатом того, что у них вообще нет приоров.
Фрэнк Харрелл
Я также согласен, я думаю, что байесовские коэффициенты лучше всего использовать для решения вопросов структуры модели, таких как, например, использовать ли нормальное или t распределение. Они не бесполезны для выбора ковариат, но неэффективны по сравнению с усадкой.
вероятностная
Извините за мой поздний комментарий, но знаете ли вы какой-нибудь простой способ вычислить это в R? У меня есть AIC: s в списке или матрице. Я довольно новичок в R, поэтому любое сложное построение функций сложно. Спасибо!
Mael
0

Чтобы ответить: «Можно ли протестировать производительность на модели, обученной на полном наборе данных с перекрестной проверкой?» Нет, я не думаю, что это нормально. Вы должны разместить все 3 модели в одном и том же подмножестве вашего набора данных. Затем выполните перекрестную проверку, чтобы увидеть, какая из них лучше.

Stat
источник
1
Так что, если я вас правильно понимаю, я должен использовать только одну тренировку и один набор тестов для всех моделей? Могу ли я тогда использовать свои 5 переменных для последней модели или это риск для чрезмерной параметризации? И разве это не риск только с одним набором тренировок и тестов - поскольку это будет очень сильно зависеть от того, где будет разделение с относительно небольшими данными, которые у меня есть, или это не о чем беспокоиться? В противном случае кажется, что это будет самый правильный способ сделать это.
Mael
0

Можно ли проверить производительность на модели, обученной на полном наборе данных с перекрестной проверкой?

Думаю, нет. Возможно, лучшим методом будет оценка каждой из трех моделей с использованием повторной перекрестной проверки. Учитывая, что вы выбрали свои функции на основе предыдущих знаний, вам не нужно беспокоиться о выборе функций. Этот метод позволяет оценить производительность модели.

Если нет, то как выбрать окончательную модель при перекрестной проверке?

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

Как выбрать начальные переменные, чтобы я мог переопределить параметры?

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

BGreene
источник