Максимальна кількість незалежних змінних, які можна ввести в рівняння множинної регресії


19

Яка межа обмеження кількості незалежних змінних, яку можна ввести в рівняння множинної регресії? У мене є 10 прогнозів, які я хотів би вивчити з точки зору їх відносного внеску в змінну результатів. Чи слід використовувати корекцію бонферроні для коригування кількох аналізів?

Відповіді:


25

Вам потрібно подумати про те, що ви маєте на увазі під «межею». Існують обмеження, наприклад, коли у вас більше прогнозів, ніж випадків, ви стикаєтеся з питаннями оцінки параметрів (див. Маленьке моделювання R внизу цієї відповіді).

Однак, я думаю, ви більше говорите про м'які межі, пов'язані зі статистичною силою та хорошою статистичною практикою. У цьому випадку мова "обмежень" насправді не підходить. Швидше, більші розміри вибірки, як правило, роблять більш розумним наявність більшої кількості прогнозів, і поріг того, скільки передбачувачів є розумним, можливо, падає на континуум розумності. Ви можете знайти обговорення правил великого пальця для розміру вибірки при множинній регресії , оскільки багато таких правил указують на кількість предикторів.

Кілька пунктів

  • Якщо вас більше турбує загальне прогнозування, ніж статистична значимість окремих прогнозів, то, ймовірно, розумно включати більше прогнозів, ніж якщо ви переймаєтесь статистичною значимістю окремих прогнозів.
  • Якщо вас більше турбує тестування конкретної статистичної моделі, що стосується вашого дослідницького питання (наприклад, як це часто зустрічається у багатьох соціальних наукових програмах), мабуть, у вас є причини включення конкретних прогнозів. Однак ви також можете мати вибірковість щодо того, які прогноктори ви включаєте (наприклад, якщо у вас є кілька змінних, які вимірюють подібну конструкцію, ви можете включити лише одну з них). Під час тестування моделей на основі теорії існує багато варіантів, і рішення про те, які прогноктори включити, передбачає тісний зв’язок між вашою теорією та питанням дослідження.
  • Я не часто бачу дослідників, які використовують коригування бонферроні, застосовувані до тестів на значимість коефіцієнтів регресії. Однією з розумних причин цього може бути те, що дослідники більше зацікавлені в оцінці загальних властивостей моделі.
  • Якщо ви зацікавлені в оцінці відносної важливості прогнозів, я вважаю корисним вивчити як двоваріантну взаємозв'язок між прогноктором та результатом, так і взаємозв'язок між прогноктором і контролем результатів для інших прогнозів. Якщо ви включаєте безліч предикторів, часто більше шансів на те, що ви включаєте прогнози, які сильно взаємопов'язані. У таких випадках інтерпретація як біваріантних, так і на основі моделей індексів важливості може бути корисною, оскільки змінна, важлива в біваріантному сенсі, може бути прихована в моделі іншими співвіднесеними прогнозами ( я детальніше про це детальніше опитую тут за посиланнями ).


Трохи моделювання R

Я написав це маленьке моделювання, щоб виділити залежність між розміром вибірки та оцінкою параметрів при множинній регресії.

set.seed(1)

fitmodel <- function(n, k) {
  # n: sample size
  # k: number of predictors
  # return linear model fit for given sample size and k predictors
  x <- data.frame(matrix( rnorm(n*k), nrow=n))
  names(x) <- paste("x", seq(k), sep="")
  x$y <- rnorm(n)  
  lm(y~., data=x)
}

fitmodelФункція приймає два аргументи nдля розміру вибірки і kдля числа провісників. Я не вважаю константу як предиктор, але вона оцінюється. Потім я генерую випадкові дані та підходить до регресійної моделі, що передбачає змінну з прогнозних kзмінних і повертає придатність.

Зважаючи на те, що ви згадали у своєму запитанні, що вас цікавило, чи 10 предикторів занадто багато, наступні виклики функцій показують, що відбувається, коли розмір вибірки становить 9, 10, 11 та 12 відповідно. Тобто, розмір вибірки на один менший, ніж кількість предикторів, на два більше, ніж кількість предикторів

summary(fitmodel(n=9, k=10))
summary(fitmodel(n=10, k=10))
summary(fitmodel(n=11, k=10))
summary(fitmodel(n=12, k=10))

> підсумок (fitmodel (n = 9, k = 10))

Call:
lm(formula = y ~ ., data = x)

Residuals:
ALL 9 residuals are 0: no residual degrees of freedom!

