Implémentation du modèle « Power Fit » dans JMP et réglage du modèleTous,
J'ai des données qui correspondent bien au "Power Fit" dans Excel.
J'ai trouvé des informations utiles dans cet article ( https://community.jmp.com/t5/Discussions/Power-Fit-Equation-for-JMP/td-p/5783 )
J'apprécierais grandement quelques conseils supplémentaires sur ce sujet :
- Lorsque l'ajustement puissant est effectué sur les données dans Excel, l'ajustement semble assez raisonnable
- Afin d'effectuer l'ajustement de puissance sur les données en JSL, theta1 et theta2 sont les 2 paramètres réglables. J'ai déterminé par essais et erreurs quelle est une valeur raisonnable pour thêta2 et thêta 1 pour que le modèle d'ajustement soit bien adapté aux données.
Comment un utilisateur peut-il déterminer quelles sont les meilleures valeurs pour theta1 et theta2 pour l'ensemble de données donné sans surajuster le modèle ?
Veuillez fournir un exemple si possible.
Re : Implémentation du modèle « Power Fit » dans JMP et réglage du modèleAfin de conclure, je publie la réponse que j'ai reçue du support technique.
Essentiellement, le lancement de plate-forme non linéaire via JSL présente certaines limites, c'est-à-dire que la meilleure façon d'exploiter les modèles non linéaires est de procéder comme suit :
1. Définir une colonne qui code la formule qui régit le modèle
2. Fournissez la colonne formulée comme entrée à l'appel de fonction de la plateforme non linéaire.
Ceci, tout en exigeant une valeur de départ initiale, est la meilleure réponse que j'ai trouvée jusqu'à présent.
dt << New Column("Model E", Numeric, Continuous,
Formula( Parameter( {theta1 = 0.03, theta2 = 1.25}, theta1 * :year ^ theta2 ) )
);
dt << New Column("Exponential 3", Numeric, Continuous,
Formula( Parameter( {a = -20, b = 0.01, c = 0.01},
a + b * Exp( c * :year ) ) )
);
dt << New Column("Mechanistic Growth", Numeric, Continuous,
Formula( Parameter( {a = -40, b = 0.01, c = -0.01},
a * (1 - b * Exp( -c * :year ) ) ) )
);
dt << Run Formulas;
fc = Nonlinear( Y( :pop ), X( :Name("Exponential 3" )) );
fc << Finish;
fc << Save Prediction Formula;
//End Script;Re : Implémentation du modèle « Power Fit » dans JMP et réglage du modèleMa compréhension du fonctionnement de la plateforme non linéaire est un peu différente.Pour exécuter cette plate-forme, vous créez une colonne de prédicteur de formule à l'aide de paramètres. Je pense que vous devez mettre les valeurs initiales de ces paramètres sous forme de suppositions.Lorsque vous cliquez sur « Go », la plateforme vous dira si elle a convergé vers une solution ou non.S'il converge et que vous enregistrez la solution, il place ces valeurs dans la colonne de prédicteurs que vous avez créée - mais la formule est toujours la même que l'originale.En d'autres termes, la colonne de prédicteur contient des paramètres que vous initialisez et qui doivent être optimisés.Mais contrairement aux autres plates-formes JMP, la colonne de sauvegarde ne crée pas de nouvelle colonne mais place uniquement les valeurs de solution pour l'optimisation non linéaire dans la même colonne de formule que vous avez créée.
Ma compréhension est peut-être fausse, alors quelqu'un peut me corriger.
Re : Implémentation du modèle « Power Fit » dans JMP et réglage du modèle@dale_lehman , @susan_walsh1
Merci pour votre suggestion .
J'essaie de rassembler un exemple pour comprendre le flux de travail.
Lorsque je lance la plateforme Modèle "Non-Linéaire", et précise ce qui suit :
- Y - variable
- X-variable
- Modèle non linéaire
Enregistrez la formule prédite : les valeurs sont enregistrées dans le tableau de données.
Je suppose qu'en suivant ces étapes, puisque je ne définis aucune valeur de départ pour les paramètres du modèle, JMP définit automatiquement ce qu'il pense être les meilleures valeurs possibles pour les paramètres du modèle et enregistre les données prédites sous forme de colonne dans le fichier. tableau de données.
Cependant, si j'essaie d'exécuter un deuxième modèle sur la même table de données, la colonne qui est ajoutée après le deuxième lancement de la plate-forme non linéaire contient l'équation de l'ancien modèle.Veuillez consulter l'exemple de code ci-dessous :
Clear Log();
Clear Globals();
dt = Open( "$SAMPLE_DATA/Nonlinear Examples/US Population.jmp" );
/* Run Predictions using different models*/
PowerFitPredModel = Nonlinear(Y(:pop),X(:Name("X-formula")),"Model E(2P)");
PowerFitPredModel << Save Prediction Formula ;
PowerFitPredModel << Close Window;
Wait(0.1);
CPredModel = Nonlinear(Y(:pop),X(:Name("X-formula")),"Mechanistic Growth Model(3P)");
CPredModel << Save Prediction Formula ;
CPredModel << Close Window;
Maintenant, voici quelques choses que je ne suis pas :
- Lorsque je lance la plateforme non linéaire plusieurs fois, pourquoi seule la première équation du modèle que j'appelle est-elle appliquée dans le script ci-dessus ?
- Comment puis-je déterminer si les paramètres que JMP suppose être adaptés au modèle donnent une solution convergente ?

