Expérience de simulation avec facteur catégoriel aléatoireSalut tout le monde,
Je cherche à examiner les effets de la variation du facteur continu "liquide" sur la réponse ("force") dans l'exemple Flrpaste.jmp. Dans le modèle final, j'ai "Liquide", "Farine" et "Type" comme facteurs.
Je voudrais effectuer une "Expérience de simulation" dans laquelle pour chaque cycle expérimental (composé de 5000 N Runs), j'aurais "Liquid" à un niveau unique (entre 4 et 5), "Flour" fixé à White et "Type " variant aléatoirement entre l'Eau et le Lait avec une probabilité égale (donc environ 2500 N Runs pour chaque type). Je sais qu'à partir de la plate-forme Simulation Experiment, je pourrais simplement sélectionner "Liquid" dans la liste des facteurs à expérimenter et le script générerait un tableau dans lequel chaque ligne correspondrait à une telle exécution expérimentale. Le problème est que l'expérience de simulation n'accepte que le type "fixe" pour le facteur catégoriel, donc je ne pourrai pas varier entre le lait et l'eau pour le "type".
Une option que j'utilise actuellement pour contourner ce problème consiste à le faire manuellement en modifiant la valeur "Liquide" dans l'image ci-dessous et en enregistrant le résultat de la simulation à chaque fois. Je me demande simplement si cela pourrait être quelque chose qui pourrait être facilement fait avec des scripts?
Vous trouverez ci-joint le fichier "Flrpaste.jmp" modifié - veuillez vous référer au script "Simulator" pour générer l'interface de simulation comme indiqué.
Merci!

AnalytiqueRe : Expérience de simulation avec un facteur catégoriel aléatoire
@hxnduke a écrit:
Merci pour la suggestion, @martindemel
Je suis un peu confuse. Dans le script "Simulation Experiment Table", les valeurs de toutes les colonnes en plus de Round(Type) sont données, mais comment avez-vous obtenu ces valeurs ? En outre, semble-t-il que la colonne Round(Type) est créée après la génération de la table de simulation ? Dans ce cas, la simulation ne serait-elle pas effectuée sur la base de valeurs de type telles que 1,2, 1,6, etc. plutôt que sur les valeurs rondes de 1 ou 2 ?
Ok, je pense que c'est de ma faute. Vous avez raison le taux de défaut global, ODR, (car les autres colonnes ont été calculées sur la base des valeurs numériques et le Round a été appliqué par la suite. Pour avoir un modèle ne prenant en compte que 1 et 2, vous devez modéliser l'ODR par type et par liquide. Dans la formule de prédiction enregistrée, vous échangez Type par Round(Type) car nous calculons maintenant sur la base du modèle l'ODR pour seulement 1 et 2 valeurs.
Ensuite, vous pouvez ajuster le script de processus gaussien avec la colonne log10(newODR) et avant de lancer, définissez la limite de réponse pour cette colonne à minimiser. Dans le profileur, vous pouvez voir les niveaux 1 et 2 avoir un impact. Verrouillez Round(Type) et réglez-le sur 1, puis optimisez. Faites de même pour 2. Et comparez les résultats. Cela donne probablement ce que vous voulez.
Cependant peut-être qu'une autre approche serait de sauvegarder la formule de prédiction du modèle avec effet catégoriel. Créez ensuite une table de simulation selon vos besoins pour les variables continues, ajoutez une colonne catégorielle aléatoire avec les niveaux dont vous avez besoin et ajoutez la formule de la colonne de prédiction dans une nouvelle colonne. Cela vous fournira un tableau de simulation avec autant de niveaux dont vous avez besoin pour votre valeur catégorielle basée sur le modèle créé en première instance.
Re : Expérience de simulation avec un facteur catégoriel aléatoireMerci pour la suggestion, @martindemel
Je suis un peu confuse. Dans le script "Simulation Experiment Table", les valeurs de toutes les colonnes en plus de Round(Type) sont données, mais comment avez-vous obtenu ces valeurs ? En outre, semble-t-il que la colonne Round(Type) est créée après la génération de la table de simulation ? Dans ce cas, la simulation ne serait-elle pas effectuée sur la base de valeurs de type telles que 1,2, 1,6, etc. plutôt que sur les valeurs rondes de 1 ou 2 ? Je comprends parfaitement votre point d'utilisation de la colonne Round(Type) comme entrée pour l'expérience de simulation, je ne sais pas trop comment cela pourrait être fait avant que la simulation ne soit réellement effectuée pour calculer le taux de défauts, etc.
Par exemple, cela fait partie du script qui montre comment la colonne Strength Mean est générée dans le script Simulation Experiment Table :
New Column( "Strength Mean",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values(
[9.22251973143198, 9.52515071457111, 9.13419539683891, 8.40703105322384,
7.77461735393402, 7.52128272230656, 9.09993409369168, 9.55028950380741,
Mon autre question est la suivante : cela pourrait-il être fait avec des facteurs catégoriels à plus de 2 niveaux ? Pour l'étude sur laquelle je travaille, il y a un facteur catégoriel avec 5 niveaux, donc je ne suis pas sûr que cela fonctionnerait à moins que j'ajoute des termes de deuxième, troisième et quatrième degré pour Type ?
Comme alternative, serait-il possible d'écrire un script pour automatiser le manuel, une procédure de simulation à la fois en utilisant le bouton Simuler, mais en laissant Liquid s'exécuter dans une boucle for à la place ?
Re : Expérience de simulation avec un facteur catégoriel aléatoirela seule façon à laquelle je peux penser d'utiliser la valeur catégorique dans une expérience de simulation est de tricher.
Vous devez créer une colonne continue avec les valeurs 1 et 2, par exemple . Cela peut être fait en sélectionnant la colonne Type. Puis menu Cols, utilitaires, étiquettes à codes. Cela changera les entrées de colonne en 1 et d2 et conservera les valeurs d'origine en tant qu'étiquettes. Bien sûr, vous pouvez créer une nouvelle colonne pour un comportement similaire.
Lorsque vous utilisez la simulation, vous pouvez utiliser uniforme. Dans l'expérience de simulation créée, vous ajoutez une colonne en cliquant avec le bouton droit sur la colonne de type, la nouvelle colonne de formule, la transformation, l'arrondi. Avec cela, vous créez une nouvelle colonne de 1 et 2 qui sont également répartis.
Maintenant, vous devez changer le script de modèle pour utiliser cette colonne au lieu de la colonne de type, dans cet exemple, lorsque vous n'avez rien changé, le :Type doit être échangé avec :Name("Round[Type]") dans le script si vous voulez pour exécuter le modèle.
Ci-joint une modification de votre table de données (y compris un script créant la table de simulation ne).