Coefficients: (2 not defined because of singularities)
            Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.31455         NA      NA       NA
x1           0.34139         NA      NA       NA
x2          -0.45924         NA      NA       NA
x3           0.42474         NA      NA       NA
x4          -0.87727         NA      NA       NA
x5          -0.07884         NA      NA       NA
x6          -0.03900         NA      NA       NA
x7           1.08482         NA      NA       NA
x8           0.62890         NA      NA       NA
x9                NA         NA      NA       NA
x10               NA         NA      NA       NA

Residual standard error: NaN on 0 degrees of freedom
Multiple R-squared:     1,  Adjusted R-squared:   NaN 
F-statistic:   NaN on 8 and 0 DF,  p-value: NA 

Розмір вибірки на один менше, ніж кількість предикторів. Оцінити можна лише 9 параметрів, одним з яких є константа.

> резюме (fitmodel (n = 10, k = 10))

Call:
lm(formula = y ~ ., data = x)

Residuals:
ALL 10 residuals are 0: no residual degrees of freedom!

Coefficients: (1 not defined because of singularities)
            Estimate Std. Error t value Pr(>|t|)
(Intercept)   0.1724         NA      NA       NA
x1           -0.3615         NA      NA       NA
x2           -0.4670         NA      NA       NA
x3           -0.6883         NA      NA       NA
x4           -0.1744         NA      NA       NA
x5           -1.0331         NA      NA       NA
x6            0.3886         NA      NA       NA
x7           -0.9886         NA      NA       NA
x8            0.2778         NA      NA       NA
x9            0.4616         NA      NA       NA
x10               NA         NA      NA       NA

Residual standard error: NaN on 0 degrees of freedom
Multiple R-squared:     1,  Adjusted R-squared:   NaN 
F-statistic:   NaN on 9 and 0 DF,  p-value: NA 

Розмір вибірки такий же, як кількість предикторів. Оцінити можна лише 10 параметрів, одним з яких є константа.

> резюме (fitmodel (n = 11, k = 10))

Call:
lm(formula = y ~ ., data = x)

Residuals:
ALL 11 residuals are 0: no residual degrees of freedom!

Coefficients:
            Estimate Std. Error t value Pr(>|t|)
(Intercept)  -0.9638         NA      NA       NA
x1           -0.8393         NA      NA       NA
x2           -1.5061         NA      NA       NA
x3           -0.4917         NA      NA       NA
x4            0.3251         NA      NA       NA
x5            4.4212         NA      NA       NA
x6            0.7614         NA      NA       NA
x7           -0.4195         NA      NA       NA
x8            0.2142         NA      NA       NA
x9           -0.9264         NA      NA       NA
x10          -1.2286         NA      NA       NA

Residual standard error: NaN on 0 degrees of freedom
Multiple R-squared:     1,  Adjusted R-squared:   NaN 
F-statistic:   NaN on 10 and 0 DF,  p-value: NA 

Розмір вибірки на один більше, ніж кількість предикторів. Всі параметри оцінюються, включаючи постійні.

> резюме (fitmodel (n = 12, k = 10))

Call:
lm(formula = y ~ ., data = x)

Residuals:
        1         2         3         4         5         6         7         8         9        10        11 
 0.036530 -0.042154 -0.009044 -0.117590  0.171923 -0.007976  0.050542 -0.011462  0.010270  0.000914 -0.083533 
       12 
 0.001581 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)  
(Intercept)  0.14680    0.11180   1.313   0.4144  
x1           0.02498    0.09832   0.254   0.8416  
x2           1.01950    0.13602   7.495   0.0844 .
x3          -1.76290    0.26094  -6.756   0.0936 .
x4           0.44832    0.16283   2.753   0.2218  
x5          -0.76818    0.15651  -4.908   0.1280  
x6          -0.33209    0.18554  -1.790   0.3244  
x7           1.62276    0.21562   7.526   0.0841 .
x8          -0.47561    0.18468  -2.575   0.2358  
x9           1.70578    0.31547   5.407   0.1164  
x10          3.25415    0.46447   7.006   0.0903 .
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

Residual standard error: 0.2375 on 1 degrees of freedom
Multiple R-squared: 0.995,  Adjusted R-squared: 0.9452 
F-statistic: 19.96 on 10 and 1 DF,  p-value: 0.1726 

Розмір вибірки на два більше, ніж кількість прогнозів, і остаточно можна оцінити відповідність загальної моделі.


