Problème d'optimisation bayésienneDans une étude R&D antérieure, j'ai utilisé avec succès un DOE de mélange à 4 facteurs (3 facteurs de mélange et un effet « isomère » catégoriel à 3 niveaux) pour trouver les paramètres optimaux d'une formulation chimique avec trois attributs de qualité Y1, Y2 et Y3.
J'ai utilisé ce cas dans un cours de DOE et j'ai utilisé des formules de simulation pour calculer les réponses Y123. De bons modèles ont été obtenus et l'optimisation s'est déroulée sans problème ; voir « ANALYSE DE MÉLANGE DOE FORMULATION CHIMIQUE » en pièce jointe.
À partir d'un plan d'expériences de type Kowalski à 12 essais, je rencontre des difficultés avec l'optimisation bayésienne (voir annexe « OPTIMISATION BAYÉSIENNE »). Celle-ci échoue systématiquement en raison d'un modèle Y2 très peu fiable. Pourquoi l'optimisation bayésienne recommande-t-elle la « Désirabilité maximale » avec un modèle Y2 aussi peu fiable ? J'obtiens le même résultat avec d'autres plans d'expériences de criblage et de remplissage d'espace.
Quel est le problème ? Comment le résoudre ?
Conception des expériencesRe: Problème d'optimisation bayésienneSalut @frankderuyck ,
Sans rapport avec votre cas d'utilisation spécifique, mais si vous avez des difficultés à ajuster un modèle de processus gaussien à partir de vos données en utilisant la plateforme d'optimisation bayésienne, je vous recommande ces deux options :
- Explorez votre espace de conception en créant des points candidats à l'aide du critère MaxPro . Ce critère indépendant du modèle garantit une distance maximale entre les points existants et les nouveaux points candidats, vous permettant ainsi de couvrir efficacement l'espace expérimental.
- Vous pouvez également modifier les paramètres par défaut relatifs au seuil R² de l'augmentation basée sur le modèle (par exemple, en augmentant ce seuil de 0,25 (valeur par défaut) à 0,7, vous augmenterez la phase d'exploration), et éventuellement ajuster le type de corrélation (gaussienne, Mattern 3/2 et 5/2, ou exponentielle) au début de votre boucle BO si l'un de ces types est plus adapté à votre cas d'utilisation. La corrélation Mattern 5/2 est un bon choix par défaut, mais la corrélation gaussienne pourrait donner des résultats légèrement meilleurs pour Y2.
Dans tous les cas, le praticien doit garder la maîtrise de la plateforme et de ses résultats, et choisir l'option la plus pertinente (exploration/exploitation). J'ai présenté un cas d'utilisation lors d'un séminaire français Discovery sur l'optimisation bayésienne, où le mode « auto » (suivre aveuglément les recommandations de la plateforme avec les paramètres par défaut) aboutit à des résultats sous-optimaux. Dès que l'exploration est forcée (en raison d'un modèle inadéquat et peu fiable) par l'ajout de points d'exploration, le modèle établit les relations entre les entrées et les sorties, et l'exploitation devient alors beaucoup plus intéressante.
En examinant votre formule de réponse, on constate qu'elles sont très différentes :
- Y1 possède un modèle avec des effets principaux et des effets d'interaction, de taille approximativement égale (les effets principaux légèrement plus importants),
- Y2 possède un modèle avec des effets principaux et quelques effets d'interaction importants (X1*X3 et X2*X3).
- Y3 possède un modèle avec des effets principaux importants et quelques petits effets d'interaction.
Les formats de formule de Y1 et Y3 sont « normaux » et faciles à ajuster avec un processus gaussien.
Pour Y2, les effets d'interaction très importants complexifient considérablement l'ajustement du modèle gaussien. Les équations du noyau font intervenir la distance entre les points (voir l'exemple avec le noyau gaussien ) et le paramètre de largeur de bande (ou d'échelle de longueur). Ce paramètre est appris par le modèle gaussien pour chaque facteur/dimension et indique comment une variation relative de chaque facteur affecte la réponse. Cependant, comme les dimensions sont découplées dans les calculs de distance (distance euclidienne) et dans l'apprentissage de ce paramètre, le modèle gaussien peine à déterminer une valeur raisonnable de largeur de bande/d'échelle de longueur pour chaque facteur impliqué dans une forte interaction, car il ne peut pas évaluer correctement l'influence indépendante de chaque facteur sur la réponse.
En pratique, face à une situation similaire où de très grandes interactions sont possibles, un noyau additif ou polynomial serait plus approprié, car le noyau additif découple les effets du 1er ordre, du 2e ordre, du 3e ordre... et un noyau polynomial est explicitement défini à un degré fixe (dans ce cas 2 ou 3).
Compte tenu des options offertes par la plateforme d'optimisation bayésienne JMP, je recommande de forcer la génération de points d'exploration supplémentaires avec le critère MaxPro. Vous trouverez ci-joint mon test, qui consiste à forcer quatre nouvelles explorations avec le critère MaxPro avant de laisser la plateforme optimiser avec l'option « Maximiser l'amélioration attendue ». L'optimum obtenu semble plus proche de vos objectifs que celui que vous avez initialement obtenu.
J'espère que cette réponse vous aidera.
Re: Problème d'optimisation bayésienneMerci pour cette explication détaillée Victor, cependant il subsiste des problèmes :
(1) Le profileur Y2 montre que le modèle Y2 reste très peu fiable. (2) Important ! : le réglage optimal pour l’isomère est ici l’isomère 2, ce qui ne correspond pas à la solution DOE (et correcte) qui doit être l’isomère 1.
Difficile de comprendre pourquoi Bayesion a autant de difficultés ici…
Re: Problème d'optimisation bayésienneJ'observais des valeurs de R² proches ou supérieures à 0,7 pour Y2, je ne dirais donc pas que le modèle est très peu fiable ?
L'optimisation bayésienne ne vous fournira pas toujours l'optimum global (s'il existe), mais une solution optimale.
Puisque les plans d'expériences de mélange sont des plans d'optimisation et que votre facteur d'isomère catégoriel n'a pas d'influence majeure par rapport aux facteurs de mélange, d'autres solutions pourraient exister avec des isomères différents (et des proportions de mélange différentes). Plusieurs explications peuvent être avancées pour comprendre les différences observées : plusieurs optima présentant des performances similaires, et/ou le bruit ajouté à Y2 pourrait « masquer » l'optimum pour le modèle GP. Vous pourriez essayer de supprimer le bruit de la formule de Y2 et vérifier si l'optimum reste le même, ainsi que de comparer, avec le modèle issu du plan d'expériences, la proximité des solutions BO avec l'optimum obtenu dans ce dernier.
J'espère que cette réponse vous aidera.
Re: Problème d'optimisation bayésienneLe Profiler Y2 ne semble pas prometteur ; le modèle DOE était excellent.
frankderuyck_0-1786094852833.pngfrankderuyck_0-1786094852833.pngfrankderuyck_0-1786094852833.pngfrankderuyck_0-1786094852833.png
Re: Problème d'optimisation bayésienneAprès quelques essais supplémentaires, l'approche bayésienne donne systématiquement la solution optimale pour l'isomère 1, tandis que le profileur Y2 reste très gris.
La solution est assez équivalente à celle que j'ai obtenue, mon R² Y2 était plus faible = 0,52.
Re: Problème d'optimisation bayésienneLe profileur Y2 indique que l'on peut s'attendre à ce que -0,48 < Y2 < 1, est-ce correct ? Dois-je ignorer ce résultat et ne considérer que le R² ?
Re: Problème d'optimisation bayésienneEn examinant votre fichier BO, lors de l'ouverture de la plateforme JMP BO, j'obtiens un R² = 0,7999 et un Profiler pas si mal pour Y2 :
Victor_G_0-1786175430051.pngVictor_G_0-1786175430051.pngVictor_G_0-1786175430051.pngVictor_G_0-1786175430051.png
Mêmes résultats sur mon test de fichier BO : R² = 0,7321 et Profiler semble correct :
Victor_G_1-1786175585108.pngVictor_G_1-1786175585108.pngVictor_G_1-1786175585108.pngVictor_G_1-1786175585108.png
Alors, quel profileur ou à quelle étape affichez-vous le profileur de prédiction « défectueux » ?
Vous pourriez ajouter des simulations en utilisant l'option « Maximiser l'écart type du modèle multivarié » (ou « Maximiser l'écart type de la désirabilité bayésienne » si la taille du lot est supérieure à un) afin de réduire l'incertitude des prédictions. Cela peut s'avérer utile, mais dans ce scénario extrême avec des effets d'interaction très importants, le processus gaussien aura du mal à rivaliser avec la régression multivariée issue du plan d'expériences (DoE) intégrant les effets d'interaction. Vous pouvez observer comment chaque modèle gère les interactions grâce à l'option « Interactions superposées » ; vous constaterez que les traces d'interaction du modèle de régression (DoE) sont beaucoup plus « diverses » que celles du processus gaussien, en raison de la limitation que j'ai expliquée dans mon premier message.
- Modèle de régression :
Victor_G_2-1786175872322.pngVictor_G_2-1786175872322.pngVictor_G_2-1786175872322.pngVictor_G_2-1786175872322.png
- Processus gaussien :
Victor_G_3-1786175927453.pngVictor_G_3-1786175927453.pngVictor_G_3-1786175927453.pngVictor_G_3-1786175927453.png
Le processus gaussien interpole le comportement de la réponse en fonction de la proximité des points, tandis que la régression utilise des effets spécifiques (effets principaux, effets d'interaction, etc.) pour décrire le phénomène. L'ajustement du modèle et sa « philosophie » diffèrent : la régression suppose un modèle à valider, tandis qu'avec les processus gaussiens, le modèle est construit au fur et à mesure des expériences.
Notez que même si vous utilisez la plateforme d'optimisation bayésienne, si vous rencontrez des difficultés pour ajuster le modèle GP malgré l'ajout de points d'exploration, vous pouvez explorer davantage d'options de modèle à l'aide de la fonction de sélection de modèles de la plateforme avec validation croisée K-folds. Vous constaterez alors que les méthodes de régression apparaissent en tête des meilleures options d'ajustement de modèle (voici les résultats obtenus en utilisant uniquement les premiers points de construction de votre tableau de données) :
Victor_G_4-1786176393503.pngVictor_G_4-1786176393503.pngVictor_G_4-1786176393503.pngVictor_G_4-1786176393503.png
J'espère que cette réponse pourra encore vous aider.
Re: Problème d'optimisation bayésienneÉtrange, lorsque je clique sur le dernier test BO, j'obtiens un résultat différent pour le profileur de prédiction, même si les graphiques sont identiques.
J'utilise JMP 18 Pro, est-ce que la version 19 (je suppose que vous utilisez la dernière version de JMP) pourrait être différente ?
frankderuyck_0-1786349462076.pngfrankderuyck_0-1786349462076.pngfrankderuyck_0-1786349462076.pngfrankderuyck_0-1786349462076.png
Re: Problème d'optimisation bayésienneD'accord, c'est étrange, vous devriez avoir le même profileur puisque le graphique « Réel par Prédit » semble montrer que le modèle GP a appris les tendances dans vos données.
Obtenez-vous les mêmes résultats de profilage lorsque vous consultez le panneau du modèle pour la réponse Y2 uniquement dans la plateforme JMP BO ?
Avez-vous essayé d'utiliser la plateforme de processus gaussien « normale » pour la modélisation afin de voir si vous rencontrez le même problème ?
Avez-vous essayé de relancer la plateforme directement depuis le menu (et non depuis les scripts enregistrés) et depuis les scripts ? Y a-t-il une différence ?
Enfin, pouvez-vous effectuer la mise à jour vers JMP 19 ?
J'espère que certaines de ces idées vous aideront à résoudre votre problème.
Re: Problème d'optimisation bayésienneBonjour Victor, j'ai essayé vos propositions avec JMP 18 sans succès. Vous trouverez en pièce jointe une comparaison entre les modélisations de Scheffé et gaussienne pour les résultats complets des 24 essais du plan d'expériences : la modélisation gaussienne n'est pas performante, présentant un manque d'ajustement pour Y1 et des résultats très médiocres pour Y2 ; Y3 est acceptable. Avec ces modèles gaussiens, il est impossible de trouver les paramètres de mélange optimaux avec l'outil de profilage (désirabilité = 0). Obtenez-vous de meilleurs résultats avec JMP 19 ? J'espère qu'une solution pourra être trouvée. J'aimerais beaucoup utiliser l'optimisation bayésienne, mais mon équipe commence à être sceptique.
Re: Problème d'optimisation bayésienneLes résultats de la formule de prédiction gaussienne sont très mauvais et différents des prédictions Jackknife ?
frankderuyck_0-1786435375218.pngfrankderuyck_0-1786435375218.pngfrankderuyck_0-1786435375218.pngfrankderuyck_0-1786435375218.png
Pas étonnant que mon optimisation bayésienne ne fonctionne pas, les résultats sont très incohérents et instables...
Re: Problème d'optimisation bayésienneSi les résultats obtenus avec JMP 19 sont corrects, qu'est-ce qui a changé ?
Re: Problème d'optimisation bayésienneJ'ai utilisé la plateforme BO dans JMP 19 avec les paramètres par défaut, et les modèles pour les différentes réponses semblent corrects :
Victor_G_0-1786477092346.pngVictor_G_0-1786477092346.pngVictor_G_0-1786477092346.pngVictor_G_0-1786477092346.png
J'ai enregistré dans votre tableau la formule de prédiction et le script de la plateforme d'optimisation bayésienne (modèle de processus gaussien) de JMP19.
Concernant les modèles de processus gaussiens « de base », j’obtiens des résultats similaires pour Y1, mais vous pouvez améliorer la modélisation en cochant l’option « Estimer le paramètre de pépite » lors du lancement de la plateforme :
Victor_G_1-1786477388650.pngVictor_G_1-1786477388650.pngVictor_G_1-1786477388650.pngVictor_G_1-1786477388650.png
Comme la réponse Y1 semble plus bruitée que les autres, l'utilisation de cette option améliore la modélisation en évitant le processus gaussien qui interpole parfaitement les données. Les résultats du modèle sont ainsi beaucoup plus interprétables et similaires à ceux du modèle de régression, même si les prédictions peuvent s'éloigner des mesures.
Victor_G_2-1786477805428.pngVictor_G_2-1786477805428.pngVictor_G_2-1786477805428.pngVictor_G_2-1786477805428.png
J'ai également enregistré le script pour relancer l'analyse et la formule de prédiction dans votre tableau.
Enfin, les formules de prédiction du processus gaussien et du jackknife diffèrent. Vous pouvez consulter le graphique « Réel par prédit » de l'aide JMP. Les valeurs de prédiction du jackknife correspondent aux valeurs Y prédites pour la ligne X spécifique exclue, tandis que celles du modèle de processus gaussien résultent de la moyenne des modèles entraînés par validation croisée (méthode du jackknife).
J'espère que cette réponse vous aidera.
Re: Problème d'optimisation bayésienneOK Victor, merci, c'est clair, je dois passer à JMP 19. Je me demande pourquoi JMP 18 ne fonctionne pas et ce qui a changé ? D'ailleurs, quand j'ajoute un autre lot BO, ma version 18 génère une erreur et, si je l'ignore, la prévision Y2 est à nouveau complètement floue et grise comme avant.
frankderuyck_0-1786523679953.pngfrankderuyck_0-1786523679953.pngfrankderuyck_0-1786523679953.pngfrankderuyck_0-1786523679953.png
frankderuyck_1-1786523771369.pngfrankderuyck_1-1786523771369.pngfrankderuyck_1-1786523771369.pngfrankderuyck_1-1786523771369.png
Pourriez-vous effectuer cette optimisation bayésienne à partir du plan d'expériences initial joint, basé sur un modèle de Kowalski à 12 essais ?
Re: Problème d'optimisation bayésienneBonjour @frankderuyck ,
Par curiosité, où trouve-t-on l'optimisation bayésienne dans JMP 18 ? Elle n'a été introduite que dans JMP 19 : https://www.jmp.com/en/software/new-release/new-in-jmp
Meilleur
Florian
Re: Problème d'optimisation bayésienneDésolé, je me suis trompé, j'utilise la version 19.0.1
frankderuyck_0-1786550520590.pngfrankderuyck_0-1786550520590.pngfrankderuyck_0-1786550520590.pngfrankderuyck_0-1786550520590.png
Re: Problème d'optimisation bayésienneAlors pourquoi mes résultats sont-ils différents de ceux de Victor ?
Re: Problème d'optimisation bayésienneBonjour @frankderuyck et @Victor_G ,
Je peux confirmer que certaines améliorations apportées à la dernière version résolvent le problème :
Avant JMP 19.1.4 :
Florian_Vogt_0-1786605432509.pngFlorian_Vogt_0-1786605432509.pngFlorian_Vogt_0-1786605432509.pngFlorian_Vogt_0-1786605432509.png
Avec JMP 19.1.4 (dernière version actuelle) :
Florian_Vogt_1-1786605459011.pngFlorian_Vogt_1-1786605459011.pngFlorian_Vogt_1-1786605459011.pngFlorian_Vogt_1-1786605459011.png
La mise à jour vers la dernière version inclut des améliorations de la plateforme, offrant de meilleurs résultats (comme Victor l'a démontré).
Meilleur
Florian
Re: Problème d'optimisation bayésienneMerci Florian, comment faire la mise à jour vers la dernière version ?
Re: Problème d'optimisation bayésienneSur cet écran que vous avez partagé, cliquez sur « Rechercher les mises à jour » (texte bleu à gauche), une fenêtre s'ouvrira et vous obtiendrez un lien pour télécharger la version mise à jour.
Merci pour l'info @Florian_Vogt . Les notes de version concernant la 19.1.x ne sont pas suffisamment détaillées pour déterminer si des modifications ont été apportées à l'algorithme ou aux calculs de la plateforme BO : https://community.jmp.com/t5/JMP-Knowledge-Base/JMP-New-Features-and-Release-Notes/ta-p/575202
Re: Problème d'optimisation bayésienne
Florian_Vogt_0-1786610753240.pngFlorian_Vogt_0-1786610753240.pngFlorian_Vogt_0-1786610753240.pngFlorian_Vogt_0-1786610753240.png
Re: Problème d'optimisation bayésienneChers Victor et Florian, merci beaucoup pour vos conseils. J'ai mis à jour JMP vers la dernière version et j'obtiens enfin de bons résultats (voir pièce jointe). Le seul point qui reste obscur est le suivant : après plusieurs lots, l'optimisation semble se bloquer sur « Amélioration maximale attendue ». Le processus ne passe pas à la réplication, ce qui laisse penser qu'il ne trouve pas l'optimum, n'est-ce pas ? Pourtant, lorsque j'optimise le dernier lot, les résultats optimaux sont corrects, ce qui n'est pas le cas après la première amélioration maximale. Ma question est : combien d'améliorations maximales attendues faut-il pour atteindre l'optimisation et obtenir des modèles de régression satisfaisants ? Quel est l'indicateur le plus important pour une distribution gaussienne ?
frankderuyck_0-1786694503916.pngfrankderuyck_0-1786694503916.pngfrankderuyck_0-1786694503916.pngfrankderuyck_0-1786694503916.png
Re: Problème d'optimisation bayésienneSalut @frankderuyck ,
Le processus n'est pas vraiment bloqué… Vous avez une tâche d'optimisation avec 3 réponses, où il tente d'atteindre 3 objectifs. Comme il perçoit encore un potentiel d'amélioration, il continue d'essayer de s'améliorer. Ceci est indiqué dans le graphique de désirabilité, puisque la désirabilité atteinte continue de progresser. Lorsque vous demandez plusieurs exécutions, le processus finit par tenter de reproduire le meilleur résultat actuel.
Florian_Vogt_0-1787142341723.pngFlorian_Vogt_0-1787142341723.pngFlorian_Vogt_0-1787142341723.pngFlorian_Vogt_0-1787142341723.png
Il est difficile de généraliser la décision d'arrêter l'entraînement ; en clair, vous pouvez vous arrêter quand vous le souhaitez, c'est-à-dire dès que vous estimez avoir atteint vos objectifs. BayesOpt tentera d'optimiser et de vérifier les résultats (« Réplication du meilleur entraînement »), en fonction des données.
J'espère que cela vous aidera !
Florian
Re: Problème d'optimisation bayésienneJe suppose que les dernières lignes ne correspondent pas aux paramètres optimaux. Je dois donc consulter le résumé du modèle et la désirabilité maximale, n'est-ce pas ? Je constate que le profileur ne dispose d'aucun simulateur ; lorsque j'enregistre la formule de prédiction et que je vais dans >graphique > profileur, cela ne fonctionne pas : la feuille de profilage reste vide. Comment effectuer des simulations et vérifier la capacité du modèle à intégrer du bruit aléatoire avec les paramètres optimisés ?
Re: Problème d'optimisation bayésienneEn partant d'un plan d'expériences de remplissage d'espace rapide et flexible (10 itérations, voir pièce jointe), j'obtiens des résultats différents de ceux obtenus avec le modèle de Kowalski (12 itérations) et le modèle de Sheffé (24 itérations, voir premier message). Les paramètres optimaux X1, X2 et X3 sont quasiment identiques, mais le remplissage d'espace donne l'isomère 2 au lieu de l'isomère 1. Comme pour l'isomère 2, les modèles de Scheffé et de Kowalski (12 itérations) donnent des résultats peu satisfaisants. Je suppose donc qu'un remplissage d'espace initial à 10 itérations n'est pas approprié : est-ce trop peu ? Existe-t-il un critère pour un plan d'expériences initial acceptable pour l'optimisation bayésienne ?
Re: Problème d'optimisation bayésienneLe problème semble venir du fait que le plan d'expériences de remplissage d'espace ne permet pas une couverture équilibrée des 3 isomères. De plus, l'examen du nuage de points par isomère ne révèle pas une couverture optimale. Il s'agit sans doute d'un point important à prendre en compte lors du choix du remplissage d'espace comme plan d'expériences initial, en cas d'effet catégoriel, n'est-ce pas ?