J'ai du mal à me retrouver sur la même longueur d'onde que mon supérieur quand il s'agit de valider mon modèle. J'ai analysé les résidus (observés par rapport aux valeurs ajustées) et je l'ai utilisé comme argument pour discuter des résultats obtenus par mon modèle, mais mon superviseur insiste sur le fait que la seule façon de valider un modèle est de faire un sous-ensemble aléatoire de mes données, générer le modèle avec 70% de celui-ci, puis appliquer le modèle sur les 30% restants.
Le truc, c'est que ma variable de réponse est gonflée à zéro (85%, pour être plus précis) et je préfère ne pas créer de sous-ensemble car il est déjà très difficile de converger vers un résultat.
Donc, ma question est: quelles sont les façons possibles (et scientifiquement acceptables) de valider un modèle? Le sous-ensemble de données est-il le seul moyen? Si possible, référencez vos questions avec des articles / livres afin que je puisse l'utiliser comme argument lors de la présentation de mes alternatives.
la source
Réponses:
Pour commencer, je dirais qu'il est généralement bon de se méfier des déclarations qu'il n'y a que l' unfaçon de faire quelque chose. Le fractionnement d'un échantillon obtenu en un ensemble de données de «formation» et de «test» est une approche courante dans de nombreuses applications d'apprentissage automatique / science des données. Souvent, ces approches de modélisation sont moins intéressées par les tests d'hypothèses sur un processus de génération de données sous-jacent, c'est-à-dire qu'elles ont tendance à être quelque peu théoriques. En fait, la plupart de ces types de divisions formation / test veulent simplement voir si le modèle est trop adapté en termes de performances prédictives. Bien sûr, il est également possible d'utiliser une approche de formation / test pour voir si un modèle donné se réplique en termes de paramètres «significatifs», ou pour voir si les estimations des paramètres se situent dans les plages attendues dans les deux cas.
En théorie, valider ou invalider des modèles est ce que la science, en gros, est censée faire. Des chercheurs indépendants, examinant, générant et testant séparément des hypothèses qui soutiennent ou réfutent les arguments sur une théorie pour expliquer pourquoi ou dans quelles circonstances un phénomène observable se produit - c'est l'entreprise scientifique en un mot (ou au moins dans une phrase trop longue). Donc, pour répondre à votre question, pour moi, même les divisions formation / test ne "valident" pas un modèle. C'est quelque chose qui prend le poids d'années de preuves amassées par plusieurs chercheurs indépendants étudiant le même ensemble de phénomènes. Cependant, je vais admettre que cette prise de vue peut être quelque chose d'une différence dans la sémantique sur ce que je considère comme la validation du modèle par rapport à ce que le terme validation a fini par signifier dans les paramètres appliqués ...
Selon vos données et votre approche de modélisation, il peut ne pas toujours être approprié d'un point de vue statistique de diviser votre échantillon en ensembles de formation et de test. Par exemple, de petits échantillons peuvent être particulièrement difficiles à appliquer à cette approche. De plus, certaines distributions peuvent avoir certaines propriétés qui les rendent difficiles à modéliser même avec des échantillons relativement gros. Votre coque gonflée à zéro correspond probablement à cette dernière description. Si le but est d'obtenir une approximation de la «vérité» sur un ensemble de relations ou de processus sous-jacents censés expliquer un phénomène, vous ne serez pas bien servi en adoptant sciemment une approche sous-alimentée pour tester une hypothèse donnée. Alors peut-être que la première étape consiste à effectuer une analyse de puissance pour voir si vous seriez même susceptible de reproduire la constatation d'intérêt dans vos données sous-définies.
Une autre option consiste à spécifier plusieurs modèles pour voir s'ils "mieux" expliquent les données observées. Le but ici serait d'identifier le meilleur modèle parmi un ensemble d'alternatives raisonnables. Il s'agit d'un argument relatif, et non absolu, que vous feriez au sujet de votre modèle. Essentiellement, vous admettez qu'il peut y avoir d'autres modèles qui pourraient être proposés pour expliquer vos données, mais votre modèle est le meilleur de l'ensemble testé d'alternatives (du moins vous l'espérez). Tous les modèles de l'ensemble, y compris votre modèle hypothétique, doivent être théoriquement fondés; sinon, vous courez le risque de créer un groupe d'hommes de paille statistiques.
Il existe également des facteurs Bayes dans lesquels vous pouvez calculer le poids des preuves fournies par votre modèle, compte tenu de vos données, pour une hypothèse spécifique relative à des scénarios alternatifs.
C'est loin d'être une liste exhaustive d'options, mais j'espère que cela aide. Je vais quitter la boîte à savon maintenant. N'oubliez pas que chaque modèle de chaque étude publiée sur le comportement humain est incorrect. Il y a presque toujours des variables omises pertinentes, des interactions non modélisées, des populations imparfaitement échantillonnées et juste une vieille erreur d'échantillonnage en jeu obscurcissant la vérité sous-jacente.
la source
Le fractionnement des données est en général un moyen très non compétitif de faire une validation interne. C'est à cause de la forte volatilité - modèle «final» différent et «validation» différent lors de la nouvelle répartition, et parce que l'erreur quadratique moyenne de l'estimation (des choses comme l'erreur de prédiction absolue moyenne etR2 ) est supérieur à une bonne procédure de rééchantillonnage comme le bootstrap. J'entre en détail dans mon livre sur les stratégies de modélisation de la régression et mes notes de cours. Le rééchantillonnage a un autre avantage majeur: exposer la volatilité dans la sélection des fonctionnalités.
la source
Je pense que les réponses divergent ici parce que la question est quelque peu floue, avant tout: que voulez-vous dire par «validation»?
Une répartition 70/30 (ou une validation croisée d'ailleurs) est généralement effectuée pour évaluer la performance prédictive d'un modèle ou d'une chaîne d'analyse entière (y compris éventuellement la sélection du modèle). Une telle validation est particulièrement importante si vous comparez différentes options de modélisation en termes de performances prédictives.
C'est un autre cas entièrement si vous ne voulez pas sélectionner de modèles, et que vous n'êtes pas non plus intéressé par les performances prédictives en tant que telles, mais que vous êtes intéressé par l'inférence (estimations de régression / valeurs p), et que vous souhaitez valider si votre modèle / les hypothèses d'erreur du GLMM sont adéquats. Dans ce cas, il serait possible de prédire le maintien et de comparer les prévisions aux données observées, mais la procédure de loin la plus courante consiste à effectuer une analyse résiduelle. Si vous devez prouver cela à votre superviseur: c'est essentiellement ce que tous les manuels de statistiques enseignent à faire juste après la régression linéaire.
Voir ici pour savoir comment exécuter une analyse résiduelle des GLMM (y compris une inflation zéro avec glmmTMB, que je préférerais par rapport à glmmadmb) avec le package DHARMa (avertissement: je suis le responsable).
la source
La réponse courte est oui, vous devez évaluer les performances de votre modèle sur les données non utilisées dans la formation.
Les techniques modernes de construction de modèles sont extrêmement efficaces pour ajuster arbitrairement des données et peuvent facilement trouver un signal dans le bruit. Ainsi, la performance d'un modèle sur les données d'entraînement est presque toujours biaisée.
Il vaut la peine que vous exploriez le sujet de la validation croisée (même si vous ne réglez pas les hyperparamètres) pour mieux comprendre pourquoi nous détenons des données, quand elles fonctionnent, quelles hypothèses sont impliquées, etc. L'un de mes articles préférés est :
Aucun estimateur non biaisé de la variance de la validation croisée multipliée par k
la source
rms
packagevalidate
et lescalibrate
fonctions R. Avec ce bootstrap, il n'y a pas de décisions ponctuelles sur la conservation des données. Comme mon livre RMS et mes notes de cours le décrivent en détail, la quantité de sur-ajustement est estimée en voyant à quel point un modèle développé dans un échantillon bootstrap se désagrège lorsqu'il est appliqué à l'échantillon complet d'origine (chevauchant). Le bootstrap doit répéter toutes les étapes de modélisation à nouveau pour chaque itération.