Lors de la construction d'un modèle de régression à l'aide d'ensembles de modélisation / validation distincts, est-il approprié de «recirculer» les données de validation?


13

Supposons que j'ai un partage 80/20 entre les observations de modélisation / validation. J'ai ajusté un modèle à l'ensemble de données de modélisation et je suis à l'aise avec l'erreur que je vois sur l'ensemble de données de validation. Avant de déployer mon modèle pour noter les observations futures, est-il approprié de combiner la validation avec les données de modélisation pour obtenir des estimations de paramètres mises à jour sur les données à 100%? J'ai entendu deux points de vue à ce sujet:

  1. La validation que j'ai effectuée était une validation de la structure du modèle, c'est-à-dire l'ensemble des prédicteurs et des transformations que j'ai appliqués. Cela n'a pas de sens de laisser 20% de mes données sur la table quand je pourrais l'utiliser pour mettre à jour mes estimations.

  2. La validation que j'ai effectuée était en partie une validation des estimations de paramètres que j'ai calculées sur mon ensemble de données de modélisation. Si je mets à jour l'ajustement du modèle, j'ai changé les estimations et je n'ai plus de moyen objectif de tester les performances du modèle mis à jour.

J'ai toujours suivi l'argument n ° 1, mais plus récemment, j'ai entendu plusieurs personnes argumenter n ° 2. Je voulais voir ce que les autres en pensent. Avez-vous vu de bonnes discussions dans la littérature ou ailleurs sur ce sujet?

Réponses:


6

L'option 1 est la bonne. Vous pouvez ajouter l'ensemble de données de validation pour mettre à jour les paramètres de votre modèle.

Voilà la réponse. Laissez-nous maintenant en discuter. Le fait que ce que vous avez fait était votre option 1. ci-dessus est plus clair si vous avez effectué une validation croisée k-bootstrap (et vous auriez dû le faire - cela ne ressort pas clairement de votre question).

En validation croisée 5 fois, vous divisez les données que vous avez en 5 ensembles aléatoires de taille égale. Appelons-les A, B, C, D et E. Ensuite, vous apprenez les paramètres de votre modèle (du modèle lui-même) dans 4 des ensembles, disons A, B, C et D, et le testez ou le validez dans le cinquième modèle E. (Ce que vous avez fait). Mais ensuite, vous sélectionnez un autre ensemble comme test / validation (par exemple D) et apprenez à utiliser les 4 autres (A, B, C et E). Testez-le sur D, répétez.

L'erreur de votre modèle prédictif est l'erreur moyenne des 5 tests - et vous comprenez comment l'erreur prédictive dépend des ensembles d'apprentissage et de test. Dans le meilleur des cas, les 5 mesures d'erreur sont similaires et vous pouvez être raisonnablement sûr que votre modèle fonctionnera à ce niveau à l'avenir.

Mais quel modèle ?? Pour chaque ensemble d'ensembles d'apprentissage, vous aurez un paramètre différent pour le modèle. L'apprentissage avec A, B, C, D génère un ensemble de paramètres P1, l'apprentissage avec A, B, C, E, l'ensemble de paramètres P2, jusqu'à P5. Aucun d'eux n'est votre modèle.

Ce que vous avez testé est l'erreur attendue d'une procédure de construction de modèles , la procédure que vous avez suivie lorsque l'ensemble d'apprentissage était A, B, C, D et quand il s'agissait de A, B, C, E, etc. C'est cette procédure qui génère un modèle avec cette erreur attendue.

Alors, quel est le modèle final? C'est l'application de la procédure dans toutes les données dont vous disposez (A, B, C, D et E). Un nouveau modèle avec le jeu de paramètres P0, que vous n'avez jamais généré auparavant, vous n'avez pas de données pour le tester (puisque vous avez "utilisé" toutes les données pour déterminer les paramètres P0) et pourtant vous avez une attente raisonnable qu'il fonctionnera à l'avenir données que les autres modèles (P1, P2 ...) construits en utilisant la même procédure.

Que se passe-t-il si vous n'avez pas effectué de validation croisée ou de bootstrap (le bootstrap est un peu plus complexe à expliquer - je laisse de côté cette discussion)? Que se passe-t-il si vous n'avez effectué qu'une seule division d'apprentissage / validation et une mesure d'erreur. Ensuite, l'argument 2. peut être quelque peu correct, mais vous avez un problème plus important - vous n'avez qu'une seule mesure de l'erreur du modèle et vous ne savez pas dans quelle mesure cette erreur dépend des données utilisées pour la valider. Peut-être que, par chance, votre ensemble de validation à 20% était particulièrement facile à prévoir. N'ayant pas effectué plusieurs mesures d'erreur, il sera très risqué de supposer que le taux d'erreur attendu de votre modèle prédictif restera le même pour les données futures.

Quel est le "plus gros risque"? Supposer que cette erreur restera fondamentalement la même pour les données futures, ou supposer que l'ajout de données pour apprendre votre modèle va en quelque sorte «bousiller» le modèle et augmenter son taux d'erreur à l'avenir? Je ne sais pas vraiment comment répondre à cela, mais je me méfierais des modèles qui empirent avec plus de données ...

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.