Profileur de prédiction et fonctions de désirabilitéSalut tout le monde,
JMP Pro 16.1.0.
J'utilise Prediction Profiler pour effectuer une vérification du réglage du modèle et je me demandais s'il existait un moyen de "tromper" les fonctions de désirabilité pour qu'elles fassent quelque chose pour lesquelles elles ne sont pas vraiment conçues. Avec le paramètre standard de désirabilité, vous avez la possibilité de maximiser, correspondre à la cible, réduire ou aucun.
Pendant le processus de réglage du modèle, j'enregistre les valeurs R^2 pour la formation et la validation, ainsi que la différence entre les deux. L'une des choses que j'essaie de rechercher lors du réglage du modèle sont les paramètres qui non seulement maximisent R^2 pour la formation et la validation, mais minimisent la différence entre les deux. Par exemple, il est préférable pour moi d'avoir un modèle qui a une formation R^2 de 0,4 et une validation R^2 de 0,35 que d'avoir une formation R^2 de 0,7 et une validation R^2 de 0,25. C'est-à-dire que plus les ensembles d'entraînement et de validation sont proches les uns des autres, même s'ils sont plus petits, ils ont tendance à mieux fonctionner dans mes situations.

Le problème est qu'avec le profileur de prédiction, si vous définissez à la fois la formation et la validation R^2 pour maximiser et minimiser la différence, le profileur suggère des paramètres qui entraînent une formation R^2 de 0,6 et une validation R^2 de 0,2 environ. Ce n'est pas ce que je recherche.
Ce que j'aimerais vraiment que le profileur fasse, c'est essayer de converger vers une formation et une validation R^2 aussi proches que possible, tout en étant aussi grandes que possible, afin de minimiser la différence tout en gardant un grand R ^2 valeurs. Malheureusement, changer des choses comme l'importance (0 à 1) ou l'objectif n'atteint pas vraiment ce que je recherche.
Si quelqu'un connaît une astuce pour que le profileur fasse quelque chose comme ça, ce serait bien de le savoir. Ou, si ce n'est pas possible, cela pourrait être une nouvelle fonctionnalité vraiment intéressante de pouvoir demander au profileur d'essayer de faire converger deux des réponses tout en les maximisant (ou en les minimisant).
Merci!,
DS
Accès aux donnéesExploration et visualisation des donnéesPersonnalisation de masseRe : Prediction Profiler et fonctions de désirabilitéSalut @ih ,
Vous avez certainement tous les deux raison de dire que je ne peux pas contourner mes pensées et mon influence subjective sur le processus et les décisions, ce qui rend donc l'ensemble quelque peu subjectif et sujet aux préjugés de quelqu'un. Ce serait bien d'en supprimer le plus possible afin de limiter les préjugés d'une personne sur le sujet en question. Après tout, nous recherchons le modèle le plus performant, pas ce que quelqu'un veut/souhaite être le modèle le plus performant.
Il est également vrai que je n'utilise pas uniquement le R2 comme métrique pour les modèles que je génère. C'est cependant l'une des méthodes les plus fiables pour aider à piloter le processus de réglage de certains des ajustements de modèle, par exemple avec des arbres boostés et une forêt bootstrap. Ces deux méthodes ont un certain caractère aléatoire impliqué dans le processus, ce qui est bien, mais le réglage fin des paramètres du modèle peut devenir assez peu pratique - il est très facile de générer de grandes tables de réglage car il y a plusieurs paramètres, ce qui rend l'espace hyperparamètre très grand . Afin d'aider un peu ce processus, la plate-forme Gaussian Fit peut réduire l'espace des paramètres lors d'ajustements itératifs. R2 fonctionne comme une métrique de remplacement très efficace avec cette plate-forme.
L'option d'amorçage pour les diagnostics de rapport est un outil très utile que j'utilise régulièrement. Je trouve également très utile le facteur nul du complément d'autovalidation pour tester quels facteurs (parmi un grand ensemble) doivent vraiment être conservés dans le modèle - une sorte de technique de réduction des facteurs de pré-modélisation.
Comme mentionné précédemment, les modèles ont tendance à mieux fonctionner lorsque la formation et la validation R2 approchent des valeurs similaires. L'autre extrême, une formation élevée et une faible validation, donne généralement des résultats bien pires dans l'ensemble. Lors de la définition des fonctions et des niveaux de désirabilité (ou seuils), cela peut être une partie très subjective et peut fortement influencer le résultat. Ce qui serait plus agréable, c'est un algorithme qui optimiserait ce processus pour vous. Bien sûr, la décision finale est toujours celle qui oblige l'utilisateur à faire l'appel - pour évaluer si le résultat a une signification physique, pas seulement une signification mathématique. Une analogie serait des données spectrales, disons des spectres Raman ou photoélectroniques, qui ont souvent des formes de lignes qui sont lorentziennes ou gaussiennes (ou un mélange). Mathématiquement, il est possible d'avoir un sigma négatif (écart type) puisque dans la fonction, sigma est au carré. Mais physiquement, cela n'a aucune signification, donc tout résultat d'ajustement d'un algorithme suggérant un sigma négatif pour la courbe peut être rejeté car il n'y a aucune base physique pour qu'une mesure ait un écart type négatif. De même, on peut obtenir des valeurs R2 négatives ou avoir des valeurs de validation R2 supérieures à celles de l'ensemble d'apprentissage, mais ces instances doivent être des drapeaux rouges majeurs et ne pas être prises en compte dans une analyse plus approfondie.
En fin de compte, cette méthode est utilisée pour aider à réduire l'espace des hyperparamètres afin que la recherche d'un minimum global plus stable soit plus rapide et plus facile que de générer une table de réglage massive avec des centaines de milliers de lignes pour tester toutes les combinaisons possibles. Cela ne fournit toujours que des recommandations pour les paramètres de réglage, et il faut encore évaluer si ces résultats ont du sens. Le modèle est toujours généré de manière itérative dans des conditions de départ aléatoires, mais à chaque fois, en se resserrant sur un ensemble de paramètres plus stable. Cette approche est utile avec les autres plates-formes de modélisation qui ont de nombreux paramètres d'entrée pour les régler.
Merci!,
DS
Re : Prediction Profiler et fonctions de désirabilitéje suis d'accord avec @Mark_Bailey , vous ne pouvez pas contourner vos pensées et vos opinions en faisant partie de la solution que vous proposez ici.
Je vous encourage à ne pas vous attarder sur RSquared.Avoir un R2 élevé ne signifie pas que vous avez un modèle utile, et avoir un R2 bas ne signifie pas que votre modèle ne remplira pas son objectif.Il serait juste que quelqu'un dise que le RMSE de votre modèle doit être inférieur à un seuil, mais cela n'a aucun sens pour lui de dire que R2 doit être supérieur à une valeur arbitraire.En fait, si vous prédisez quelque chose avec beaucoup d'erreurs de mesure ou de variation en raison de quelque chose qui ne se trouve pas dans votre ensemble de données et que vous avez un R2 très élevé, vous avez probablement un problème.
L'utilisation de R2 pour comparer le test et la validation est certainement valide et peut aider à détecter un modèle de surajustement. Juste en ayant des lignes différentes dans votre jeu de données si vous devez attendre le R2 soit différent.Par exemple, essayez de prendre l'ensemble de données de grande classe et de prédire la taille à l'aide d'un modèle linéaire des moindres carrés à partir de l'âge et du poids.Maintenant, si vous avez JMP Pro, cliquez avec le bouton droit sur la valeur RSquare affichée et sélectionnez bootstrap.Utilisez les valeurs par défaut, puis effectuez une distribution dans le tableau résultant et vous devriez obtenir une distribution similaire à celle ci-dessous.Si vous n'avez pas JMP Pro, vous pouvez obtenir quelque chose de similaire en prenant un sous-ensemble du tableau avec 30 lignes aléatoires et en faisant correspondre les moindres carrés, enregistrez le R2, puis répétez le processus plusieurs fois.

