Conférencier | Transcription |
| Jordan Hillier | sortir. |
| Phil Kay | D'accord, merci de vous joindre à nous. Je suis Phil Kay. Je suis 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 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 il peut ne pas sembler initialement pourquoi ... il peut ne pas sembler clair pourquoi vous voudriez faire cela, mais j'espère que vous comprendrez le mécanisme une fois que j'aurai expliqué cela. |
| D'accord, je vais donc arrêter ma vidéo maintenant et me concentrer uniquement sur la démonstration du logiciel ici. |
| Nous avons ici un journal JMP, 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 allons utiliser 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. |
| Donc c'est trois facteurs, 15 points. C'est une conception Box-Behnken et nous avons une réponse là-bas, qui est extensible, donc vraiment assez simple, standard, |
| DOE traditionnel à l'ancienne. |
| Et il n'y a pas vraiment de défi à modéliser ces données, et nous voyons si nous adaptons un modèle de surface de réponse que ces comportements curvilignes, ces effets quadratiques et ces interactions entre les facteurs 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 en utilisant SVEM, la première chose que vous remarquerez est que nous avons 30 lignes de données, donc nous avons en fait dupliqué chaque ligne de données, ce qui peut sembler un peu fou. Cela peut ressembler à de la triche. C'est une astuce clé dans la méthodologie SVEM. |
| Vous verrez que nous avons ici quelques colonnes supplémentaires, et la clé est ce poids de validation. Alors, traçons 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, donc l'exécution numéro un, vous pouvez 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, l'exécution numéro sept ici, vous pouvez voir que cela a une forte pondération dans la formation, un ensemble de validation zéro, et qu'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 sur ici, on peut les redessiner, donc on peut réassigner les poids. Et encore une fois, si une ligne a un poids lourd dans l'ensemble d'apprentissage, par exemple, la ligne numéro six ici a un poids lourd 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 en fait se trouver dans l'ensemble d'apprentissage et l'ensemble de validation et, surtout, nous pouvons réattribuer ces poids |
| à plusieurs reprises, ce qui suffira quand il s'agit de la modélisation d'ensemble. |
| D'accord, donc juste pour résumer, nous avons ... nous avons redoublé essentiellement chaque ligne de données et nous attribuons des poids à ceux-ci de sorte que certaines lignes vont être plus dans la formation et d'autres vont être plus 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, il n'y a en fait pas sélectionné d'effets actifs dans le modèle. Il correspond donc à 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 sans effet actif. |
| Ce que nous pouvons alors faire est de 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 |
| tableau de données, vous pouvez voir que nous avons une colonne de formule de modèle enregistrée ici. |
| 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 encore un modèle différent et sauvegardons cela maintenant. Nous avons donc maintenant |
| deux rangées de... deux colonnes avec des formules de prédiction enregistrées. |
| Et nous pouvons le refaire. 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 fait la moyenne de nos trois modèles enregistrés. |
| Ainsi, chaque modèle individuel utilisait 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 jusqu'à présent. 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 le standard... |
| l'ensemble de données d'origine. |
| Et nous pouvons continuer à le faire. Nous pouvons le faire 10 fois, nous allons donc répéter cela. 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 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 quelle quantité 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 de l'utiliser pour un si petit ensemble de données. Cela n'aurait aucun sens de contenir complètement une ligne de données, mais ce que nous pouvons 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 des poids différents à 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 obtenu comme moyenne de toutes ces itérations . |
| Donc, maintenant, je veux passer la main à 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. |
| Pierre Hersh | Super merci, Phil. Je vais continuer et partager mon écran ici. |
| Et passons en revue un exemple sur le moment où nous pourrions |
| utiliser cette méthode. Alors je suis là |
| en regardant d'abord les résultats, nous examinons donc quelques conceptions qui sont de très petits DOE, donc un DOE à six, huit et 10 cycles, avec trois facteurs. |
| Et ce sont des conceptions de surface de réponse qui sont de nature super saturée à saturée et ce sont toutes des conceptions optimales, donc ce sont un très petit nombre d'exécutions |
| pour atteindre notre objectif ici. C'est donc là que nous allons. Alors revenons 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 déjà mentionné, nous utilisons une conception optimale super saturée et nous ajustons le nombre d'exécutions. |
| Et ce sont des données simulées, où tous les effets principaux sont actifs, ainsi que tous 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 c'était possible, et cela vous permet d'avoir moins d'exécutions ou le même nombre d'exécutions que les effets de modèle. Et alors j'ai généré mes conceptions là-bas. |
| Et est passé par ce processus que Phil a si bien décrit ici, consistant à 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 je n'ai que des codes QR pour celles-ci. |
| Cette technique a été développée par Chris Gotwalt et Phil Ramsey et ils ont introduit la technique dans quelques entretiens antérieurs. 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 de manière native dans le logiciel, mais si vous avez JMP 15, vous devrez utiliser cette configuration de complément. |
| Et comme Phil l'a dit, donc un |
| modèle individuel peut ne pas très bien correspondre aux données, certains conviendront bien, certains n'auront pas de termes. |
| Mais ceci ne fait que 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 s'en sort 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 continuer 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 devient de mieux en mieux. Les modèles individuels ne sont donc 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 effectuez une technique de sélection de modèles ou de variables avec votre modèle, vous obtenez parfois un modèle dans lequel 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. |
| Nous n'allons donc pas surestimer l'effet aussi souvent que nous obtenons 0 pour contrebalancer cela, donc cela va être biaisé vers une valeur inférieure, donc nous allons faire un |
| petite astuce pour débiaiser ces modèles, où l'on |
| traitez 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, nous obtenons ce très beau résultat que j'ai partagé avec un très petit nombre de courses. C'est donc en quelque sorte la motivation pour laquelle vous utiliseriez SVEM, c'est la capacité de prédire et de créer un modèle décent avec moins d'exécutions que vous ne le pourriez sans utiliser cette technique. |
| Très bien, passons à JMP ici |
| et |
| parcourir ce processus. |
| D'accord, alors voici le DOE à six reprises de cet exemple que j'ai montré, où nous avons nos trois facteurs et notre taux de croissance. Et c'est après avoir construit le modèle. |
| Voici à quoi cela ressemble et nous avons traversé et couru maintenant. Nous avons donc nos six courses avec nos six résultats. Notre prochaine étape consiste à créer cette colonne de validation et à le faire dans JMP, nous allons simplement analyser la modélisation prédictive, |
| faites une colonne de validation, puis au lieu d'une colonne de validation, nous allons créer une table d'auto-validation. |
| D'accord, et c'est ainsi que j'ai procédé. Je suis déjà passé par là et je l'ai fait, donc je ne répéterai pas le processus. |
| Mais voici ces données avec leurs données ré-échantillonnées et ce poids inversement corrélé, comme l'a démontré Phil. 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 vais de l'avant et que je lance ceci, je veux faire quelque chose comme la sélection avant Lasso |
| ou ou 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é quelques-uns, mais vous pouvez voir ici |
| ce biais que nous voyons, où ces deux effets principaux devraient être actifs, mais ils sont sortis comme 0. Ainsi, lorsque 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 je 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 de modèle ici et de pouvoir reproduire ce que nous avons fait ici. |
| D'accord, voici le résultat final, où nous avons parcouru 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. Alors 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 il a un R au carré décent, mais ce n'est pas aussi bon que nous espérions le faire. Je veux dire, même avec six runs, ce... six runs, c'est plutôt bien mais |
| si nous pouvons éliminer ce biais, nous pouvons peut-être faire un peu mieux. Donc, une configuration très simple. Nous prenons simplement le taux de croissance. Notre réponse est notre Y. Nous ajoutons le |
| modèle d'ensemble ici, moyenne de tous ceux |
| 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 tracé réel par prédit. 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. |
| Bon et donc avant de le rendre à Trent, je voulais en montrer un de plus |
| diapositive ici, qui n'est essentiellement qu'un résumé de |
| que nous... (j'ai perdu ma barre des tâches)... que nous vous encourageons fortement à 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 les conceptions de criblage et des choses comme ça, 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 céder la parole à 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 ? |
| Trente Lemkus | Oui, merci, Pierre. J'apprécie cela. |
| Donc |
| je partage mon |
| PDF. Je veux juste m'assurer qu'il s'agit bien d'un partage et que tout le monde peut le voir. |
| Pierre Hersh | Ouais. |
| Trente Lemkus | Ok fantastique. Donc |
| comme Phil et Peter 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 fait actuellement l'objet d'un processus d'examen par les pairs, c'est que nous avons mené une quantité démesurée d'études de simulation pour montrer... pour voir empiriquement comment SVEM fonctionnerait dans un cadre prédictif. Donc |
| le lendemain... 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'aborder 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 ressemble une partie de la sortie, ainsi que les résultats. |
| Ainsi, d'abord et avant tout, le contour 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, |
| pur et simple. Nous voulions donc voir quand nous adaptons un modèle à une conception, comment prédit-il sur une vérité ou un ensemble de données inexistantes, 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 des inférences aussi réelles que possible ... nous voulons faire ... déduire les résultats du monde réel aussi près que possible afin que nous peut |
| prescrire les paramètres et où et comment utiliser SVEM, puisque SVEM est si naissant. |
| Alors, d'abord et avant tout, quelles conceptions avons-nous utilisées dans nos simulations ? Nous avons utilisé des plans de criblage définitifs |
| et nous avons utilisé des conceptions de Box-Behnken où le véritable modèle générateur sous-jacent dans nos conceptions était des modèles quadratiques complets, ou plus familièrement appelés modèles de second ordre. Et la raison pour laquelle nous avons choisi ces modèles est que A) pour les modèles de criblage définitifs, le |
| plus vous avez d'effets principaux, plus les modèles deviennent saturés puis super saturé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 créations Box-Behnken avec les principaux effets 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ù d'une part nous avons |
| degrés de liberté adéquats avec nos plans de Box-Behnken pour estimer nos coefficients lors de l'application d'une technique de sélection de modèle, et dans le cas du plan de criblage définitif, nous avons presque |
| dans la majorité de nos cas, nous avions une conception super saturée, nous avions donc un nombre insuffisant de degrés de liberté. Donc, en d'autres termes, tout simplement, |
| nous ne pouvions pas estimer tous les effets lors de l'utilisation de techniques de construction de modèles contemporaines, comme vos sélections avancées, comme vos lassos, vos sélecteurs Dantzig, etc., |
| 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èle sous-jacente, comme la sélection directe, l'élagage vers l'avant et le Lasso, qui est ce 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 DOE, |
| ainsi que la conception de dépistage définitif d'ajustement, qui concerne exclusivement le dépistage 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é, qui est très courant dans le DOE et qui 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 actuelles dans l'utilisation du DOE industriel, qui s'en tient 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 qu'il est humainement possible avec nos études de simulation, afin que nous puissions rendre ces expériences empiriques... |
| nous pouvons donc évaluer empiriquement comment ces différents algorithmes de construction de modèles fonctionnent de manière prédictive. Et j'espère que nous pourrons montrer que SVEM performe ou surpasse empiriquement ses concurrents. |
| Ainsi, pour la structure de simulation réelle, nous avons exécuté 1 000 simulations pour chaque algorithme de construction de modèle. Ainsi, par exemple, si nous ajustions un modèle avancé avec AICc, |
| chacune de ces 1 000 exécutions, nous générerions un vrai modèle, la vérité, et nous y ajouterions ensuite du bruit ou. |
| bruit gaussien (ce qui est 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é afin que, une fois que nous ajustons un modèle, nous puissions voir comment ce modèle prédit par rapport à 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 ne parlerai pas, 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 obtenir notre modèle SVEM final. |
| Les conceptions ont également été itérées sur plusieurs fonctionnalités. Ainsi, le nombre d'effets principaux |
| pour les plans de dépistage définitifs, nous avons eu quatre effets principaux et huit effets principaux. Pour nos conceptions 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, |