Bienvenue dans Analytics en toute confiance. Dans cette série, j'explore la clé du succès avec l'analyse de données moderne : la validation. Dans le d'abord et deuxième Dans nos articles, nous avons discuté de la généralisabilité et vu comment créer des modèles problématiques qui ne se généralisent pas. Dans cet article, nous poursuivons l'étude de cas sur les recettes de réaction et introduisons la validation des retenues comme un outil simple pour créer des modèles auxquels vous pouvez faire confiance.
N'oubliez pas que dans cette étude de cas, nous examinons des recettes permettant de fabriquer un produit chimique de grande valeur [1]. Il existe 4 608 variantes possibles de choix d'ingrédients (4 électrophiles x 3 nucléophiles x 12 ligands x 8 bases x 4 solvants). Nous souhaitons utiliser les données de seulement 150 des recettes possibles pour construire un modèle permettant de prédire le rendement de n'importe quelle recette et de trouver les meilleures combinaisons d'ingrédients.
Le modèle de partition que nous avons construit la dernière fois avait fière allure à première vue, avec un RSquare de 0,985 et un graphique réel/prédit qui montrait un excellent ajustement aux données. Mais nous avons ensuite examiné comment les prédictions du modèle se comparaient aux rendements réels pour l'ensemble des 4 458 recettes qui ne figuraient pas dans les données d'entraînement. Le modèle prévoyait des rendements proches de 100 % pour plusieurs recettes qui avaient en réalité des rendements proches de 0 !
Actual versus Predicted plots for the data that was used to train the model (left) and the data for all the other recipes that were not used to train the model (right). This is an example of an "overfit" model that does not generalize.Graphiques réels et prédits pour les données utilisées pour entraîner le modèle (à gauche) et les données pour toutes les autres recettes qui n'ont pas été utilisées pour entraîner le modèle (à droite). Il s’agit d’un exemple de modèle « surajusté » qui ne se généralise pas.
Comment pouvons-nous éviter de créer des types de modèles qui semblent bons sur les données d'entraînement, pour ensuite constater qu'ils ne se généralisent pas lorsqu'ils sont testés sur des données invisibles ? Et comment pouvons-nous nous assurer que nos modèles ne sont pas inutilement complexes ?
Une idée qui vous est peut-être venue serait de valider le modèle par rapport à des données invisibles à chaque étape du processus de construction. Nous aurions pu nous arrêter après chaque division de l'arbre de décision pour vérifier le réel par rapport au prédit (et le RSquare) pour les 4 458 recettes qui n'ont pas été utilisées pour entraîner le modèle. Nous pourrions sélectionner le meilleur modèle comme étant celui où l’ajustement aux données invisibles est le meilleur. Et nous saurions dans quelle mesure nous pouvons nous attendre à ce qu’il fonctionne.
Bien entendu, il s’agit d’une situation artificielle. Si nous disposions des données pour toutes les recettes possibles, nous n’en retiendrions pas la plupart pour valider le modèle. Pouvons-nous utiliser la même idée mais en utilisant les données uniquement pour les 150 recettes ?
Présentation… Créer une colonne de validation
Oui, il existe un outil pour cela. Créer une colonne de validation dans JMP Pro marquera une partie des lignes de votre table de données à retenir et à utiliser comme validation à chaque étape du processus de création de modèle. Il existe diverses options utiles que nous explorerons dans des articles ultérieurs, mais pour cet exemple, nous resterons simples et nous en tiendrons aux valeurs par défaut.
The Make Validation Column tool in JMP Pro (Analyze > Predictive Modeling). In this example, we stick with the defaults to make a Random Validation Column and click OK.L'outil Créer une colonne de validation dans JMP Pro (Analyser > Modélisation prédictive). Dans cet exemple, nous nous en tenons aux valeurs par défaut pour créer une colonne de validation aléatoire et cliquons sur OK.
Nous irons avec le 0,75/0,25 suggéré répartition formation/validation, ce qui signifie que 37 des 150 lignes de données seront retenues pour validation.
The default 0.75/0.25 training/validation split in Make Validation Column. Enter “1234” as the Random Seed if you want to follow along in JMP Pro and get the same results.La répartition formation/validation par défaut de 0,75/0,25 dans la colonne Make Validation. Entrez « 1234 » comme valeur de départ aléatoire si vous souhaitez suivre dans JMP Pro et obtenir les mêmes résultats.
Nous avons maintenant une colonne Validation dans notre tableau de données qui marque 37 des lignes pour la validation et les autres pour la formation :
Validation column in our data table that marks 37 of the rows for validation and the others for trainingColonne de validation dans notre tableau de données qui marque 37 des lignes pour la validation et les autres pour la formation
Maintenant, répétons le modèle de partition que nous avons créé dans le post n°2, mais avec validation. L'étape clé ici consiste à ajouter la colonne Validation dans le rôle Validation lorsque vous lancez la partition.
Partition model with validationModèle de partition avec validation
Le premier découpage est le même que pour notre modèle sans validation. Mais maintenant, nous pouvons voir le RSquare à la fois pour les données d'entraînement et les données de validation. L'ajustement aux données de validation n'est pas aussi bon pour les données d'entraînement (RSquare = 0,133 contre 0,224).