Чи можете хтось пояснити, чому стандартні помилки в першому сценарії (n = 9, k = 10) - НА? У мене є стандартна формула помилок, але не розумію, як знаменник буде 0, щоб ми отримали NA.
matsuo_basho

12

Я часто дивлюся на це з позицій того, чи може модель, оснащена певною кількістю параметрів, давати прогнози поза вибіркою, такі ж точні, як прогнози, зроблені на оригінальній вибірці розробки моделі. Калібрувальні криві, середні квадратичні помилки X * Beta та індекси передбачуваної дискримінації - це деякі із застосовуваних заходів. Звідси випливають деякі правила, наприклад, правило 15: 1 (ефективний розмір вибірки 15 на кожен досліджений або оцінений параметр).

Що стосується кратності, то ідеальне коригування множинності, якщо припустити, що виконання моделей та розподільних припущень виконано, - це глобальний тест на те, що всі бета (крім перехоплення) дорівнюють нулю. Зазвичай це тестують за допомогою коефіцієнта ймовірності або F-тесту.

Є два загальних підходи до розробки моделі, які, як правило, працюють добре. (1) Мати адекватний розмір вибірки та відповідати всій попередньо заданій моделі; (2) використовувати пеналізовану максимальну оцінку ймовірності, щоб дозволити отримати стільки ефективних ступенів свободи в регресії, скільки поточний розмір вибірки підтримуватиме. [Покроковий вибір змінних без штрафу не повинен грати ніякої ролі, оскільки це, як відомо, не працює.]


Чи ґрунтуються ці правила на основі припущень щодо розміру справжніх коефіцієнтів регресії та розміру дисперсії помилок? Чи було б я правильним, думаючи, що якби варіація помилок, як відомо, була дуже невеликою, було б прийнятним значно менше співвідношення точок даних до параметрів?
mark999

1
Це відмінний момент, який я нехтував згадувати. Правило 15: 1 стосується типів співвідношення сигнал: шум, що спостерігається в біомедичних та соціальних науках. Якщо у вас низька залишкова дисперсія, ви можете точно оцінити багато інших параметрів.
Френк Харрелл


6

В принципі, обмеження, як правило, не має, скільки передбачувачів у вас може бути. В принципі можна оцінити 2 мільярди "бета". Але на практиці відбувається те, що без достатніх даних або достатньої попередньої інформації це не виявиться дуже плідною діяльністю. Ніякі конкретні параметри не будуть визначені дуже добре, і ви не дуже багато навчитеся з аналізу.

Тепер якщо у вас немає багато попередньої інформації про вашу модель (структура моделі, значення параметрів, шум тощо), вам знадобляться дані для надання цієї інформації. Зазвичай це найпоширеніша ситуація, яка має сенс, тому що вам зазвичай потрібна досить вагома причина для збору даних (і витрачання $$$) про те, що ви вже досить добре знаєте. Якщо це ваша ситуація, то розумною межею є велика кількість спостережень за параметром. У вас є 12 параметрів (10 бета-нахилів, 1 перехоплення та параметр шуму), тому все, що перевищує 100 спостережень, повинне бути здатне досить добре визначити ваші параметри, щоб можна було зробити деякі висновки.

Але немає "жорстких і швидких" правил. Маючи лише 10 предикторів, у вас не повинно виникнути проблем з часом обчислень (якщо у вас є кращий комп'ютер). В основному це означає просто зробити більше роботи, оскільки у вас є 11 вимірів даних, які потрібно поглинати - ускладнюючи візуалізацію даних. Основні принципи регресії із лише 1 залежною змінною насправді не такі різні.

Проблема корекції бонферроні полягає в тому, що для того, щоб бути розумним способом регулювання рівня вашої значущості, не жертвуючи занадто великою силою, вам потрібна гіпотеза, яку ви коригуєте, щоб бути незалежною (тобто, дізнавшись, що одна гіпотеза є правдою, вам нічого не сказати про те інша гіпотеза вірна). Це не вірно для стандартного "t-тесту" при множинній регресії, наприклад, для коефіцієнта корисної дії, який дорівнює нулю. Тестова статистика залежить від того, що ще є в моделі - від того, наскільки крутний спосіб сказати, гіпотеза залежить. Або, більш частішим способом сказати це, є те, що розподіл вибірки t-значення, що обумовлюється нулем i-го предиктора, залежить від того, які інші параметри дорівнюють нулю. Тож використання корекції бонферроні тут, можливо, насправді дає вам меншу "загальну"

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