Você precisa pensar sobre o que você quer dizer com "limite". Existem limites, como quando você tem mais preditores do que casos, encontra problemas na estimativa de parâmetros (veja a pequena simulação R na parte inferior desta resposta).
No entanto, imagino que você esteja falando mais sobre limites suaves relacionados ao poder estatístico e às boas práticas estatísticas. Nesse caso, a linguagem dos "limites" não é realmente apropriada. Em vez disso, tamanhos de amostra maiores tendem a tornar mais razoável ter mais preditores e o limite de quantos preditores são razoáveis, sem dúvida, recai sobre um continuum de razoabilidade. Você pode achar relevante a discussão de regras práticas para o tamanho da amostra em regressão múltipla , pois muitas dessas regras referenciam o número de preditores.
Alguns pontos
- Se você está mais preocupado com a previsão geral do que com a significância estatística de preditores individuais, provavelmente é razoável incluir mais preditores do que com a significância estatística de preditores individuais.
- Se você está mais preocupado em testar um modelo estatístico específico relacionado à sua pergunta de pesquisa (por exemplo, como é comum em muitas aplicações de ciências sociais), presumivelmente você tem motivos para incluir preditores específicos. No entanto, você também pode ter oportunidades de ser seletivo em quais preditores você inclui (por exemplo, se você tiver várias variáveis que medem uma construção semelhante, poderá incluir apenas uma delas). Ao fazer testes de modelos baseados em teoria, existem muitas opções, e a decisão sobre quais preditores incluir envolve uma estreita conexão entre sua teoria e a questão da pesquisa.
- Não vejo frequentemente pesquisadores que usam correções de Bonferroni sendo aplicados a testes de significância de coeficientes de regressão. Uma razão razoável para isso pode ser que os pesquisadores estejam mais interessados em avaliar as propriedades gerais do modelo.
- Se você estiver interessado em avaliar a importância relativa dos preditores, acho útil examinar a relação bivariada entre o preditor e o resultado, bem como a relação entre o preditor e o controle de resultado para outros preditores. Se você incluir muitos preditores, é mais provável que você inclua preditores altamente correlacionados. Nesses casos, a interpretação dos índices de importância bivariados e baseados no modelo pode ser útil, pois uma variável importante no sentido bivariado pode estar oculta no modelo por outros preditores correlacionados ( eu detalho mais sobre isso aqui com links ).
Um pouco de simulação R
Escrevi esta pequena simulação para destacar a relação entre tamanho da amostra e estimativa de parâmetros em regressão múltipla.
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)
}
A fitmodel
função usa dois argumentos n
para o tamanho da amostra e k
para o número de preditores. Não estou contando a constante como preditor, mas é estimado. Em seguida, gera dados aleatórios e ajusta-se a um modelo de regressão que prevê uma variável a partir de k
variáveis preditoras e retorna o ajuste.
Como você mencionou na sua pergunta que estava interessado em saber se 10 preditores são demais, as seguintes chamadas de função mostram o que acontece quando o tamanho da amostra é 9, 10, 11 e 12, respectivamente. Ou seja, o tamanho da amostra é um a menos que o número de preditores e dois a mais que o número de preditores
summary(fitmodel(n=9, k=10))
summary(fitmodel(n=10, k=10))
summary(fitmodel(n=11, k=10))
summary(fitmodel(n=12, k=10))
> resumo (modelo de ajuste (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
O tamanho da amostra é um a menos que o número de preditores. Só é possível estimar 9 parâmetros, um dos quais é a constante.
> resumo (modelo de ajuste (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
O tamanho da amostra é igual ao número de preditores. Só é possível estimar 10 parâmetros, um dos quais é a constante.
> resumo (modelo de ajuste (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
O tamanho da amostra é um a mais que o número de preditores. Todos os parâmetros são estimados, incluindo a constante.
> resumo (modelo de ajuste (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
O tamanho da amostra é dois a mais que o número de preditores e, finalmente, é possível estimar o ajuste do modelo geral.
Eu olho frequentemente para isso do ponto de vista de se um modelo equipado com um certo número de parâmetros provavelmente produzirá previsões fora da amostra tão precisas quanto as previsões feitas na amostra de desenvolvimento do modelo original. Curvas de calibração, erros quadráticos médios de X * Beta e índices de discriminação preditiva são algumas das medidas normalmente usadas. É daí que algumas regras básicas, como a regra 15: 1 (tamanho efetivo da amostra de 15 por parâmetro examinado ou estimado).
Em relação à multiplicidade, um ajuste perfeito para a multiplicidade, assumindo que o modelo se mantém e as premissas distributivas sejam atendidas, é o teste global de que todos os betas (exceto a interceptação) são zero. Isso geralmente é testado usando uma razão de verossimilhança ou um teste F.
Existem duas abordagens gerais para o desenvolvimento de modelos que tendem a funcionar bem. (1) Tenha um tamanho de amostra adequado e ajuste todo o modelo pré-especificado; e (2) usei a estimativa de probabilidade máxima penalizada para permitir apenas quantos graus efetivos de liberdade na regressão o tamanho atual da amostra suportar. [A seleção gradual de variáveis sem penalização não deve desempenhar nenhum papel, pois é conhecido por não funcionar.]
fonte
Para essa pergunta, Candes e Plan dão uma resposta afirmativa em seu artigo "Seleção de modelo quase ideal por minimização"ℓ1 : m ≤ Kp σ1/ log( P ) σ1 X σ1 p
fonte
Em princípio, não há limite em si para quantos preditores você pode ter. Você pode estimar 2 bilhões de "betas" em princípio. Mas o que acontece na prática é que, sem dados suficientes ou informações prévias suficientes, isso não será um exercício muito proveitoso. Nenhum parâmetro específico será determinado muito bem e você não aprenderá muito com a análise.
Agora, se você não tiver muitas informações anteriores sobre o seu modelo (estrutura do modelo, valores de parâmetros, ruído etc.), precisará dos dados para fornecer essas informações. Geralmente, essa é a situação mais comum, o que faz sentido, porque geralmente você precisa de um bom motivo para coletar dados (e gastar $$$) sobre algo que você já conhece muito bem. Se essa for a sua situação, um limite razoável é ter um grande número de observações por parâmetro. Você tem 12 parâmetros (10 declives betas, 1 intercepto e um parâmetro de ruído); portanto, qualquer coisa acima de 100 observações deve poder determinar seus parâmetros suficientemente bem para poder tirar algumas conclusões.
Mas não há regras "rígidas e rápidas". Com apenas 10 preditores, você não deve ter problemas com o tempo de computação (obtenha um computador melhor, se precisar). Significa principalmente fazer mais trabalho, porque você tem 11 dimensões de dados para absorver - dificultando a visualização dos dados. Os princípios básicos da regressão com apenas uma variável dependente não são realmente tão diferentes.
O problema com a correção bonferroni é que, para que seja uma maneira razoável de ajustar seu nível de significância sem sacrificar muito poder, você precisa da hipótese que está corrigindo para ser independente (ou seja, aprender que uma hipótese é verdadeira não diz nada sobre se outra hipótese é verdadeira). Isso não é verdade para o "teste t" padrão em regressão múltipla para um coeficiente que é zero, por exemplo. A estatística do teste depende do que mais no modelo - que é uma maneira indireta de dizer que as hipóteses são dependentes. Ou, uma maneira mais freqüente de dizer isso é que a distribuição amostral do valor t condicional ao i-ésimo preditor é zero depende de quais outros parâmetros são zero. Portanto, o uso da correção bonferroni aqui pode estar na verdade fornecendo um "total" mais baixo
fonte