Я пытаюсь понять, следует ли использовать регрессию гребня , LASSO , регрессию главных компонентов (PCR) или частичные наименьшие квадраты (PLS) в ситуации, когда имеется большое количество переменных / признаков ( ) и меньшее количество выборок ( ) и моя цель - прогноз.
Это мое понимание:
Ридж-регрессия сжимает коэффициенты регрессии, но использует все коэффициенты, не делая их .
LASSO также сжимает коэффициенты, но также делает их , что означает, что он также может делать выбор переменных.
Регрессия главных компонентов усекает компоненты так, что становится меньше n ; это отбросит p - n компоненты.
Частично наименьший квадрат также создает набор линейных комбинаций входных данных для регрессии, но в отличие от PCR он использует (в дополнение к X ) для уменьшения размерности. Основное практическое различие между регрессией ПЦР и PLS заключается в том, что ПЦР часто требует больше компонентов, чем PLS, для достижения той же ошибки прогнозирования ( см. Здесь ).
Рассмотрим следующие фиктивные данные (реальные данные, с которыми я пытаюсь работать, похожи):
#random population of 200 subjects with 1000 variables
M <- matrix(rep(0,200*100),200,1000)
for (i in 1:200) {
set.seed(i)
M[i,] <- ifelse(runif(1000)<0.5,-1,1)
}
rownames(M) <- 1:200
#random yvars
set.seed(1234)
u <- rnorm(1000)
g <- as.vector(crossprod(t(M),u))
h2 <- 0.5
set.seed(234)
y <- g + rnorm(200,mean=0,sd=sqrt((1-h2)/h2*var(g)))
myd <- data.frame(y=y, M)
Реализация четырех методов:
require(glmnet)
# LASSO
fit1=glmnet(M,y, family="gaussian", alpha=1)
# Ridge
fit1=glmnet(M,y, family="gaussian", alpha=0)
# PLS
require(pls)
fit3 <- plsr(y ~ ., ncomp = 198, data = myd, validation = "LOO")
# taking 198 components and using leave-one-out cross validation
summary(fit3)
plot(RMSEP(fit3), legendpos = "topright")
# PCR
fit4 <- pcr(y ~ ., ncomp = 198, data = myd, validation = "LOO")
Лучшее описание данных:
, чаще всего p > 10 n ;
Переменные ( и Y ) коррелируют друг с другом с разной степенью.
У меня вопрос, какая стратегия может быть лучше для этой ситуации? Почему?
Ответы:
Я думаю, что нет однозначного ответа на ваш вопрос - это зависит от многих ситуаций, данных и того, что вы пытаетесь сделать. Некоторые изменения могут быть или должны быть изменены для достижения цели. Однако следующее общее обсуждение может помочь.
Прежде чем перейти к более продвинутым методам, давайте сначала обсудим базовую модель: регрессия наименьших квадратов (LS) . Есть две причины, по которым оценка параметров методом наименьших квадратов в полной модели неудовлетворительна:
Качество прогноза: оценки наименьших квадратов часто имеют небольшой уклон, но высокую дисперсию. Качество предсказания иногда может быть улучшено путем сжатия коэффициентов регрессии или путем установки некоторых коэффициентов равными нулю. Таким образом, смещение увеличивается, но дисперсия прогноза значительно уменьшается, что приводит к общему улучшению прогноза. Этот компромисс между смещением и дисперсией можно легко увидеть, разложив среднеквадратичную ошибку (MSE). Чем меньше MSE, тем лучше прогноз новых значений.
Интерпретируемость : если доступно много переменных-предикторов, имеет смысл определить те, которые имеют наибольшее влияние, и установить в ноль те, которые не имеют отношения к прогнозу. Таким образом, мы исключаем переменные, которые будут объяснять только некоторые детали, но мы оставляем те, которые допускают основное объяснение переменной ответа.
Таким образом, методы выбора переменных приходят на сцену. При выборе переменных используется только подмножество всех входных переменных, остальное исключается из модели. Наилучшая регрессия поднабора находит подмножество размера для каждогоК который дает наименьшее RSS. Эффективным алгоритмом является так называемыйалгоритм «скачки и границы»,который может обрабатывать до 30 или 40 переменных регрессора. С наборами данных больше 40k∈{0,1,...,p} 30 40 40 Во входных переменных поиск по всем возможным подмножествам становится невозможным. Таким образом, пошаговый выбор вперед и пошаговый выбор назад полезны. Обратный выбор может использоваться только при для того, чтобы иметь хорошо определенную модель. Эффективность вычислений этих методов сомнительна, когда p очень высоко.n>p p
Во многих ситуациях у нас есть большое количество входных данных (как у вас), часто сильно коррелированных (как в вашем случае). В случае высоко коррелированных регрессоров, МНК приводит к численно нестабильным параметрам , т.е. ненадежнымβ оценкам. Чтобы избежать этой проблемы, мы используем методы, которые используют производные направления ввода. Эти методы дают небольшое количество линейных комбинаций исходных входов x j, которые затем используются в качестве входных данных в регрессии.zk,k=1,2,...,q xj
Методы отличаются тем, как строятся линейные комбинации. Регрессия главных компонентов (ПЦР) ищет преобразования исходных данных в новый набор некоррелированных переменных, называемых главными компонентами .
Лассо иs 0 s
Анализ основных компонентов - это эффективный метод поиска линейных комбинаций признаков, которые демонстрируют большие различия в наборе данных. Но здесь мы ищем линейные комбинации с высокой дисперсией и значительной корреляцией с результатом. Следовательно, мы хотим поощрить анализ главных компонентов, чтобы найти линейные комбинации характеристик, которые имеют высокую корреляцию с результатами - контролируемыми главными компонентами (см. Страницу 678, Алгоритм 18.1, в книге Элементы статистического обучения). ).
Частичные наименьшие квадраты уменьшают весовые шумы, но не выбрасывают их; в результате большое количество шумных функций может испортить прогнозы. Thresholded PLS можно рассматривать как зашумленную версию контролируемых основных компонентов, и, следовательно, мы не можем ожидать, что она будет работать на практике. Контролируемые главные компоненты могут привести к меньшим ошибкам тестирования, чем Threshold PLS . Тем не менее, он не всегда создает разреженную модель, включающую лишь небольшое количество функций.
источник