Validation croisée interne et externe et sélection du modèle

26

Je crois comprendre qu'avec la validation croisée et la sélection de modèles, nous essayons de résoudre deux choses:

P1 . Estimer la perte attendue sur la population lors de la formation avec notre échantillon

P2 . Mesurer et rendre compte de notre incertitude sur cette estimation (variance, intervalles de confiance, biais, etc.)

La pratique standard semble être de faire des validations croisées répétées, car cela réduit la variance de notre estimateur.

Cependant, en matière de reporting et d'analyse, je crois comprendre que la validation interne est meilleure que la validation externe car:

Il vaut mieux signaler:

  • Les statistiques de notre estimateur, par exemple son intervalle de confiance, sa variance, sa moyenne, etc. sur l'échantillon complet (dans ce cas l'échantillon CV).

que de signaler:

  • La perte de notre estimateur sur un sous-ensemble résiduel de l'échantillon d'origine, puisque:

    (i) Ce serait une mesure unique ( même si nous choisissons notre estimateur avec CV )

    (ii) Notre estimateur pour cette mesure unique aurait été formé sur un ensemble (par exemple l'ensemble CV) qui est plus petit que notre échantillon initial, car nous devons faire de la place pour l'ensemble d'exclusion. Il en résulte une estimation plus biaisée (pessimiste) de P1 .

Est-ce correct? Sinon pourquoi?

Contexte:

Il est facile de trouver des manuels qui recommandent de diviser votre échantillon en deux ensembles:

  • L' ensemble de CV , qui est ensuite et à plusieurs reprises divisé en ensembles de formation et de validation .
  • L'ensemble de maintien (test), utilisé uniquement à la fin pour rendre compte des performances de l'estimateur

Ma question est une tentative de comprendre les mérites et les avantages de cette approche de manuels scolaires, étant donné que notre objectif est de vraiment résoudre les problèmes P1 et P2 au début de cet article. Il me semble que le reporting sur l'ensemble de test de maintien est une mauvaise pratique car l'analyse de l'échantillon de CV est plus informative.

Pli en K imbriqué vs pli en K répété:

On peut en principe combiner le maintien avec le pli en K régulier pour obtenir le pli en K imbriqué . Cela nous permettrait de mesurer la variabilité de notre estimateur, mais il me semble que pour le même nombre de modèles totaux formés (nombre total de plis), le pli K répété produirait des estimateurs qui sont moins biaisés et plus précis que le K- imbriqué. plier. Pour voir ceci:

  • Le pli K répété utilise une plus grande fraction de notre échantillon total que le pli K emboîté pour le même K (c'est-à-dire qu'il conduit à un biais plus faible)
  • 100 itérations ne donneraient que 10 mesures de notre estimateur en K-fold imbriqué (K = 10), mais 100 mesures en K-fold (plus de mesures conduisent à une variance plus faible en P2 )

Quel est le problème avec ce raisonnement?

Amelio Vazquez-Reina
la source
1
J'ai modifié votre titre pour qu'il soit plus spécifique à ce que je suppose que vous voulez savoir. Je pense que vous êtes plus susceptible d'obtenir les informations dont vous avez besoin de cette façon. N'hésitez pas à le modifier en cas de désaccord. Notez également que ce fil est devenu automatiquement CW en raison du nombre élevé de modifications. Si vous ne voulez pas que ce soit CW, signalez-le à l'attention du modérateur; il devrait être possible d'inverser cela (je pense).
gung - Rétablir Monica
1
Merci @gung. Ma seule préoccupation est que certaines personnes puissent confondre le maintien avec un CV double , avec cela, je pense que le CV interne vs externe comme dans Steyerberg03 est plus clair
Amelio Vazquez-Reina

Réponses:

20

Permettez-moi d'ajouter quelques points aux belles réponses qui sont déjà là:

Pli en K imbriqué vs pli en K répété: les plis en K imbriqués et répétés sont des choses totalement différentes, utilisées à des fins différentes.

  • Comme vous le savez déjà , imbriqué est bon si vous souhaitez utiliser le cv interne pour la sélection du modèle.
  • répété: À mon humble avis, vous devez toujours répéter le k-fold cv [voir ci-dessous].

Je recommande donc de répéter toute validation croisée imbriquée k-fold .

Meilleur rapport "Les statistiques de notre estimateur, par exemple son intervalle de confiance, sa variance, sa moyenne, etc. sur l'échantillon complet (dans ce cas l'échantillon CV)." :

Sûr. Cependant, vous devez être conscient du fait que vous ne pourrez pas (facilement) estimer l'intervalle de confiance uniquement par les résultats de la validation croisée. La raison en est que, même si vous rééchantillonnez, le nombre réel de cas que vous examinez est fini (et généralement assez petit - sinon vous ne vous soucieriez pas de ces distinctions).
Voir par exemple Bengio, Y. et Grandvalet, Y .: No Unbias Estimator of the Variance of K-Fold Cross-Validation Journal of Machine Learning Research, 2004, 5, 1089-1105 .

Cependant, dans certaines situations, vous pouvez néanmoins faire des estimations de la variance: avec la validation croisée répétée k-fold, vous pouvez avoir une idée si l'instabilité du modèle joue un rôle. Et cette variance liée à l'instabilité est en fait la partie de la variance que vous pouvez réduire par une validation croisée répétée. (Si vos modèles sont parfaitement stables, chaque répétition / itération de la validation croisée aura exactement les mêmes prédictions pour chaque cas. Cependant, vous avez toujours une variance en raison du choix / composition réelle de votre ensemble de données). Il y a donc une limite à la variance inférieure de la validation croisée répétée k-fold. Faire de plus en plus de répétitions / itérations n'a pas de sens, car la variance causée par le fait qu'au final, seuls cas réels ont été testés n'est pas affectée. n

La variance causée par le fait qu'au final, seuls cas réels ont été testés peut être estimée pour certains cas spéciaux, par exemple les performances des classificateurs mesurées par des proportions telles que le taux de réussite, le taux d'erreur, la sensibilité, la spécificité, les valeurs prédictives, etc. : ils suivent des distributions binomiales Malheureusement, cela signifie qu'ils ont une énorme variance avec la vraie valeur de performance du modèle, la valeur observée et la taille de l'échantillon dans le dénominateur de la fraction. Cela a le maximum pournσ2(p^)=1np(1-p)pp^np=0,5. Vous pouvez également calculer des intervalles de confiance à partir de l'observation. (@Frank Harrell commentera qu'il ne s'agit pas de règles de notation appropriées, vous ne devriez donc pas les utiliser de toute façon - ce qui est lié à l'énorme écart). Cependant, à mon humble avis, ils sont utiles pour dériver des limites conservatrices (il existe de meilleures règles de notation et le mauvais comportement de ces fractions est la pire des cas pour les meilleures règles),
voir par exemple C.Beleites, R. Salzer et V. Sergo: Validation des modèles de classification souple à l'aide d'appartenance à une classe partielle: un concept étendu de sensibilité & Co. appliqué à la classification des tissus d'astrocytome, Chemom. Intell. Laboratoire. Syst., 122 (2013), 12-22.

