Предоставляет ли ступенчатая регрессия необъективную оценку r-квадрата населения?

14

В психологии и других областях часто используется форма ступенчатой ​​регрессии, которая включает в себя следующее:

  1. Посмотрите на остальные предикторы (сначала их нет в модели) и определите предиктор, который приведет к наибольшему изменению r-квадрата;
  2. Если значение p изменения r-квадрата меньше, чем альфа (обычно 0,05), включите этот предиктор и вернитесь к шагу 1, в противном случае остановите.

Например, см. Эту процедуру в SPSS .

Процедура регулярно подвергается критике по широкому кругу причин (см. Это обсуждение на веб-сайте Stata со ссылками ).

В частности, сайт Stata обобщает несколько комментариев Фрэнка Харрелла. Я заинтересован в претензии:

[ступенчатая регрессия] дает значения R-квадрата, которые сильно смещены, чтобы быть высокими.

В частности, некоторые из моих текущих исследований посвящены оценке r-квадрата населения . Под r-квадратом населения я понимаю процент дисперсии, который объясняется уравнением формирования данных о населении. Большая часть существующей литературы, которую я рецензирую, использует пошаговые регрессионные процедуры, и я хочу знать, являются ли предоставленные оценки предвзятыми и, если да, то насколько. В частности, типичное исследование будет иметь 30 предикторов, n = 200, альфа-вход 0,05 и оценки r-квадрата около 0,50.

Что я знаю:

  • Асимптотически любой предиктор с ненулевым коэффициентом будет статистически значимым предиктором, и r-квадрат будет равен скорректированному r-квадрату. Таким образом, асимптотически ступенчатая регрессия должна оценивать истинное уравнение регрессии и r-квадрат истинного населения.
  • При меньших размерах выборки возможное отсутствие некоторых предикторов приведет к меньшему r-квадрату, чем если бы все предикторы были включены в модель. Но также обычное смещение r-квадрата к данным выборки увеличит r-квадрат. Таким образом, моя наивная мысль состоит в том, что потенциально эти две противоборствующие силы могут при определенных условиях привести к непредвзятому r-квадрату. И, в более общем смысле, направление смещения будет зависеть от различных характеристик данных и критериев альфа-включения.
  • Установка более строгого критерия альфа-включения (например, 0,01, 0,001 и т. Д.) Должна снизить ожидаемую предполагаемую величину r-квадрата, поскольку вероятность включения любого предиктора в любое поколение данных будет меньше.
  • В целом, r-квадрат - это смещенная вверх оценка r-квадрата населения, и степень этого смещения увеличивается с увеличением количества предикторов и меньших размеров выборки.

Вопрос

Итак, наконец, мой вопрос:

  • В какой степени r-квадрат из ступенчатой ​​регрессии приводит к смещенной оценке r-квадрата населения?
  • В какой степени это смещение связано с размером выборки, числом предикторов, критерием альфа-включения или свойствами данных?
  • Есть ли ссылки на эту тему?
Джером англим
источник
3
Главная версия часто задаваемых вопросов Stata, которую вы цитируете, предшествовала книге Фрэнка Харрелла 2001 года « Стратегии регрессионного моделирования» . Нью-Йорк: Спрингер, с которого я бы начал здесь.
Ник Кокс
3
Я настоятельно рекомендую прочитать книгу @FrankHarrell, которую упоминает Ник Кокс; Я регулярно назначаю своих аспирантов и почитаю студентов, читающих из нее (особенно главу 4). То, что R ^ 2 смещен в присутствии выбора переменных, довольно легко увидеть, моделируя множество наборов данных (например, n = 100, p = 50), у которых корреляция населения равна нулю, а затем выполняя любую процедуру выбора переменных, которую вы хотите показать это на.
Glen_b
5
R2
3
Если совокупность R ^ 2 равна нулю, я думаю, что выборка R ^ 2 смещена, даже если вы не используете пошаговый отбор. Я подозреваю (но не уверен), что это также было бы предвзятым, если население R ^ 2 ненулевое.
mark999
2
R2

Ответы:

5

R2R2R2

Фрэнк Харрелл
источник
Особенно, когда число предикторов- кандидатов превышает количество наблюдений!
Алексис
2