Nous pouvons appuyer sur Go et l'algorithme explorera un certain nombre de divisions, puis reviendra à l'arbre qui avait le RSquare de validation maximum, c'est-à-dire le modèle qui prédit le mieux les données que nous avons retenues. Dans ce cas, Validation RSquare (en rouge) a culminé à cinq divisions. Au-delà de ce point, le modèle devenait plus complexe et s'adaptait mieux aux données d'entraînement, mais il était surajusté au bruit plutôt que de trouver des modèles qui se généralisaient à des données invisibles. Nous pouvons même revenir à quatre divisions puisque le Validation RSquare est le même et le modèle est plus simple.

Et les autres modèles ?
Il existe une variété d’autres types de modèles statistiques et d’apprentissage automatique que nous pourrions utiliser. Un autre avantage de la validation des retenues est qu'elle nous permet de créer et de comparer rapidement des modèles validés et de découvrir lesquels fonctionnent le mieux. La plateforme Model Screening de JMP Pro rend cela très simple. Dans ce cas, nous constatons qu'un modèle Boosted Tree a le RSquare de validation le plus élevé :
Model Screening report showing the Boosted Tree has a slightly better Validation RSquare than the Decision Tree and the other statistical and machine learning methods.Rapport de sélection du modèle montrant que l'arbre boosté a un RSquare de validation légèrement meilleur que l'arbre de décision et les autres méthodes statistiques et d'apprentissage automatique.
Maintenant, lorsque nous examinons les performances de ce modèle Booted Tree, nous constatons qu'il existe un bien meilleur accord entre les prédictions et les rendements réels des 4 458 recettes qui n'ont pas été utilisées pour entraîner ou valider le modèle :

Dans les articles ultérieurs, nous explorerons différents cas et les options permettant d'utiliser la validation avec plus de soin, en veillant à utiliser notre compréhension de la manière dont les données ont été générées. Mais vous avez vu ici à quel point il peut être facile d'explorer de nombreuses méthodes de modélisation différentes, de trouver un modèle auquel vous pouvez faire confiance et d'appliquer des analyses en toute confiance grâce à la validation dans JMP Pro.
[1] Données de Perera D, Tucker JW, Brahmbhatt S, Helal CJ, Chong A, Farrell W, Richardson P, Sach NW. Une plate-forme pour le criblage automatisé de réactions à l’échelle nanomolaire et la synthèse en flux à l’échelle micromolaire. Science. 26 janvier 2018;359(6374):429-434. est ce que je : 10.1126/science.aap9112. PMID : 29371464.Les ensembles de données échantillonnés et complets sont joints sous forme de tableaux de données JMP.
Super explication Phil! Je viens d'obtenir l'accès à la version PRO à partir du mois d'août en tant que première personne chez Arla Foods 
J'ai vraiment hâte de commencer à valider les modèles que je construis.
J'ai deux questions complémentaires liées à votre message : disons que j'ai créé une conception DoE personnalisée avec l'application. 20-30 courses.
La formation, la validation et les tests du modèle fonctionnent-ils toujours ou avez-vous besoin de plus de 100 exécutions pour en tirer réellement quelque chose ?
Si vous commenciez ensuite à augmenter cette même conception (en testant les mêmes facteurs) à de nouveaux niveaux ? JMP distribuerait-il alors à nouveau ces exécutions à la fois comme formation et comme validation ?
Merci.
Cordialement
Kristian Bertelsen