Ao usar a abordagem passo a passo para selecionar variáveis, é garantido que o modelo final tenha o maior R ^ 2 possível ? Dito de outra maneira, a abordagem por etapas garante um ótimo global ou apenas um ótimo local?
Por exemplo, se eu tiver 10 variáveis para selecionar e quiser construir um modelo de 5 variáveis, o resultado final do modelo de 5 variáveis construído pela abordagem stepwise terá o R ^ 2 mais alto de todos os possíveis modelos de 5 variáveis que poderiam foram construídos?
Note que esta questão é puramente teórica, ou seja, não estamos discutindo se um valor alto de é ideal, se leva a super ajuste etc.
r-squared
stepwise-regression
zabidlo
fonte
fonte
Respostas:
Você não obterá necessariamente o R mais alto, porque você só compara um subconjunto de modelos possíveis e pode perder o que tiver o R mais alto, o que incluiria todas as variáveis. Para obter esse modelo, é necessário examinar todos os subconjuntos . Mas o melhor modelo pode não ser aquele com o R mais alto porque pode ser que você se ajuste demais porque inclui todas as variáveis.2 22 2 2
fonte
Aqui está um exemplo de contador usando dados gerados aleatoriamente e R:
whuber queria o processo de pensamento: é principalmente um contraste entre curiosidade e preguiça. O post original falou sobre ter 10 variáveis preditoras, e foi isso que eu usei. A correlação 0,9 foi um bom número redondo com uma correlação razoavelmente alta, mas não muito alta (se for muito alta, então passo a passo provavelmente só pegaria 1 ou 2 preditores), imaginei que a melhor chance de encontrar um contra-exemplo incluiria uma quantidade justa de colinearidade. Um exemplo mais realista teria várias correlações diferentes (mas ainda uma quantidade razoável de colinearidade) e uma relação definida entre os preditores (ou um subconjunto deles) e a variável de resposta. O tamanho da amostra de 100 também foi o primeiro que tentei como um bom número redondo (e a regra geral diz que você deve ter pelo menos 10 observações por preditor). Eu tentei o código acima com as sementes 1 e 2, envolvi a coisa toda em um loop e tentei sementes diferentes sequencialmente. Na verdade, ele parou na semente 3, mas a diferença deR2 estava na décima quinta casa decimal, então achei que era o erro de arredondamento mais provável e o reiniciei com a comparação arredondando primeiro para 5 dígitos. Fiquei agradavelmente surpreso ao encontrar uma diferença assim que 15. Se não tivesse encontrado um contra-exemplo em um período de tempo razoável, eu teria começado a mexer nas coisas (a correlação, o tamanho da amostra etc.).
fonte
Se você realmente deseja obter o mais alto , deve procurar (como o @Michael disse) em todos os subconjuntos. Com muitas variáveis, isso às vezes não é viável, e existem métodos para se aproximar sem testar todos os subconjuntos. Um método é chamado (IIRC) "trancos e barrancos" e está no pacote R.R2
No entanto, isso produzirá resultados muito tendenciosos. os valores de p serão muito baixos, os coeficientes são desviados de 0, os erros padrão são muito pequenos; e tudo por quantias impossíveis de estimar adequadamente.
A seleção gradual também tem esse problema.
Eu recomendo fortemente contra qualquer método automatizado de seleção de variáveis, porque o pior deles é que eles o impedem de pensar; ou, em outras palavras, um analista de dados que usa métodos automatizados está dizendo ao chefe para pagar menos.
Se você precisar usar um método automatizado, deverá separar seus dados em conjuntos de treinamento e teste, ou possivelmente conjuntos de treinamento, validação e final.
fonte