обзор

R2ρ2

R2ρ2R2ρ2R2R2R2ρ2

R2

R2ρ2ρ2

моделирование

Следующее моделирование имеет четыре некоррелированных предиктора, где r-квадрат населения составляет 40%. Два предиктора объясняют 20% каждый, а два других предиктора объясняют 0%. Моделирование генерирует 1000 наборов данных и оценивает r-квадрат ступенчатой ​​регрессии в процентах для каждого набора данных.

# source("http://bioconductor.org/biocLite.R")
# biocLite("maSigPro") # provides stepwise regression function two.ways.stepfor 
library(maSigPro)
get_data <- function(n=100) {
    x1 <- rnorm(n, 0, 1)
    x2 <- rnorm(n, 0, 1)
    x3 <- rnorm(n, 0, 1)
    x4 <- rnorm(n, 0, 1)
    e  <- rnorm(n, 0, 1)
    y <- 1 * x1 + 1 * x2 + sqrt(3) * e
    data <- data.frame(y, x1, x2, x3, x4)
    data
}

get_rsquare <- function(x, alpha=.05) {
    fit <- two.ways.stepfor(x$y, subset(x, select=-y),  alfa=alpha)
        class(fit) <-'lm'
        summary.lm(fit)$r.square * 100
}

Следующий код возвращает r-квадрат с альфа-каналом для ввода .01, .001, .0001 и .00001.

set.seed(1234)
simulations <- 1000
datasets <- lapply(seq(simulations), function(X) get_data(n=100))
rsquares01 <- sapply(datasets, function(X) get_rsquare(X, alpha=.01))
rsquares001 <- sapply(datasets, function(X) get_rsquare(X, alpha=.001))
rsquares0001 <- sapply(datasets, function(X) get_rsquare(X, alpha=.0001))
rsquares00001 <- sapply(datasets, function(X) get_rsquare(X, alpha=.00001))

Следующие результаты указывают на смещение для каждой из пяти альфа-записей. Обратите внимание, что я умножил r-квадрат на 100, чтобы было легче увидеть различия.

mean(rsquares01) - 40 
mean(rsquares001) - 40 
mean(rsquares0001) - 40 
mean(rsquares00001) - 40 
sd(rsquares01)/sqrt(simulations) # approximate standard error in estimate of bias 

Результаты показывают, что альфа записей 0,01 и 0,001 приводит к положительному смещению, а альфа записей 0,0001 и 0,00001 приводит к отрицательному смещению. Так что, предположительно, альфа входа около .0005 приведет к непредвзятой ступенчатой ​​регрессии.

> mean(rsquares01) - 40 
[1] 1.128996
> mean(rsquares001) - 40 
[1] 0.8238992
> mean(rsquares0001) - 40 
[1] -0.9681992
> mean(rsquares00001) - 40 
[1] -5.126225
> sd(rsquares01)/sqrt(simulations) # approximate standard error in estimate of bias
[1] 0.2329339

Основной вывод, который я сделал из этого, заключается в том, что ступенчатая регрессия не является изначально смещенной в определенном направлении. Тем не менее, он будет по меньшей мере несколько смещен для всех, кроме одного p-значения записи предиктора. Я принимаю точку зрения Питера Флома о том, что в реальном мире мы не знаем процесс генерации данных. Тем не менее, я представляю, что более детальное исследование того, как меняется это смещение, n, альфа-вход, процессы генерирования данных и пошаговая процедура регрессии (например, включая обратный проход) может существенно помочь понять такое смещение.

Ссылки

  • Harrell, FE (2001). Стратегии регрессионного моделирования: с приложениями к линейным моделям, логистической регрессии и анализу выживаемости. Springer.
Джером англим
источник
Это все еще предвзято (я бы сказал), вы просто значительно уменьшили предвзятость.
Джереми Майлз
@JeremyMiles Да. Но это не присуще определенному направлению.
Jeromy Anglim
Мне было бы очень интересно посмотреть на @FrankHarrell.
Glen_b
1
SW(p)R2ppSW(p)pSW(p)p
1
@whuber Я подправил последний абзац, чтобы, надеюсь, прояснить некоторые из упомянутых вами моментов.
Джером Энглим