Re : Implémentation du modèle « Power Fit » dans JMP et réglage du modèleJe n'ai pas de réponse, mais cela pourrait lancer une discussion intéressante.Vous trouverez ci-joint un petit ensemble de données contenant quelques observations sur la vitesse des automobiles et la distance d'arrêt.Une courbe de puissance semble bien s’adapter.J'ai utilisé la plate-forme non linéaire dans JMP avec la colonne de l'estimateur - j'ai utilisé des suppositions de paramètres initiales de 1,1 (pas trop proches des bonnes valeurs mais pas très éloignées) - ce qui est enregistré dans l'ensemble de données est le meilleur ajustement du non linéaire platfrom (en réponse partielle à votre question, JMP calculera theta1 et theta2 afin que vous n'ayez pas à vous soucier du "surajustement", mais il y a un problème de savoir si JMP convergera vers une solution en fonction des valeurs que vous utilisez comme suppositions de départ) .J'ai également mis une colonne utilisant la formule donnée par Excel pour la ligne de tendance Power Fit.Attention, ce ne sont pas les mêmes !L'ajustement JMP est meilleur que l'ajustement Excel.Ce n’est pas choquant, car Excel n’effectue souvent pas la meilleure analyse statistique.Cependant, j'ai été surpris de voir à quel point les deux solutions sont différentes pour ces données assez simples.
Je pense que JMP et Excel peuvent rencontrer des problèmes lors de l'établissement d'une relation de pouvoir avec les données.JMP peut converger ou non vers une solution s'il converge, je pense que la solution est fiable.Excel vous donne juste un ajustement - je ne sais pas s'il donne une erreur s'il ne peut pas s'adapter ou ce qui se passe - peut-être que quelqu'un peut faire la lumière sur la façon dont Excel adapte la fonction de puissance aux données.Je pense que le "surajustement" est ici une fausse piste - il s'agit de savoir si la relation de pouvoir est la bonne ou non, et non la relation de pouvoir particulière qui est adaptée.Puisque l'algorithme choisit les valeurs thêta1 et thêta2, ce seront les valeurs qui correspondent le mieux aux données - le surajustement est toujours une possibilité, mais c'est une propriété de la fonction que vous utilisez pour ajuster les données et non les choix particuliers du paramètres choisis par l’algorithme.Une façon peut-être plus claire de dire cela est que si ces données particulières ne constituent pas un bon échantillon des données que vous essayez de modéliser (peut-être un type de voiture différent), alors l'ajustement de la relation de pouvoir à ces données comporte un risque de surajustement.
La question Excel vs JMP est différente et je suis intéressé si quelqu'un peut faire la lumière sur les différences entre les deux.