В наборе данных из двух непересекающихся групп населения (пациенты и здоровые, всего ) я хотел бы найти (из независимых переменных) значимые предикторы для непрерывной зависимой переменной. Корреляция между предикторами присутствует. Я заинтересован в том, чтобы выяснить, связан ли какой-либо из предикторов с зависимой переменной «в реальности» (а не с максимально точным прогнозированием зависимой переменной). Поскольку я был поражен многочисленными возможными подходами, я хотел бы спросить, какой подход наиболее рекомендуется.
Насколько я понимаю, поэтапное включение или исключение предикторов не рекомендуется
Например, провести линейную регрессию отдельно для каждого предиктора и исправить значения p для множественного сравнения с использованием FDR (возможно, очень консервативно?)
Регрессия главных компонентов: трудно интерпретировать, поскольку я не смогу рассказать о предсказательной силе отдельных предикторов, а только о компонентах.
какие-либо другие предложения?
Ответы:
Я бы порекомендовал попробовать GLM с лассо регуляризации . Это добавляет штраф к модели за количество переменных, и по мере увеличения штрафа количество переменных в модели будет уменьшаться.
Вы должны использовать перекрестную проверку, чтобы выбрать значение параметра штрафа. Если у вас есть R, я предлагаю использовать пакет glmnet . Используйте
alpha=1
для регрессии лассо иalpha=0
для регрессии гребня. Установка значения от 0 до 1 будет использовать комбинацию штрафов за лассо и ридж, также известную как эластичная сеть.источник
Чтобы расширить ответ Зака (+1), если вы используете метод LASSO в линейной регрессии, вы пытаетесь минимизировать сумму квадратичной функции и функции абсолютного значения, то есть:
Минимум лежит на кривой пересечения, построенной здесь с контурными кривыми квадратичной и квадратной кривой:
Вы можете видеть, что минимум находится на одной из осей, следовательно, он исключил эту переменную из регрессии.
источник
Каково ваше предыдущее мнение о том, сколько предсказателей, вероятно, будут важны? Вероятно ли, что большинство из них имеют абсолютно нулевой эффект или что все влияет на результат, некоторые переменные только меньше, чем другие?
И как состояние здоровья связано с прогнозирующей задачей?
Если вы считаете, что важны только немногие переменные, вы можете попробовать spike и slab ранее (например, в пакете spikeSlabGAM R) или L1. Если вы думаете, что все предикторы влияют на результат, вам может не повезти.
И вообще, применяются все предостережения, связанные с причинно-следственным выводом из данных наблюдений.
источник
Что бы вы ни делали, стоит установить доверительные интервалы для ранжирования по рангу важности предикторов, чтобы показать, что вы действительно можете сделать это с вашим набором данных. Я сомневаюсь, что любой из методов может надежно найти «истинных» предикторов.
источник
источник