Вам нужно подумать о том, что вы подразумеваете под «пределом». Существуют ограничения, например, когда у вас больше предикторов, чем случаев, вы сталкиваетесь с проблемами при оценке параметров (см. Небольшую симуляцию 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
для числа предсказателей. Я не считаю эту константу предиктором, но она оценивается. Затем я генерирую случайные данные и подбираю регрессионную модель, предсказывающую переменную y из 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
Размер выборки на два больше, чем количество предикторов, и, наконец, можно оценить соответствие всей модели.
Я часто смотрю на это с точки зрения того, может ли модель, снабженная определенным количеством параметров, давать прогнозы вне выборки, которые столь же точны, как и прогнозы, сделанные на исходной выборке разработки модели. Калибровочные кривые, среднеквадратические ошибки X * Beta и индексы предиктивной дискриминации являются одними из обычно используемых показателей. Отсюда некоторые эмпирические правила, такие как правило 15: 1 (эффективный размер выборки 15 для каждого исследуемого или оцениваемого параметра).
Что касается множественности, то идеальная поправка на множественность, если предположить, что модель справедлива и предположения о распределении соблюдены, является глобальным тестом на то, что все беты (кроме перехвата) равны нулю. Обычно это проверяется с использованием отношения правдоподобия или F-теста.
Существует два общих подхода к разработке моделей, которые, как правило, работают хорошо. (1) Иметь адекватный размер выборки и соответствовать всей предварительно заданной модели, и (2) использовать штрафную оценку максимального правдоподобия, чтобы предоставить только столько эффективных степеней свободы в регрессии, сколько будет поддерживать текущий размер выборки. [Поэтапный выбор переменной без штрафных санкций не должен играть никакой роли, поскольку известно, что это не работает.]
источник
источник
В принципе, нет предела количеству предсказателей. Вы можете оценить 2 миллиарда "бета" в принципе. Но на практике происходит то, что без достаточных данных или достаточной предварительной информации это не будет очень плодотворным занятием. Никакие конкретные параметры не будут определены очень хорошо, и вы не многому научитесь из анализа.
Теперь, если у вас нет много предварительной информации о вашей модели (структура модели, значения параметров, шум и т. Д.), Вам понадобятся данные, чтобы предоставить эту информацию. Обычно это наиболее распространенная ситуация, которая имеет смысл, потому что вам обычно нужна довольно веская причина для сбора данных (и тратить $$$) о чем-то, что вы уже хорошо знаете. Если это ваша ситуация, то разумным ограничением является наличие большого количества наблюдений на параметр. У вас есть 12 параметров (10 наклонов бета, 1 перехват и параметр шума), поэтому все, что превышает 100 наблюдений, должно быть в состоянии определить ваши параметры достаточно хорошо, чтобы можно было сделать некоторые выводы.
Но нет «жестких и быстрых» правил. Имея всего 10 предикторов, у вас не должно возникнуть проблем со временем вычислений (если хотите, приобретите лучший компьютер). В основном это означает просто выполнять больше работы, потому что у вас есть 11 измерений данных для поглощения - что затрудняет визуализацию данных. Основные принципы регрессии только с 1 зависимой переменной не так уж и отличаются.
Проблема с коррекцией Бонферрони состоит в том, что для того, чтобы это был разумный способ скорректировать уровень значимости, не жертвуя при этом слишком большой силой, вам необходимо, чтобы гипотеза, которую вы исправляете, была независимой (то есть знание того, что одна гипотеза верна, ничего не говорит вам о том, другая гипотеза верна). Это не относится к стандартному «t-критерию» в множественной регрессии для коэффициента, равного нулю, например. Статистика теста зависит от того, что еще в модели - это окольный способ сказать, что гипотеза зависит. Или, более частый способ сказать, что распределение выборки t-значения, обусловленного нулевым i-м предиктором, зависит от того, какие другие параметры равны нулю. Таким образом, использование коррекции Бонферрони здесь может фактически дать вам более низкий «общий»
источник