Le modèle n'a pas changé, juste les lignes utilisées pour le construire, et pourtant regardez cette variation dans R2 !Ainsi, s'attendre à ce que votre formation et votre validation R2 soient toujours à moins de 10 % l'une de l'autre pourrait imposer une contrainte artificielle inutile à votre solution.
Si vous souhaitez tester le sur-ajustement à l'aide d'une solution scriptée, en plus d'une certaine limite «garder sur la route» sur la différence de R2, vous pouvez essayer d'utiliser la formule Col Shuffle et d'ajuster votre modèle avec les Y aléatoires, vous devriez voir le R2 chute à près de zéro.Si ce n'est pas le cas, votre modèle est capable de modéliser le bruit aléatoire dans vos données.
Re : Prediction Profiler et fonctions de désirabilitéLe processus est objectif. Les décisions ne le sont pas.
Re : Prediction Profiler et fonctions de désirabilitéSalut @Mark_Bailey et @ih ,
@Mark_Bailey , votre première réponse en était une qui "la fera fonctionner". Malheureusement, ce n'est pas un processus d'optimisation automatisé, il ne trouve donc pas les conditions optimales de manière itérative. Néanmoins, il est certainement assez facile de modifier manuellement l'importance relative de chaque réponse.
En utilisant un mélange de votre suggestion et @ih La suggestion de s'avère être plus dans le sens de ce que je pense finalement que j'aimerais qu'il fasse. Il y a juste beaucoup d'ajustements manuels des fonctions de désirabilité - soit en changeant les nombres à la main, soit en déplaçant les petites cases dans le graphique. Ce serait bien d'avoir une méthode plus automatisée et un peu moins subjective pour atteindre mon objectif final.
@ih vous avez en partie raison de dire que je me fiche de savoir si le R2 Diff est de 0,01 ou de 0,1, cependant, si j'ai un R2 Diff de 0,1 et que mon R2 d'entraînement est de 0,8 et que mon R2 de validation est de 0,7, je préférerais cela à un R2 Diff de 0.01 si ma formation est à 0.31 et ma validation est à 0.3. En pratique, mes ensembles de données ont tendance à se comporter davantage comme ces derniers plutôt que comme les premiers - j'aimerais pouvoir faire en sorte que mes deux R2 soient aussi élevés que 0,8 et 0,7 !
Mélanger les deux suggestions me donne beaucoup à jouer, j'aimerais juste que ce soit un peu moins subjectif.
Merci pour les commentaires!,
DS
Re : Prediction Profiler et fonctions de désirabilitéVous pouvez également modifier la forme du graphique de la désirabilité pour indiquer qu'une plus grande différence est une plus grande pénalité. Il n'est pas nécessaire qu'il soit linéaire avec une valeur médiane au centre.
Remarque : vous pouvez contrôler le clic (Windows) ou le clic de commande (macOS) sur le tracé du graphique de fonction et modifier rapidement les valeurs pendant que vous essayez différents schémas. Je recommande de NE PAS modifier la désirabilité, mais uniquement de modifier les niveaux de réponse. Déplacez la valeur centrale vers une extrémité pour la rendre non linéaire.
Re : Prediction Profiler et fonctions de désirabilitéJe suppose que vous ne vous souciez pas de savoir si la différence R2 est de 0,01 ou 0,1, mais vous vous en souciez progressivement à mesure qu'elle augmente au-dessus d'un certain seuil. Vous pouvez essayer de faire de la différence R2 une formule qui est plate lorsqu'elle est inférieure à une certaine valeur, puis diminue progressivement à mesure qu'elle dépasse cette limite, ou vous pouvez configurer la fonction de désirabilité pour décrire cela.Je fais souvent ce dernier avec la métrique T2 dans les modèles multivariés.Vous pouvez en voir un exemple en passant à environ 16h30 dans la vidéo liée ci-dessous.
Optimisation des modèles multivariés : de la collecte de données aux conditions optimales et aux modèles de notation (2021-US-45MP-927)
Re : Prediction Profiler et fonctions de désirabilitéVous utilisez correctement les fonctions de profileur et de désirabilité. Il n'est pas faux d'utiliser la désirabilité = (0,1), mais vous pouvez essayer d'utiliser des valeurs comme 1 pour maximiser et 2 pour la différence et voir si cela vous rapproche de ce que vous voulez. La définition des fonctions (limites, importance) est essentielle pour dire au profileur ce que vous recherchez.
Cela dit, il n'est pas garanti que vous obtiendrez ce que vous voulez !