Классическая линейная модель - выбор модели

16

У меня классическая линейная модель, с 5 возможными регрессорами. Они не связаны друг с другом и имеют довольно низкую корреляцию с ответом. Я пришел к модели, в которой 3 регрессора имеют значимые коэффициенты для своей t-статистики (р <0,05). Добавление одной или обеих оставшихся 2 переменных дает значения p> 0,05 для статистики t, для добавленных переменных. Это приводит меня к мысли, что модель с тремя переменными является «лучшей».

Однако, используя команду anova (a, b) в R, где a - это модель с 3 переменными, а b - полная модель, значение p для статистики F составляет <0,05, что говорит мне о том, что я предпочитаю полную модель над переменной 3 модель. Как я могу примирить эти очевидные противоречия?

Спасибо PS Редактировать: немного дальнейшего фона. Это домашнее задание, поэтому я не буду публиковать подробности, но нам не дают подробностей о том, что представляют собой регрессоры - они просто пронумерованы от 1 до 5. Нас просят «найти подходящую модель, дающую обоснование».

П Селлаз
источник
6
Под подходящей моделью можно понимать модель, которая эффективно использует все предварительно определенные переменные (учет нелинейности и т. Д.). Я надеюсь, что ваш инструктор понимает, что пошаговый выбор переменной недопустим. Мало кто делает.
Фрэнк Харрелл
1
Привет еще раз и спасибо. Извините за все взад и вперед. В инструкциях также говорится: «Не обязательно одна« лучшая »модель, и вам не обязательно включать все предикторы». Также нет никакой коллинеарности или нелинейности. На самом деле все 5 предикторов генерируются независимым моделированием из нормального распределения. Следовательно, корреляции между предикторами и ответом также невелики (самое большое - менее 0,1). Откровенно говоря, моя интуиция говорит, что «лучшей» моделью может быть только среднее значение выборки (скорректированное значение r в квадрате меньше 0,03)
P Sellaz
@P Sellaz: учитывая, что это домашняя работа с использованием смоделированных данных, ваша интуиция может вам здесь пригодиться. Напишите аргументированное объяснение своей интуиции.
Зак
1
Вы не можете пойти на в целом, так как большой размер зависит от контекста. Но в зависимости от того, как именно должно было быть выполнено моделирование, вы правы, что общее среднее значение может быть тем, что вам нужно. р2
Фрэнк Харрелл
1
В целом это правильно, что не нужно включать все предикторы, чтобы сделать хорошую работу. Но данные не могут сказать вам, какие предикторы использовать.
Фрэнк Харрелл

Ответы:

18

Проблема началась, когда вы искали сокращенную модель и использовали данные, а не предметные знания, чтобы выбрать предикторы. Поэтапный выбор переменной без одновременного усечения для наказания за выбор переменной, хотя и часто используется, является недопустимым подходом. Об этом много написано. Нет оснований полагать, что модель с тремя переменными является «наилучшей», и нет причин не использовать исходный список предопределенных предикторов. P-значения, вычисленные после использования P-значений для выбора переменных, недопустимы. Это было названо «двойным погружением» в литературе по функциональной визуализации.

Вот аналогия. Предположим, что кто-то заинтересован в сравнении 6 процедур, но использует парные t-тесты, чтобы выбрать, какие процедуры «отличаются», что приводит к уменьшению набора из 4 процедур. Затем аналитик проверяет общую разницу с 3 степенями свободы. Этот F-тест будет иметь завышенную ошибку типа I. Оригинальный F тест с 5 df вполне допустим.

См. Http://www.stata.com/support/faqs/stat/stepwise.html и для получения дополнительной информации.

Фрэнк Харрелл
источник
1
Спасибо за ответ. Я добавил редактировать оригинальный вопрос. Я надеюсь, что это нормально. Любые дальнейшие советы будут приветствоваться.
P Sellaz
6

