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


16

У мене є класична лінійна модель, з 5 можливими регресорами. Вони некорельовані між собою і мають досить низьку кореляцію з відповіддю. Я прийшов до моделі, де 3 регресори мають значні коефіцієнти для їх t-статистики (p <0,05). Додавання однієї або обох решти двох змінних дає p значення> 0,05 для статистики t, для доданих змінних. Це змушує мене вірити 3 змінної моделі "найкращою".

Однак, використовуючи команду 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
Ви не можете піти в в цілому , як , наскільки велика велика залежить від контексту. Але залежно від того, як саме було виконано моделювання, ви маєте рацію, що загальна середня величина може бути необхідною. R2
Френк Харрелл

1
Загалом правильно, що не потрібно включати всіх прогнозів, щоб зробити гарну роботу. Але дані не в змозі сказати, які прогнози використовувати.
Френк Харрелл

Відповіді:


18

Проблема почалася, коли ви шукали зменшену модель і використовували дані, а не знання предмета, щоб вибрати прогнози. Ступінчастий вибір змінних без одночасного зменшення санкцій для певного вибору змінних, хоча часто використовується, є невірним підходом. Про це написано багато. Немає підстав вважати, що 3-змінна модель "найкраща", і немає причин не використовувати оригінальний список заздалегідь заданих прогнозів. P-значення, обчислені після використання P-значень для вибору змінних, недійсні. Це називається "подвійним зануренням" у літературі щодо функціональних зображень.

Ось аналогія. Припустимо, хтось зацікавлений у порівнянні 6 процедур, але використовує парні t-тести, щоб вибрати, які методи лікування є "різними", в результаті чого зменшився набір з 4 процедур. Потім аналітик тестує на загальну різницю з 3 ступенями свободи. Цей тест F матиме завищену помилку I типу. Оригінальний тест F з 5 df цілком справедливий.

Для отримання додаткової інформації див. Http://www.stata.com/support/faqs/stat/stepwise.html та .


1
Спасибі за Вашу відповідь. Я додав редагування оригінального питання. Я сподіваюся, що це нормально. Будь-яка подальша порада буде дуже вітається.
П Селлаз

6

Одна з відповідей була б "цього неможливо зробити без знання предмета". На жаль, це, ймовірно, призведе до отримання F у вашому завданні. Якщо я не був вашим професором. Тоді це отримає А.

R2

Тоді є

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

Ну, якщо ви це знаєте (тобто ваш інструктор сказав вам), і якщо під "незалежним" ви маєте на увазі "не пов'язане з DV", то ви знаєте, що найкраща модель - це така, яка не має прогнозів, і ваша інтуїція правильна.


Привіт Пітер, і дякую. N - 900. Усі дані були отримані за допомогою моделювання. Я ЗНАЮ це, бо нам довелося робити симулятори самостійно. Вони повинні представляти реальні дані, що стосується цього домашнього завдання. Було проведено 100 моделювання, а 5 з найбільшими співвідношеннями відповіді (також імітовані, але лише один раз) були обрані регресорами-кандидатами.
П Селлаз

1
Просто будьте впевнені, що ви мали змоделювати відсутність зв’язку між будь-яким X та Y. Тоді, як інші заявили, модель регресії не має значення і загальна середня величина є достатньою.
Френк Харрелл

1
Так, вони абсолютно незалежні. Ми обрали дані з найбільшими 5 співвідношеннями як кандидат-регресорів, з яких ми маємо "отримати відповідну модель, даючи обгрунтування", але нам "не обов'язково включати всіх 5 предикторів".
П Селлаз

Звучить, що ваш професор або: а) повністю розгублений, або б) щось цікаве. Важко сказати, який. Якщо він / вона мав намір це показати те, на що вказували @FrankHarrell, я та інші, то добре! (це було б). ОТОХ, якщо він / вона має намір це "справжня" регресія, то це так)
Пітер Флом - Відновити Моніку

1
Я дам вам знати, що це таке, коли папери помічені :)
П Селлаз

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 з них.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.