Cela me permet donc de tourner votre argumentation contre le hold-out :

  • Le rééchantillonnage ne vous donne pas non plus (nécessairement) une bonne estimation de la variance,
  • OTOH, si vous pouvez raisonner sur la variance de la taille d'échantillon de test fini de l'estimation de validation croisée, cela est également possible pour tenir le coup.

Notre estimateur pour cette mesure unique aurait été formé sur un ensemble (par exemple l'ensemble CV) qui est plus petit que notre échantillon initial, car nous devons faire de la place pour l'ensemble d'exclusion. Il en résulte une estimation plus biaisée (pessimiste) dans P1.

Pas nécessairement (si on le compare à k-fold) - mais il faut faire un compromis: petit ensemble de maintien (par exemple de l'échantillon => faible biais (≈ identique à k-fold cv), variance élevée (> cv fois k, environ d'un facteur k).1k

Il me semble que le reporting sur l'ensemble de test de maintien est une mauvaise pratique car l'analyse de l'échantillon de CV est plus informative.

D'habitude, oui. Cependant, il est également bon de garder à l'esprit qu'il existe des types importants d'erreurs (tels que la dérive) qui ne peuvent pas être mesurés / détectés par la validation du rééchantillonnage.
Voir par exemple Esbensen, KH et Geladi, P. Principes de bonne validation: utilisation et abus du rééchantillonnage pour validation, Journal of Chemometrics, 2010, 24, 168-187

mais il me semble que pour le même nombre de modèles totaux entraînés (nombre total de plis), le pli K répété produirait des estimateurs qui sont moins biaisés et plus précis que le pli K imbriqué. Pour voir ceci:

Le pli K répété utilise une plus grande fraction de notre échantillon total que le pli K emboîté pour le même K (c'est-à-dire qu'il conduit à un biais plus faible)

Je dirais non à cela: peu importe la façon dont la formation du modèle utilise ses échantillons de formation , tant que les modèles de substitution et le "vrai" modèle les utilisent de la même manière. façon. (Je regarde la validation croisée interne / estimation des hyper-paramètres dans le cadre de la configuration du modèle). Les choses semblent différentes si vous comparez les modèles de substitution qui sont entraînés, y compris l'optimisation hyperparamétrique, au "modèle" qui est entraîné sur des hyperparamètres fixes. Mais à mon humble avis qui se généralise de pommes à 1 orange.k-1kn
k

100 itérations ne donneraient que 10 mesures de notre estimateur en K-fold imbriqué (K = 10), mais 100 mesures en K-fold (plus de mesures conduisent à une variance plus faible en P2)

La question de savoir si cela fait une différence dépend de l'instabilité des modèles (de substitution), voir ci-dessus. Pour les modèles stables, cela n'a pas d'importance. Il en va peut-être de même si vous effectuez 1000 ou 100 répétitions / itérations externes.


Et cet article appartient définitivement à la liste de lecture sur ce sujet: Cawley, GC et Talbot, NLC On Over-fiting in Model Selection and Subsequent Selection Bias in Performance Evaluation, Journal of Machine Learning Research, 2010, 11, 2079-2107

cbeleites soutient Monica
la source
6

Une référence clé expliquant cela est:

@ARTICLE{pic90,
  author = {Picard, R. R. and Berk, K. N.},
  year = 1990,
  title = {Data splitting},
  journal = The American Statistician,
  volume = 44,
  pages = {140-147}
}

Voir également:

@Article{mic05pre,
  author =       {Michiels, Stefan and Koscielny, Serge and Hill, Catherine},
  title =        {Prediction of cancer outcome with microarrays: a
multiple random validation strategy},
  journal =      {Lancet},
  year =         2005,
  volume =       365,
  pages =        {488-492},
  annote =       {comment on
p. 454; validation;microarray;bioinformatics;machine learning;nearest
centroid;severe problems with data splitting;high variability of list
of genes;problems with published studies;nice results for effect of
training sample size on misclassification error;nice use of confidence
intervals on accuracy estimates;unstable molecular signatures;high
instability due to dependence on selection of training sample}
}

Dans mon propre travail, j'ai constaté que le fractionnement des données nécessite une formation et des tailles d'échantillons de test approchant les 10 000 pour fonctionner de manière satisfaisante.

Frank Harrell
la source
Frank - Ce sont d'excellentes ressources. Je me demande comment ces informations sont liées à ce que @Dan a fourni dans sa réponse. Je me trompe peut-être, mais il semble que la communauté soit divisée sur cette question.
Amelio Vazquez-Reina
Je n'ai pas eu le temps de lire le premier, mais comme pour le second, j'ai jeté un coup d'œil rapide et il semble faire écho exactement à ce que disaient mes papiers. Jetez un coup d'œil à la section "Analyse statistique", et vous verrez qu'ils décrivent le même processus de sélection des fonctionnalités que Dikran décrit dans le post que j'ai lié ci-dessus. Je suppose que les personnes qu'ils ont étudiées ne l'ont pas fait de cette façon, et c'est pourquoi ils trouvent que "En raison d'une validation inadéquate, nos études choisies ont publié des résultats trop optimistes par rapport à ceux de nos propres analyses". Je ne pense pas qu'il y ait de désaccord.
Dan L
4

Cela dépend vraiment de votre processus de construction de modèles, mais j'ai trouvé cet article utile

http://www.biomedcentral.com/content/pdf/1471-2105-7-91.pdf

Le nœud de ce qui est discuté ici est le biais libéral significatif (estimer la performance du modèle pour être meilleure qu'elle ne le sera réellement) qui se produira si vous sélectionnez votre modèle en fonction de la même chose que vous utilisez pour estimer sa performance. Donc, si vous sélectionnez votre modèle à partir d'un ensemble de modèles possibles en examinant son erreur de validation croisée, vous ne devez pas utiliser d'erreur de validation croisée (ou toute autre méthode d'estimation interne) pour estimer les performances du modèle.

Une autre ressource utile est

/stats//a/27751/26589

Cet article présente un exemple clair de la façon dont la sélection de vos fonctionnalités lorsque toutes les données sont "vues" entraînera un biais libéral dans les performances du modèle (en disant que votre modèle fonctionnera mieux qu'il ne le fera réellement).

Si vous souhaitez que je donne un exemple plus spécifique à ce que vous faites, vous pouvez peut-être donner une description générale des types de modèles que vous créez (la quantité de données dont vous disposez, le nombre de fonctionnalités que vous sélectionnez, la modèle réel, etc.).

Dan L
la source
Merci Dan. Tout cela est intéressant. Pour simplifier, nous pouvons supposer que nous essayons d'estimer les paramètres du noyau d'un SVM (par exemple un noyau RBF) pour la classification binaire (<~ 10 paramètres) et que nous travaillons avec 100 échantillons (par exemple 20 positifs) d'une grande population.
Amelio Vazquez-Reina
Quelques questions rapides. 1) Lorsque vous construisez vos SVM, vous autorisez-vous à choisir un sous-ensemble des 10 paramètres, ou utilisez-vous toujours tous ceux qui vous sont remis? 2) Avez-vous déjà envisagé différents noyaux ou modèles (logistique, forêt aléatoire, etc.)? 3) Quel logiciel / package utilisez-vous? Les implémentations de validation croisée intégrées varient et j'aimerais savoir laquelle vous utiliseriez.
Dan L
Merci @Dan - Je fais une recherche dans la grille à travers les modèles et les paramètres (c'est-à-dire que les noyaux et les paramètres sont différents à travers la recherche dans la grille). Pour chaque expérience de la recherche sur la grille, je fais un CV (validation croisée répétée du facteur K). J'utilise scikit-learn.
Amelio Vazquez-Reina
1
Merci @Dan. Je suppose que ma seule question qui reste sur la validation croisée imbriquée est de savoir comment choisir le modèle (car j'obtiens un modèle différent dans chaque pli de la boucle externe). Il ne me semblerait pas raisonnable de choisir le modèle qui a le score le plus élevé dans cette boucle externe, car le modèle gagnant dans chaque pli est mesuré par rapport à une partie différente de l'ensemble de données.
Amelio Vazquez-Reina
1
Disons que vous avez 3 plis extérieurs. Cela signifie que vous exécutez un processus de création de modèle complet 3 fois, ce qui vous donne trois modèles différents. En fin de compte, vous n'utilisez aucun de ces modèles - pour obtenir votre modèle final, vous exécutez l'intégralité du processus de création de modèle sur toutes vos données (à l'exception peut-être d'un ensemble d'évaluation indépendant). Il semble que cela conduirait à un sur-ajustement, mais si votre stratégie de construction de modèle convient, elle devrait également s'adapter à la validation croisée externe, conduisant à une estimation d'erreur plus élevée.
Dan L
2

Je pense que votre compréhension est correcte, l'estimateur de perte obtenu en utilisant un seul ensemble de tests de maintien a généralement une variance élevée. En effectuant quelque chose comme la validation croisée des plis en K, vous obtenez une idée plus précise de la perte, ainsi qu'un sens de la distribution de la perte.

Il y a généralement un compromis, plus le CV se replie, meilleure est votre estimation, mais plus de temps de calcul est nécessaire.

Max S.
la source
Merci. J'ai ajouté un élément d'information au PO pour clarifier davantage ma question.
Amelio Vazquez-Reina