Conférencier | Transcription |
| Jordan Hiller | sortir. |
| Phil Kay | D'accord, eh bien, merci de vous joindre à nous. Je suis Phil Kay. Je suis le responsable de l'apprentissage chez JMP et je vais commencer cette présentation avec un exemple interactif de SVEM, qui est une modélisation d'ensemble auto-validée. |
| Je vais expliquer ce qu'est le SVEM et le mécanisme de son fonctionnement, puis Pete et Trent partageront des exemples, |
| des études de cas et des simulations, qui expliquent vraiment pourquoi vous voudriez faire cela. Je vais juste présenter ceci sur un |
| étude de cas très simple, donc cela peut ne pas sembler au départ pourquoi... il peut ne pas sembler clair pourquoi vous voudriez faire cela, mais j'espère que vous comprendrez le mécanisme après que je l'ai expliqué. |
| D'accord, je vais donc arrêter ma vidéo maintenant et me concentrer uniquement sur la démonstration du logiciel ici. |
| Nous avons un journal JMP ici, que nous partageons avec vous, vous pouvez donc y accéder à partir de la publication de la communauté JMP sur Community.JMP.com. |
| Et l'exemple que nous utiliserons est un exemple classique du DOE. Il s'agit des données de rebond, que vous pouvez obtenir à partir des fichiers d'aide de JMP. |
| C'est donc trois facteurs, 15 pistes. C'est un design Box-Behnken et nous avons une réponse là-bas, qui est extensible, donc vraiment assez simple, standard, |
| DOE à l'ancienne. |
| Et il n'y a pas de réel défi avec la modélisation de ces données, et nous voyons si nous adaptons un modèle de surface de réponse à ces comportements curvilignes, ces effets quadratiques et ces interactions entre les facteurs qui s'avèrent également importants. |
| Voyons donc comment nous pourrions modéliser cela en utilisant l'approche SVEM. |
| Donc, si nous allons modéliser cela à l'aide de SVEM, la première chose que vous remarquerez est que nous avons 30 lignes de données, nous avons donc dupliqué chaque ligne de données, ce qui peut sembler un peu fou. Cela peut ressembler à de la triche. C'est une astuce clé de la méthodologie SVEM. |
| Vous verrez que nous avons quelques colonnes supplémentaires ici, et la principale est ce poids de validation. Donc, traçons simplement cela pour que vous puissiez voir ce que cela signifie. |
| Vous pouvez donc voir que, pour chacune de nos lignes de données, chacune de nos exécutions, nous avons en fait des paires d'exécutions, alors exécutez le numéro un, vous pouvez le voir ici. |
| Nous pondérons en fait chacune de ces exécutions soit dans l'ensemble d'apprentissage, qui est à zéro, soit dans l'ensemble de validation, qui est un. Et vous pouvez voir que pour chaque paire |
| ces pondérations sont inversement proportionnelles. Ainsi, par exemple, exécutez le numéro sept ici, vous pouvez voir que cela a une forte pondération dans l'entraînement, un ensemble de validation zéro, et il a une faible pondération en conséquence dans l'ensemble de validation. |
| Maintenant, ceux-ci ont été attribués au hasard et nous pouvons... |
| en cliquant ici, nous pouvons les redessiner, afin de pouvoir réaffecter les poids. Et encore une fois, si une ligne a un poids important dans l'ensemble d'apprentissage, par exemple, la ligne numéro six ici a un poids important dans l'ensemble d'apprentissage, elle aura une pondération proportionnellement faible dans l'ensemble de validation. |
| Nous doublons donc nos lignes de données ici. |
| Et nous allons l'utiliser pour l'auto-validation. Donc, ce que nous pouvons réellement faire, c'est utiliser une variante sur la validation de retenue, où |
| au lieu de retenir complètement une ligne de données dans l'ensemble de validation, ce que nous allons faire est de retenir des parties de chaque ligne de données, de sorte que chaque ligne puisse réellement se trouver dans l'ensemble d'apprentissage et l'ensemble de validation et, surtout, nous pouvons réaffecter ces poids |
| à plusieurs reprises, ce qui fera l'affaire pour la modélisation d'ensemble. |
| D'accord, donc juste pour résumer, nous avons ... nous avons dupliqué essentiellement chaque ligne de données et nous attribuons des poids à celles-ci de telle sorte que certaines lignes seront davantage dans la formation et d'autres davantage dans le ensemble de validation. |
| Nous pouvons donc maintenant ajuster un modèle en utilisant la validation. |
| Nous utilisons donc GenReg ici, et vous pouvez voir que nous utilisons un ensemble de validation (et ignorez simplement le message d'erreur ici). |
| Nous utilisons Lasso et nous utilisons la validation comme sélection de modèle. Et, dans ce cas, aucun effet actif n'est sélectionné dans le modèle. Il s'agit donc d'un modèle de surface de réponse et nous avons utilisé la validation comme méthode de sélection, en utilisant le Lasso, |
| et nous avons déterminé qu'aucun effet n'est réellement actif, nous avons donc un modèle avec effectivement aucun effet actif. |
| Ce que nous pouvons ensuite faire, c'est redessiner à nouveau ces poids, afin que nous puissions repondérer nos colonnes. |
| Et nous pouvons voir, cette fois, nous obtenons un modèle différent. Donc en fait, certains des effets deviennent maintenant actifs, donc la silice est active dans cette interaction entre la silice et le soufre. |
| Sauvons ce modèle. |
| Alors maintenant, avec notre |
| table de données, vous pouvez voir que nous avons une colonne de formule de modèle enregistrée là-bas. |
| Redessinons à nouveau ces poids. Donc, encore une fois, nous les redessinons, de sorte que certaines des lignes sont plus fortement dans la formation, certaines d'entre elles sont plus fortement dans la validation. |
| Et nous avons à nouveau un modèle différent et gardons-le maintenant. Nous avons donc maintenant |
| deux rangées de... deux colonnes avec des formules de prédiction enregistrées. |
| Et nous pouvons le faire à nouveau. Je vais donc redessiner les poids et enregistrer la formule de prédiction. J'ai juste un script qui fait ça pour nous. Et en fait, crée ensuite cette moyenne de modèle, nous avons donc en fait fait la moyenne de nos trois modèles enregistrés. |
| Ainsi, chaque modèle individuel a utilisé une pondération de validation différente. |
| Chaque modèle était différent, certains étaient meilleurs que d'autres. Le point clé est que lorsque nous faisons la moyenne de ceux-ci ensemble, |
| la moyenne de ceux-ci est le meilleur modèle à ce jour. Vous pouvez donc voir que cela ressemble en fait assez au modèle d'origine que nous avons installé en utilisant des méthodes standard sur la norme... |
| l'ensemble de données d'origine. |
| Et nous pouvons continuer à le faire. Nous pouvons le faire 10 fois, nous allons donc le répéter. Et vous pouvez voir redessiner les poids ; à chaque fois, nous obtenons un modèle légèrement différent. |
| Et nous pouvons enregistrer chacun de ces différents modèles. |
| Et finalement se retrouver avec une moyenne qui est probablement le meilleur modèle. |
| Et, en fait, si nous comparons cela au modèle original que nous avons vu à partir de l'analyse standard de ces données, |
| vous pouvez voir que les deux modèles sont en fait assez proches. |
| Donc, dans ce cas, l'utilisation de cette modélisation d'ensemble auto-validée est vraiment arrivée au même modèle que celui que nous obtiendrions en utilisant la norme |
| régression linéaire. |
| Je veux donc passer en revue les points clés de ce que vous avez vu là-bas. Et comme je l'ai dit, nous allons passer à Pete et Trent, qui vont expliquer la motivation pour vouloir utiliser cette nouvelle technique de modélisation. |
| Ce que nous avons fait, c'est que nous avons dupliqué les lignes de données d'origine. |
| Ensuite, cela signifie que nous pouvons appliquer une pondération aléatoire pour dire combien de chaque paire de lignes est en formation par rapport à la validation. |
| Cela nous permet d'utiliser la validation. Nous ne serions pas en mesure d'utiliser cela pour un si petit ensemble de données. Il n'aurait pas de sens de conserver complètement une ligne de données, mais que pouvons-nous faire avec cet ensemble dupliqué |
| est d'avoir une validation pondérée. Nous avons donc ajusté un modèle utilisant la sélection Lasso dans ce cas et cette sélection Lasso a utilisé cette colonne de validation pondérée. |
| Ensuite, nous redessinons ces poids. Nous attribuons à nouveau au hasard différents poids à ces paires de lignes et nous réajustons le modèle. Et, dans notre cas, nous avons répété cela 10 à 15 fois, mais en pratique, pour obtenir un bon modèle d'ensemble auto-validé, nous voudrions répéter ce processus 100 fois ou plus. |
| Et chaque modèle est lui-même... chaque modèle individuel à chaque étape de ce processus itératif n'est pas particulièrement utile, mais la moyenne du modèle ou l'ensemble l'est, comme nous l'avons vu avec notre modèle final que nous avons réalisé comme la moyenne de toutes ces itérations . |
| Donc, maintenant, je veux le remettre à Pete et il va maintenant parler d'une étude de cas, qui illustre en fait pourquoi vous voudriez utiliser cette méthode inhabituelle pour modéliser des données comme celle-ci. |
| Peter Hersh | Grand merci, Phil. Je vais aller de l'avant et partager mon écran ici. |
| Et passons en revue un exemple sur le moment où nous pourrions |
| utiliser cette méthode. Alors me voilà |
| en examinant d'abord les résultats, nous examinons donc quelques conceptions qui sont de très petits DOE, donc un DOE à six, huit et 10 essais, avec trois facteurs. |
| Et ce sont des conceptions de surface de réponse qui sont de nature super saturée à saturée et elles sont toutes de conception optimale, donc ce sont un très petit nombre de courses |
| pour atteindre notre objectif ici. C'est donc là que nous allons. Revenons donc en arrière et parlons de la conception, puis de la façon dont nous en sommes arrivés là. |
| Donc. |
| Il s'agit d'une étude de cas où nous essayons de maximiser le taux de croissance d'un microbe en ajustant différentes combinaisons de nutriments. Et comme je l'ai mentionné précédemment, nous utilisons une conception optimale super saturée et nous ajustons le nombre de courses. |
| Et ce sont des données simulées, où tous les effets principaux sont actifs, ainsi que toutes les quadratiques. |
| Alors, comment cela a été mis en place, nous avons commencé avec nos trois facteurs. J'ai conçu mon modèle. Si vous n'avez jamais conçu de conception saturée ou super saturée dans JMP, |
| la façon de le faire est de traiter les effets qui ne sont pas les effets principaux comme si possible, et cela vous permet d'avoir moins d'exécutions ou le même nombre d'exécutions que les effets de modélisation. Et puis j'ai généré mes conceptions là-bas. |
| Et j'ai suivi ce processus que Phil a si joliment décrit ici pour rééchantillonner les données, obtenir ces poids inverses... inversement proportionnels, qui sont la clé de ce processus. |
| Nous avons quelques discussions qui ont été faites et j'ai juste des codes QR pour ceux-ci. |
| Cette technique a été développée par Chris Gotwalt et Phil Ramsey et ils ont introduit la technique dans quelques conférences précédentes. Et ce dernier |
| Le code QR était un complément qui configurait cette colonne de validation dans les anciennes versions de JMP. À partir de JMP 16, vous pouvez le faire nativement dans le logiciel, mais si vous avez JMP 15, vous devrez utiliser cette configuration de complément. |
| Et comme Phil l'a dit, alors un |
| le modèle individuel peut ne pas très bien s'adapter aux données, certains s'adapteront bien, d'autres n'auront pas de termes. |
| Mais il s'agit simplement de parcourir l'exemple ici, où vous pouvez voir chaque modèle individuel. Certains ne sont qu'une interception, d'autres sont assez mal ajustés, et le modèle occasionnel fonctionne plutôt bien. |
| Et donc c'est comme Phil l'a décrit, chacun d'eux a un poids recalculé différent. Et donc nous obtenons un modèle légèrement différent et nous allons aller de l'avant et les sauver. C'est donc la première étape. |
| Et puis l'étape suivante consiste à faire la moyenne de ces modèles. Et comme vous pouvez le voir, à mesure que vous faites la moyenne de ces modèles, de plus en plus de modèles, l'ajustement du modèle s'améliore de plus en plus. Donc, les modèles individuels ne sont pas géniaux, mais le modèle moyen global nous donne ce bon ajustement. |
| Et la dernière étape dont je voulais parler était que ces modèles sont biaisés par nature. Comme vous l'avez vu avec le premier modèle fabriqué par Phil, il n'y avait pas d'effets actifs là-dedans. Donc |
| lorsque vous utilisez une technique de sélection de modèle ou de variable avec votre modèle, vous obtiendrez parfois un modèle que cette variable spécifique n'entre pas. |
| Donc, si nous regardons ici ces distributions, vous pouvez voir |
| ce sont tous des effets actifs, et ils ont une distribution autour de 5, qui est la taille de l'effet, mais ils ont aussi cette barre ici qui est 0. |
| Donc nous n'allons pas surestimer l'effet aussi souvent que nous obtenons 0 pour contrebalancer cela, donc cela va être biaisé à une valeur inférieure, donc nous allons faire un |
| petite astuce pour débiaiser ces modèles, où l'on |
| traiter ce modèle comme un prédicteur dans un modèle des moindres carrés, et cela supprimera ces biais et je vais parcourir ce processus pour vous montrer comment cela se fait. |
| Mais au final on obtient ce très beau résultat que j'ai partagé avec un très petit nombre de runs. C'est donc en quelque sorte la raison pour laquelle vous utilisez SVEM est la capacité de prédire et de créer un modèle décent avec moins d'exécutions que vous ne pourriez le faire sans utiliser cette technique. |
| D'accord, alors passons à JMP ici |
| et |
| parcourir ce processus. |
| D'accord, voici donc le DOE à six passages de cet exemple que j'ai montré, où nous avons nos trois facteurs et notre taux de croissance. Et c'est après que nous ayons construit le modèle. |
| Voici à quoi cela ressemble et nous avons traversé et couru maintenant. Nous avons donc nos six runs avec nos six résultats. Notre prochaine étape consiste à créer cette colonne de validation et pour le faire dans JMP, nous allons simplement analyser la modélisation prédictive, |
| make validation column, puis au lieu d'une colonne de validation, nous allons créer une table d'auto-validation. |
| D'accord, et c'est comme ça que j'ai fait ça. J'ai déjà parcouru et fait cela, donc je ne répéterai pas le processus. |
| Mais voici ces données avec ses données rééchantillonnées et ce poids inversement corrélé, comme Phil l'a démontré. Vous avez un poids élevé couplé à un faible poids de la course répétée. Après avoir fait cela, nous passons en revue et créons notre modèle. |
| Dans ce cas, j'ai utilisé un modèle GenReg et vous souhaitez sélectionner l'une des techniques de sélection de variables. Donc, si je lance ceci, je veux faire quelque chose comme la sélection avancée Lasso |
| ou ou l'une de ces techniques de sélection. Et Trent va entrer plus en détail sur ces techniques de sélection et sur celles qu'ils ont étudiées. |
| Ainsi, après avoir exécuté le modèle, vous voyez que JMP a parcouru et sélectionné certains effets actifs. Il en a attrapé certains, mais vous pouvez voir ici |
| ce biais que nous voyons, où ces deux effets principaux devraient être actifs, mais ils sont sortis comme 0. Donc, quand j'enregistre cela dans la table de données, |
| Je vais créer une nouvelle colonne comme Phil l'a montré, puis je recalculerai ce poids et le ferai encore et encore. Et voici un script simple pour le faire 100 fois, et |
| nous serons heureux de partager cela. Et c'est très facile de simplement copier et coller votre script, votre script modèle ici et être capable de reproduire ce que nous avons fait ici. |
| D'accord, alors voici le résultat final, où nous avons effectué notre DOE, nos résultats, puis nous avons |
| les 100 modèles que j'ai sauvegardés |
| et caché ici. Et puis le modèle final, qui est |
| une moyenne de tous les 100 de ces modèles. Et la dernière étape que nous voulons faire est cette étape de débiaisation. Donc tout ce qu'on va faire c'est traiter ça |
| modèle moyen comme prédicteur du taux de croissance. |
| Donc ici, vous pouvez voir le modèle original que nous avons |
| a une pente beaucoup plus raide, donc elle a un R au carré décent, mais ce n'est pas aussi bon que nous l'espérions. Je veux dire, même avec six descentes, six descentes, c'est plutôt bien, mais |
| si nous pouvons éliminer ce biais, nous pouvons peut-être faire un peu mieux. Donc configuration très simple. Nous prenons juste le taux de croissance. Notre réponse est notre Y. Nous ajoutons le |
| modèle d'ensemble ici, moyenné de tous ces |
| modèles individuels, comme notre prédicteur. Nous exécutons ceci et nous obtenons un résultat, et vous pouvez voir que c'est un bien meilleur complot réel que prévu. Et si nous effectuons une comparaison là-bas, vous pouvez voir que la suppression de ce biais a un effet important dans le sens positif. |
| D'accord et donc avant de le rendre à Trent, je voulais en montrer un de plus |
| diapositive ici, qui n'est en fait qu'un résumé de |
| que nous... (j'ai perdu ma barre des tâches, voilà)... que nous vous encourageons vivement à utiliser |
| et découvrez cette technique, mais ce n'est pas une technique magique qui fonctionnera toujours dans toutes les situations. Mais lorsque vous vérifiez cela dans des conceptions de dépistage et des choses comme celle-ci, cela pourrait être une très bonne technique qui |
| vous aider à accomplir des choses que vous n'auriez peut-être pas pu faire avec des techniques de modélisation standard. Et sur ce, je vais le passer à Trent qui a |
| un peu plus de détails sur la façon dont cela est fait et le |
| informations là-bas. Alors Trent, tu veux l'enlever ? |
| Trent Lemkus | Oui, merci Pierre. J'apprécie ça. |
| Donc |
| je partage mon |
| PDF. Je veux juste m'assurer qu'il s'agit bien de partage et que tout le monde peut le voir. |
| Peter Hersh | Ouais. |
| Trent Lemkus | D'accord fantastique. Donc |
| comme Phil et Peter l'ont présenté, ils ont présenté des études de cas, qui, je pense, sont des anecdotes phénoménales qui montrent la puissance de SVEM et quand et pourquoi utiliser SVEM. |
| Ce que nous avons fait pour notre document de recherche qui est actuellement en cours d'examen par les pairs, c'est que nous avons mené une quantité excessive d'études de simulation pour montrer... pour voir empiriquement comment SVEM fonctionnerait dans un cadre prédictif. Donc |
| le suivant... J'ai une série de diapositives que je vais montrer. Je sais que cela peut sembler un peu ennuyeux et sec, mais je pense qu'il est impératif de discuter des détails |
| avant d'entrer dans quelque chose d'un peu plus divertissant, qui est un exemple de la façon dont nous avons utilisé... |
| comment nous avons utilisé JMP, JSL et comment j'ai exécuté les simulations à titre d'exemple et pour vous montrer à quoi ressemblent certaines des sorties, ainsi que les résultats. |
| Ainsi, d'abord et avant tout, les grandes lignes et les objectifs de nos études de simulation étaient principalement |
| nous voulions créer une architecture de simulation du monde réel. Nous voulions donc que nos simulations imitent le DOE industriel du monde réel aussi près que possible humainement. |
| Et deuxièmement, nous voulions voir comment les techniques de construction de modèles contemporains ou de sélection de modèles contemporains, ainsi que SVEM fonctionnent lorsqu'elles sont principalement axées sur la prédiction pure, |
| clair et simple. Nous voulions donc voir quand nous adaptons un modèle à une conception, comment il prédit sur une vérité ou un ensemble de données bloquées, ou excusez mon accent, des données. |
| Et à partir de là, si nous pouvons simuler ces exécutions uniques autant de fois que possible sur le plan informatique, nous voulons faire une inférence aussi réelle que possible... nous voulons faire... déduire les résultats du monde réel aussi près que possible afin que nous pouvez |
| prescrire les paramètres et où et comment utiliser SVEM, puisque SVEM est si naissant. |
| Alors, avant tout, quels modèles avons-nous utilisés dans nos simulations ? Nous avons utilisé des conceptions de criblage définitives |
| et nous avons utilisé des conceptions de Box-Behnken où le véritable modèle de génération sous-jacent dans nos conceptions était des modèles quadratiques complets, ou plus familièrement connus sous le nom de modèles de second ordre. Et la raison pour laquelle nous avons choisi ces conceptions est que A) pour les conceptions de criblage définitives, le |
| plus vous avez d'effets principaux, plus les modèles deviennent saturés puis sursaturés, ce qui signifie que vous avez beaucoup moins de degrés de liberté plus les effets principaux deviennent élevés. Alors qu'avec vos designs Box-Behnken avec les effets principaux que nous avons utilisés, |
| vous ne rencontrez pas ce scénario. Nous avons donc un... nous avons une juxtaposition entre deux scénarios, où dans une main nous avons |
| degrés de liberté adéquats avec nos conceptions de Box-Behnken pour estimer nos coefficients lors de l'application d'une technique de sélection de modèle, et dans le cas de conception de criblage définitif, nous avons presque |
| dans la majorité de nos cas, nous avions une conception super saturée, nous avions donc une quantité insuffisante de degrés de liberté. Donc, en d'autres termes, tout simplement, |
| nous ne pouvions pas estimer tous les effets en utilisant des techniques de construction de modèles contemporaines, comme vos sélections avancées, comme vos Lassos, vos sélecteurs Dantzig et ainsi de suite, |
| ce qui nous amène à quels algorithmes de modèles réels nous avons utilisés pour nos simulations. Donc pour les modèles SVEM, gardez à l'esprit que si vous... |
| si vous ne comprenez pas bien ce qu'est SVEM, il est très important que vous reveniez à certaines des présentations précédentes auxquelles Peter faisait référence. |
| Mais nous devons utiliser SVEM avec une technique de construction de modèles sous-jacente, comme la sélection avancée, l'élagage avancé et le lasso, que nous utilisons pour nos études de simulation. |
| Dans nos cas de modèles non SVEM, nous utilisons ces mêmes algorithmes de construction de modèles, mais nous avons également incorporé le sélecteur Dantzig, qui est assez populaire dans le DOE, |
| ainsi que la conception du criblage définitif adapté, qui se rapporte exclusivement au criblage définitif ; il n'est pas utilisé sur d'autres modèles. |
| De plus, nous utilisons un critère d'information appelé l'AICc ou l'AIC corrigé, ce qui est très courant dans le DOE et est en fait assez connu pour sélectionner des modèles très parcimonieux. |
| Donc, comme vous pouvez le voir, nous essayons d'incorporer des techniques contemporaines qui sont très courantes dans l'utilisation du DOE industriel, qui colle au cœur... au point central que j'ai montré dans la diapositive initiale, qui est |
| nous voulons imiter le monde réel aussi près que possible humainement avec nos études de simulation, afin que nous puissions rendre ces études empiriques... |
| nous pouvons donc évaluer empiriquement les performances prédictives de ces différents algorithmes de construction de modèles. Et j'espère que nous pourrons montrer que SVEM performe ou surpasse empiriquement sa concurrence. |
| Ainsi, pour la structure de simulation réelle, nous avons exécuté 1 000 simulations pour chaque algorithme de création de modèle. Ainsi, par exemple, si nous adaptions un modèle avancé avec AICc, |
| chacune de ces 1 000 courses, nous générerions un vrai modèle, la vérité, et nous y ajouterions ensuite du bruit ou. |
| bruit gaussien (très courant dans le milieu universitaire et dans et... lors de la recherche), |
| créant ainsi un ensemble d'apprentissage, si vous voulez, et un ensemble de vérité de sorte qu'une fois que nous avons ajusté un modèle, nous puissions voir comment ce modèle prédit contre la vérité. Et nous réexécutons et régénérons ces ensembles de données au hasard 1 000 fois. |
| L'hyperparamètre SVEM, dont je n'entrerai pas dans les détails, nous avons utilisé un nBoot de 200. En termes simples, nous ajustions essentiellement 200 modèles et nous faisons la moyenne de ces modèles pour produire notre modèle SVEM final. |
| Les conceptions ont également été réitérées sur plusieurs fonctionnalités. Donc le nombre d'effets principaux |
| pour les conceptions de criblage définitives, nous avons eu quatre effets principaux et huit effets principaux. Pour nos designs Box-Behnken, nous avions |
| trois effets principaux et cinq effets principaux. Ce que cela signifie, juste pour vous donner un exemple, c'est pour notre DSD, par exemple, où K vaut huit, vous avez huit effets principaux. Si vous avez un modèle quadratique complet, |