Comment choisir un modèle à partir de cette sortie [validation croisée externe]?
Réponse courte: vous ne le faites pas.
Traitez la validation croisée interne dans le cadre de la procédure d’ajustement du modèle. Cela signifie que l’ajustement, y compris l’ajustement des hyper-paramètres (c’est là que se cache la validation croisée interne), est semblable à n’importe quelle autre routine d’esitmation de modèle.
La validation croisée externe estime la performance de cette approche d'ajustement du modèle. Pour cela, vous utilisez les hypothèses habituelles
- k
model.fitting.procedure
- k
k
Alors, comment puis-je utiliser un CV imbriqué pour la sélection de modèle?
Le CV interne fait la sélection.
Il me semble que la sélection du meilleur modèle parmi ces K modèles gagnants ne serait pas une comparaison équitable puisque chaque modèle a été formé et testé sur différentes parties du jeu de données.
k
- Ne pas avoir les mêmes données de test: comme vous voulez affirmer par la suite que les résultats du test se généralisent pour ne jamais voir des données, cela ne peut pas changer les choses.
- Ne pas avoir les mêmes données d'entraînement:
- si les modèles sont stables, cela ne fait aucune différence: Stable signifie ici que le modèle ne change pas (beaucoup) si les données d'apprentissage sont "perturbées" en remplaçant quelques cas par d'autres.
- si les modèles ne sont pas stables, trois considérations sont importantes:
- k
- k
- Si l'instabilité est un problème réel, vous ne pouvez pas bien extrapoler les performances du modèle "réel".
Ce qui m'amène à votre dernière question:
Quels types d'analyses / contrôles puis-je faire avec les scores que je reçois à partir des plis K extérieurs?
- vérifier la stabilité des prévisions (utiliser la validation croisée itérée / répétée)
vérifier la stabilité / variation des hyper-paramètres optimisés.
D'une part, les hyper-paramètres très dispersés peuvent indiquer que l'optimisation interne n'a pas fonctionné. D'autre part, cela peut vous permettre de choisir les hyperparamètres sans l'étape d'optimisation coûteuse dans des situations similaires à l'avenir. Avec coûteuse, je ne parle pas de ressources de calcul, mais du fait que cette information "coûte" peut être mieux utilisée pour estimer les paramètres de modèle "normaux".
vérifiez la différence entre l'estimation interne et externe du modèle choisi. S'il y a une grande différence (l'intérieur est très suroptimiste), il y a un risque que l'optimisation interne ne fonctionne pas bien en raison de la sur-adaptation.
update @ user99889: Que faire si le CV externe détecte une instabilité?
Tout d'abord, détecter dans la boucle CV externe que les modèles ne donnent pas de prédictions stables à cet égard ne diffère pas vraiment de la détection du fait que l'erreur de prédiction est trop élevée pour l'application. C'est l'un des résultats possibles de la validation (ou de la vérification) du modèle, ce qui implique que le modèle que nous avons n'est pas adapté à son objectif.
Dans le commentaire répondant à @davips, je pensais aborder l'instabilité du CV interne - c'est-à-dire dans le cadre du processus d'optimisation du modèle.
Mais vous avez certainement raison: si nous modifions notre modèle en fonction des conclusions du CV externe, un autre cycle de tests indépendants du modèle modifié est nécessaire.
Cependant, l’instabilité dans le CV externe signifierait également que l’optimisation n’a pas été correctement configurée - donc, trouver l’instabilité dans le CV externe implique que le CV interne ne pénalise pas l’instabilité de la manière nécessaire - ce serait là mon principal objectif. critique dans une telle situation. En d'autres termes, pourquoi l'optimisation permet-elle / conduit-elle à des modèles fortement sur-équipés?
Cependant, il y a une particularité ici que IMHO peut excuser le changement ultérieur du modèle "final" après un examen attentif des circonstances exactes : comme nous avons détecté un surajustement, tout changement proposé (moins de df / plus restrictif ou agrégé) au modèle être dans le sens de la sur- adaptation moins (ou au moins des hyperparamètres qui sont moins enclins à sur-adapter). Le point de test indépendant est de détecter le surajustement - le sous-ajustement peut être détecté par les données déjà utilisées dans le processus de formation.
Donc, si nous parlons, par exemple, d’une réduction supplémentaire du nombre de variables latentes dans un modèle de PLS qui serait comparativement inoffensif (si le changement proposé était un type de modèle totalement différent, disons PLS au lieu de SVM, tous les paris seraient décevants. ), et je serais encore plus serein à ce sujet si je savais que nous en sommes de toute façon à une étape intermédiaire de la modélisation. Après tout, si les modèles optimisés sont toujours instables, il ne fait aucun doute que davantage de cas sont nécessaires. En outre, dans de nombreuses situations, vous devrez éventuellement réaliser des études conçues pour tester correctement divers aspects des performances (par exemple, la généralisation aux données acquises ultérieurement). Néanmoins, j’insisterais pour que le processus de modélisation complet soit signalé et que les implications de ces modifications tardives fassent l’objet d’une discussion approfondie.
En outre, une agrégation incluant et une estimation de la performance du CV analogique en sortie de sac serait possible à partir des résultats déjà disponibles - qui est l'autre type de "post-traitement" du modèle que je serais prêt à considérer comme inoffensif ici. Encore une fois, il aurait été préférable que l’étude soit conçue dès le départ pour vérifier que l’agrégation ne présente aucun avantage par rapport aux prédictions individuelles (ce qui est une autre façon de dire que les modèles individuels sont stables).
Mise à jour (2019): plus je pense à ces situations, plus je privilégie l' approche de la "validation croisée imbriquée apparemment sans imbrication" .