Besoin d'aide pour automatiser la sélection de modèles par étapes !Bonjour les experts JMP,
J'ai besoin de votre aide pour réviser mon code afin d'automatiser la sélection de modèle par étapes avec un seuil de valeur p. Ce JSL ci-joint peut s'exécuter automatiquement par étapes en fonction des effets et de la réponse attribués. Je dois ajouter plus de fonctions pour rendre mon travail plus efficace.
1. Je souhaite que ce script puisse générer automatiquement des interactions et des quadratiques en fonction de prédicteurs (il est préférable de l'avoir, mais ce n'est pas nécessaire)
2. Le script doit générer un modèle pour chaque réponse de la liste réponse_col.
3. Après l'exécution du modèle, je souhaite que ce rapport de réponse contienne les tracés ou tableaux suivants :
{Résumé de l'ajustement( 1 ), Analyse de la variance( 1 ),
Estimations des paramètres (1), tests d'effets (0), détails des effets (0),
Manque d'ajustement (0), estimations mises à l'échelle (0), tracé réel par prévision (1),
Tracer la régression ( 0 ), Tracer le résidu par prédit ( 0 ),
Tracer les résidus étudiants (1), effet de levier de l'effet de tracé (0),
Tracer le résidu par quantiles normaux ( 1 ), Transformation Box Cox Y ( 0 ),
Appuyez sur ( 1 )}
4. Je souhaite enregistrer ce rapport dans la table JMP avec un nom attribué tel que stepwise_ réponse.
5. Enregistrez tous ces tracés et tableaux dans des graphiques séparés sous un dossier attribué, afin que je n'aie pas besoin de copier les résultats du modèle un par un dans PowerPoint ou un document Word.
Organisation du contenuRe : Besoin d'aide pour automatiser la sélection de modèles par étapes !Salut @lazzybug ,
Je suis désolé, j'ai trouvé une erreur dans mon script. Veuillez remplacer ; avec ,.
// Previous script
Prob to Leave( ^var2^ );
Direction ("Mixed");
Rules("Combine");
// Correct one
Prob to Leave( ^var2^ ),
Direction ("Mixed"),
Rules("Combine"),Re : Besoin d'aide pour automatiser la sélection de modèles par étapes !Je viens de remarquer que la direction est uniquement vers l'avant. Comment pouvons-nous le changer en « mixte » dans le code ci-dessus ?
Re : Besoin d'aide pour automatiser la sélection de modèles par étapes !Salut @yuichi_katsumur Merci beaucoup pour votre aide précédente sur JSL étape par étape. Cela a bien fonctionné, la méthode pas à pas n'a qu'un seul seuil de valeur P, mais cet exemple ci-dessous a deux méthodes pas à pas, l'une est le seuil de valeur P, l'autre est le BIC minimum. Lorsque j'ai utilisé votre code pour enregistrer le modèle, il comporte deux modèles, je dois utiliser du code pour supprimer le dernier script à chaque fois après avoir enregistré les modèles. Existe-t-il un moyen de supprimer le BIC minimum dans le graphique ci-dessous ?
La direction pas à pas que j'ai utilisée est "Mixte", mais le graphique ci-dessous ne montre que "Avant", alors quelle est la direction réelle utilisée dans le script ?
@jthi pouvez-vous également nous aider à jeter un œil ?

sdt = Ouvert("$SAMPLE_DATA/Boston Housing.jmp");
réponse_col = {" :mvalue", ":crim"};
effets_term = {:zn, :indus, :chas, :nox, :rooms, :age, :distance, :radial, :tax, :pt, :b,
:lstat};
var1= 0,05 ;
var2 = 0,25 ;
Pour (i = 1, i <= N éléments (response_col), i++,
Évaluer(
Analyser (
Insertion d'évaluation (
"\[step_wise = Ajuster le modèle (
Y( ^response_col[i]^ ),
Effets( ^effects_term^ ),
Personnalité (par étapes),
Exécuter le modèle (
Règle d'arrêt ("Seuil de valeur P"),
Probable d'entrer ( ^var1^ ),
Probable de partir ( ^var2^ );
Direction ("Mixte");
Règles("Combiner");
),
Courir
);
]\"
)
)
);
step_wise << Terminer ;
Attendez( 0 );
fit_model = step_wise << Exécuter le modèle ;
/* step_wise << fermer la fenêtre();*/
);
Re : Besoin d'aide pour automatiser la sélection de modèles par étapes !La page suivante est utile pour comprendre comment gérer les expressions.
https://community.jmp.com/t5/JSL-Cookbook-Archived/Insert-one-expression-into-another-using-Eval-Insert-Eval-Expr/ta-p/48998
Pour la régression par étapes, voici un exemple :
For( i = 1, i <= N Items( response_col ), i++,
Eval(
Parse(
Eval Insert(
"\[step_wise = Fit Model(
Y( ^response_col[i]^ ),
Effects( ^effects_term^ ),
Personality( Stepwise ),
Run Model(
Stopping Rule( "P-value Threshold" ),
Prob to Enter( 0.05 ),
Prob to Leave( 0.25 ),
),
Run
);
]\"
)
)
);
step_wise << Finish;
Wait( 0 );
fit_model = step_wise << Run model;
step_wise << close window();
);//end of loop
Veuillez consulter le fichier ci-joint pour le script complet.
(J'ai trouvé une erreur et édité le script. 19 avril 2023)