Eu quero selecionar modelos usando regsubsets()
. Eu tenho um quadro de dados chamado olympiadaten (upload de dados: http://www.sendspace.com/file/8e27d0 ). Primeiro anexo esse quadro de dados e, em seguida, começo a analisar, meu código é:
attach(olympiadaten)
library(leaps)
a<-regsubsets(Gesamt ~ CommunistSocialist + CountrySize + GNI + Lifeexp +
Schoolyears + ExpMilitary + Mortality +
PopPoverty + PopTotal + ExpEdu + ExpHealth, data=olympiadaten, nbest=2)
summary(a)
plot(a,scale="adjr2")
summary(lm(Gesamt~ExpHealth))
captura de tela da trama:
O problema agora é que eu quero ajustar o melhor modelo novamente "manualmente" e dar uma olhada nele, mas o valor do R ajustado ao quadrado não é o mesmo da saída de regsubsets? Este também é o caso dos outros modelos, por exemplo, quando eu faço o modelo mais simples do gráfico:
summary(lm(Gesamt~ExpHealth))
O gráfico diz que ele deve ter um R ajustado ao quadrado de cerca de 0,14, mas quando olho para a saída, recebo um valor de 0,06435.
Aqui está a saída de summary(lm(Gesamt~ExpHealth))
:
Call:
lm(formula = Gesamt ~ ExpHealth)
Residuals:
Min 1Q Median 3Q Max
-18.686 -9.856 -4.496 1.434 81.980
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -3.0681 6.1683 -0.497 0.6203
ExpHealth 1.9903 0.7805 2.550 0.0127 *
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 18.71 on 79 degrees of freedom
(4 observations deleted due to missingness)
Multiple R-squared: 0.07605, Adjusted R-squared: 0.06435
F-statistic: 6.502 on 1 and 79 DF, p-value: 0.01271
Eu não sei o que eu poderia ter feito de errado, qualquer ajuda seria apreciada.
E por último mas não menos importante, mais algumas perguntas:
- Qual é a diferença entre selecionar modelos pela AIC e pelo adj. R ao quadrado?
- Ambos medem o ajuste e reconhecem o número de variáveis; portanto, o melhor modelo escolhido pela AIC não é também o modelo com o maior ajuste. r ao quadrado?
- Então, o
regsubsets()
comando calcula cada modelo e mostra os dois melhores (nbest=2
) de cada tamanho? - Se sim, realmente recebo o modelo "melhor"?
- E quando eu faço AIC usando a seleção reversa (começando com o modelo que contém todas as variáveis), isso também acaba com o mesmo modelo que
regsubsets()
diz ser o melhor?
fonte
Respostas:
Para aprofundar a idéia de usar todos os subconjuntos ou as melhores ferramentas de subconjuntos para encontrar um "melhor" modelo de ajuste, o livro "Como mentir com as estatísticas", de Darrell Huff, conta uma história sobre a Readers Digest publicando uma comparação dos produtos químicos na fumaça do cigarro. O objetivo do artigo era mostrar que não havia diferença real entre as diferentes marcas, mas uma marca era mais baixa em alguns dos produtos químicos (mas tão pouco que a diferença não fazia sentido) e essa marca iniciou uma grande campanha publicitária baseada em sendo o "mais baixo" ou "melhor" de acordo com o Readers Digest.
Todos os subconjuntos ou regressões de melhores subconjuntos são semelhantes, a mensagem real do gráfico que você mostra não é "aqui é o melhor", mas realmente não existe um melhor modelo. Do ponto de vista estatístico (usando o r ajustado ao quadrado), a maioria do seu modelo é praticamente a mesma (os poucos na parte inferior são inferiores aos acima, mas o restante é semelhante). Seu desejo de encontrar um modelo "Melhor" nessa tabela é como a empresa de cigarros dizendo que o produto deles era o melhor quando o objetivo era mostrar que todos eram semelhantes.
Aqui está algo para tentar, excluir aleatoriamente um ponto do conjunto de dados e executar novamente a análise, você obtém o mesmo modelo "Melhor"? ou isso muda? repita algumas vezes excluindo um ponto diferente a cada vez para ver como o modelo "Melhor" muda. Você se sente realmente à vontade em afirmar que um modelo é "Melhor" quando uma pequena alteração nos dados fornece um "Melhor" diferente? Observe também quão diferentes são os coeficientes entre os diferentes modelos. Como você interpreta essas mudanças?
Outras coisas a serem consideradas incluem pegar vários bons modelos e combiná-los (média do modelo), ou melhor, em vez de cada variável estar dentro ou fora, adicionando alguma forma de penalidade (regressão de Ridge, LASSO, elasticnet, ...).
fonte
Eu realmente não sei o que você quer dizer com melhor modelo. Cada critério fornece essencialmente uma definição diferente de melhor. Você pode chamar um modelo melhor em termos de informações, entropia, complexidade estocástica, variação percentual explicada (ajustada) e muito mais. Se você está lidando com uma situação específica e tem o significado de capturar melhor o mínimo verdadeiro para dizer AIC em todos os modelos possíveis, isso só pode ser garantido olhando para todos os modelos (ou seja, todas as seleções de subconjunto para as variáveis). Os procedimentos passo a passo, passo a passo e passo a passo nem sempre encontram o melhor modelo no sentido de um critério específico. Com a regressão passo a passo, você pode até obter respostas diferentes iniciando modelos diferentes. Estou certo de que Frank Harrell teria muito a dizer sobre isso.
Para saber mais, existem vários bons livros sobre seleção de modelo / subconjunto disponíveis e eu referenciei alguns aqui em outros posts. Também a monografia de Lacey Gunter com Springer em sua série SpringerBrief será lançada em breve. Eu era co-autor com ela naquele livro.
fonte