Lorsque vous utilisez l'approche pas à pas pour sélectionner les variables, le modèle final est-il garanti d'avoir le plus haut possible ? Autrement dit, l'approche par étapes garantit-elle un optimum global ou seulement un optimum local?
Par exemple, si j'ai 10 variables parmi lesquelles choisir et que je veux construire un modèle à 5 variables, le modèle final à 5 variables créé par l'approche pas à pas aura-t-il le plus haut de tous les modèles possibles à 5 variables qui auraient pu être construits?
Notez que cette question est purement théorique, c'est-à-dire que nous ne débattons pas la valeur est optimale, qu'elle conduise à un sur-ajustement, etc.
r-squared
stepwise-regression
zabidlo
la source
la source
Réponses:
Vous n'obtiendrez pas nécessairement le R le plus élevé2 car vous ne comparez qu'un sous-ensemble de modèles possibles et vous risquez de manquer celui avec le R le plus élevé2 qui comprendrait toutes les variables. Pour obtenir ce modèle, vous devez regarder tous les sous-ensembles. Mais le meilleur modèle n'est peut-être pas celui qui a le R le plus élevé2 car il se peut que vous vous ajustiez trop car il inclut toutes les variables.
la source
Voici un exemple de compteur utilisant des données générées aléatoirement et R:
whuber voulait le processus de réflexion: c'est surtout un contraste entre la curiosité et la paresse. Le post original parlait d'avoir 10 variables prédictives, c'est donc ce que j'ai utilisé. La corrélation de 0,9 était un bon chiffre rond avec une corrélation assez élevée, mais pas trop élevée (si elle est trop élevée, alors pas à pas ne prendrait probablement que 1 ou 2 prédicteurs), j'ai pensé que la meilleure chance de trouver un contre-exemple inclurait une bonne quantité de colinéarité. Un exemple plus réaliste aurait eu différentes corrélations différentes (mais toujours une bonne quantité de colinéarité) et une relation définie entre les prédicteurs (ou un sous-ensemble d'entre eux) et la variable de réponse. La taille de l'échantillon de 100 était également la première que j'ai essayée comme un joli chiffre rond (et la règle de base dit que vous devriez avoir au moins 10 observations par prédicteur). J'ai essayé le code ci-dessus avec les graines 1 et 2, puis j'ai enveloppé le tout dans une boucle et je l'ai fait essayer différentes graines séquentiellement. En fait, il s'est arrêté à la graine 3, mais la différenceR2 était à la 15e décimale, donc je me suis dit que c'était plus probablement une erreur d'arrondi et je l'ai redémarré avec la première arrondi de comparaison à 5 chiffres. J'ai été agréablement surpris qu'il ait trouvé une différence dès 15. S'il n'avait pas trouvé de contre-exemple dans un délai raisonnable, j'aurais commencé à peaufiner les choses (corrélation, taille de l'échantillon, etc.).
la source
Si vous voulez vraiment obtenir le meilleurR2 vous devez regarder (comme @Michael l'a dit) tous les sous-ensembles. Avec beaucoup de variables, ce n'est parfois pas faisable, et il existe des méthodes pour se rapprocher sans tester chaque sous-ensemble. Une méthode est appelée (IIRC) "sauts et limites" et se trouve dans le paquet R bondit.
Cependant, cela donnera des résultats très biaisés. les valeurs de p seront trop faibles, les coefficients biaisés loin de 0, les erreurs standard trop petites; et tout cela par des montants impossibles à estimer correctement.
La sélection pas à pas présente également ce problème.
Je recommande fortement contre toute méthode de sélection des variables automatisée, car la pire chose à leur sujet est qu'ils vous empêcher de penser; ou, pour le dire autrement, un analyste de données qui utilise des méthodes automatisées dit à son patron de le payer moins cher.
Si vous devez utiliser une méthode automatisée, vous devez séparer vos données en ensembles de formation et de test, ou éventuellement en ensembles de formation, de validation et finaux.
la source