Один из ответов будет: «Это невозможно сделать без знания предмета». К сожалению, это, вероятно, даст вам F в вашем назначении. Если только я не был твоим профессором. Тогда он получил бы А.

р2

Тогда есть

все 5 предикторов генерируются независимым моделированием из нормального распределения.

Что ж, если вы ЗНАЕТЕ это (то есть, ваш инструктор сказал вам) и если под «независимым» вы подразумеваете «не имеющее отношения к DV», то вы знаете, что лучшая модель - это модель без предикторов, и ваша интуиция верна.

Питер Флом - Восстановить Монику
источник
Привет, Питер, и спасибо. N равно 900. Все данные были получены путем моделирования. Я ЗНАЮ это, потому что мы должны были сделать симуляцию самостоятельно. Они должны представлять реальные данные, насколько это домашнее задание. Было проведено 100 симуляций, и 5 с наибольшей корреляцией к ответу (также смоделированные, но только один раз) были выбраны в качестве кандидатов-регрессоров.
P Sellaz
1
Просто будьте уверены, что вы не должны имитировать никакой связи между любыми X и Y. Тогда, как другие говорили, регрессионная модель не имеет значения, и общее среднее значение достаточно.
Фрэнк Харрелл
1
Да, они полностью независимы. Мы выбрали данные с самыми большими 5 корреляциями в качестве кандидатов-регрессоров, из которых мы должны «получить подходящую модель, дающую обоснование», но мы «не обязательно должны включать все 5 предикторов».
P Sellaz
Похоже, ваш профессор либо а) полностью смущен, либо б) делает что-то довольно интересное. Трудно сказать, какой. Если он / она намеревался показать это, на что @FrankHarrell, я и другие указывали, тогда хорошо! (это было бы б). OTOH, если он / она намеревается, чтобы это было "реальным" регрессом, то э-э-э, это а).
Питер Флом - Восстановить Монику
1
Я дам вам знать, что это, когда бумаги помечены :)
P Sellaz
4

Вы можете попробовать сделать перекрестную проверку. Выберите подмножество вашей выборки, найдите «лучшую» модель для этого подмножества, используя F или t-тесты, затем примените ее к полному набору данных (полная перекрестная проверка может оказаться более сложной, чем эта, но это было бы хорошим началом). Это помогает облегчить некоторые проблемы пошагового тестирования.

См . Примечание Дэвида Фридмана о скрининге уравнений регрессии , где можно найти симпатичную симуляцию этой идеи.

Чарли
источник
2

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

Основная идея состоит в том, чтобы использовать критерии (такие как t-статистика), чтобы исключить неважные переменные и посмотреть, как это улучшает прогнозную точность модели. Вы оборачиваете все это в цикл повторной выборки, такой как перекрестная проверка. Вот пример использования линейной модели для ранжирования переменных способом, подобным тому, что вы описали:

#Setup
set.seed(1)
p1 <- rnorm(50)
p2 <- rnorm(50)
p3 <- rnorm(50)
p4 <- rnorm(50)
p5 <- rnorm(50)
y <- 4*rnorm(50)+p1+p2-p5

#Select Variables
require(caret)
X <- data.frame(p1,p2,p3,p4,p5)
RFE <- rfe(X,y, sizes = seq(1,5), rfeControl = rfeControl(
                    functions = lmFuncs,
                    method = "repeatedcv")
                )
RFE
plot(RFE)

#Fit linear model and compare
fmla <- as.formula(paste("y ~ ", paste(RFE$optVariables, collapse= "+")))
fullmodel <- lm(y~p1+p2+p3+p4+p5,data.frame(y,p1,p2,p3,p4,p5))
reducedmodel <- lm(fmla,data.frame(y,p1,p2,p3,p4,p5))
summary(fullmodel)
summary(reducedmodel)

В этом примере алгоритм обнаруживает, что есть 3 «важные» переменные, но он получает только 2 из них.

Zach
источник