Ajouter des colonnes prédites à la table de donnéesJ'ai un script dans ma table JMP nommé "Outlier Analysis". J'ouvre le script, clique sur le petit triangle rouge et sélectionne Enregistrer les colonnes -> Formule de prédiction. Comment puis-je scripter cela ?
Voici ma démarche :
dt = current data table();
a = Eval( dt << get table property( "Outlier Analysis" ) );
abc = a << Report;
abc << prediction formula;
Re : Ajouter des colonnes prédites à la table de données@gzmorgan0 Une autre question, j'ai déjà adapté des scripts qui ont des groupes Fit, pas des modèles fit. Comment puis-je ajouter des résidus studentisés pour eux à la table de données ?Mon approche : essayez d'ajouter tous les modèles d'ajustement du groupe d'ajustement à une liste et passez cette liste pour ajouter des résidus. Le script ne fonctionne pas pour l'instant, mais est-ce la bonne voie à suivre ? De plus, si possible, pouvez-vous m'indiquer où je me trompe dans ce script ?
dt = Current Data Table();
ft = dt << Run Script( "Outlier Analysis" );
ftList = Substitute( ftList, Expr( FitGroup() ), Expr( {} ) );
Print( Head( ftList ) );
//For(i=1, i<=NItems(ftList),i++,
//ftList[i] << Studentized Residuals;
//);
;Re : Ajouter des colonnes prédites à la table de données@uday_guntupalli oui merci pour l'aide!!
Re : Ajouter des colonnes prédites à la table de données@powerpuff ,
C'est ce à quoi je n'arrêtais pas de vous référer. Content que ça marche enfin.
Re : Ajouter des colonnes prédites à la table de donnéesJe suis désolé, mais j'ai réalisé que c'était le plus simple.
Juste deux lignes de code ont sauvé ma formule
a = Eval( dt << get table property( "Outlier Analysis" ) );
a << save prediction formula;
Merci pour l'aide et je suis vraiment désolé pour la confusion. J'ai seulement ajouté "enregistrer" que j'ai en quelque sorte manqué.
Re : Ajouter des colonnes prédites à la table de données@gzmorgan0 oui, je voulais dire obtenir des formules à partir d'un rapport déjà existant. Comment puis-je écrire un script plus généralisé pour y parvenir ? J'ai donc un modèle ajusté dans l'échantillon de données Peanuts. Comment puis-je ajouter (à l'aide de JSL) la formule de prédiction ou les résidus studentisés à la table de données Peanuts existante ? Je fais manuellement : Enregistrer les colonnes -> pour cela.
Re : Ajouter des colonnes prédites à la table de donnéesConsultez le Guide de création de scripts et recherchez Messages et arguments de script uniquement par plate-forme . Les messages et les options sont différents selon le modèle.
Moindres carrés standard
Les messages JSL suivants renvoient l'élément demandé à partir du modèle ajusté, tel que les composants de variance, les valeurs de p, les estimations de paramètres, etc. :
fit_model_object << Get Variance Components( );
fit_model_object << Obtenir les noms d'effet ( );
fit_model_object << Get Effect PValues( );
fit_model_object << Obtenir les estimations( );
fit_model_object << Obtenir les noms des paramètres ();
fit_model_object << Obtenir des noms d'effets aléatoires ( );
fit_model_object << Obtenir les erreurs Std( );
fit_model_object << Obtenir la matrice X( );
fit_model_object << Get XPX Inverse( );
fit_model_object << Obtenir la matrice Y ( );
Le message suivant pour les objets des moindres carrés standard n'est disponible que dans JSL :
obj << Obtenir l'expression de prédiction SQL ;
___________________________________________________________________________________
Pour le dernier exemple, xx = FM << obtenir la formule de prédiction ; afficher(xx);
/*Enregistrer
xx = Nouvelle colonne("y", Numérique, Formule((-2.69577290612704) + Correspondance(:Médicament, "a", -1.18503653738055, "d", -1.07606520517145, "f", 2.261101742552, .) + 0.98718381112984 8 * :x), Set Property("Predicting", {:y, Creator("Fit Least Squares")}));
Demandez-vous comment écrire un script pour obtenir les formules d'une fenêtre déjà créée avec un rapport ajusté ?Si oui, voyons si je peux émuler cette situation : Aide> Index des scripts> Objets> Ajuster le modèle> Moindres carrés, puis exécutez l'exemple de script.
obj la référence à l'ajustement des moindres carrés n'est reconnue que dans ce script.Pour pouvoir obtenir la formule, vous devez obtenir un handle vers l'objet modèle. Il y a peut-être une autre méthode, mais voici ma méthode :
- demander la fenêtre ou utiliser le nom de la fenêtre pour créer un handle vers le rapport
- obtenir son enfant et la première OutlIne Box
- obtenir l'objet scriptable
- obtenir la formule.
Si votre script comporte plusieurs modèles, je vous recommande d'utiliser Xpath pour obtenir toutes les instances.Le script joint obtient les formules du script Scripting Index. Le rapport comporte 2 réponses (2 modèles) et crée un tableau associatif de formules.
Je ne suis pas sûr que ce soit ce que vous demandiez.Au fait, une fois que vous avez une poignée (référence) à l'objet scriptable, vous pouvez lui envoyer des messages pour enregistrer les formules dans la table. L'une des fonctionnalités intéressantes de Xpath, et d'obtenir un objet scriptable, peut trouver 20 modèles, mais vous pouvez envoyer le message une fois et il est appliqué à chacun des modèles.
Si ce n'est pas votre question, veuillez clarifier.
Re : Ajouter des colonnes prédites à la table de données@uday_guntupalli mais j'ai un groupe en forme avec beaucoup de modèles en forme. De plus, je ne veux pas limiter cela à un seul script.
Re : Ajouter des colonnes prédites à la table de données@powerpuff ,
Je ne suis pas sûr d'avoir suivi ce que vous avez dit cependant sur la base de ce que j'ai compris, ici :
Pour une analyse Fit Model, que vous effectuez, vous pouvez saisir la formule directement dans le tableau de cette manière. Vous n'avez pas besoin d'extraire la formule séparément.
dt = Open( "$SAMPLE_DATA/Drug.jmp" );
FM = dt << Fit Model(
Y( :y ),
Effects( :Drug, :x ),
Personality( "Standard Least Squares" ),
Emphasis( "Minimal Report" ),
Run(
:y << {Summary of Fit( 1 ), Analysis of Variance( 1 ),
Parameter Estimates( 1 ), Show Prediction Expression( 1 ),
Plot Actual by Predicted( 0 ), Plot Residual by Predicted( 0 ),
Plot Effect Leverage( 0 )}
)
);
FM << Get Prediction Formula; Vérifiez votre journal et la formule est imprimée. Lorsque vous voulez dire obtenir la formule de cette façon, je suppose que vous voulez y accéder à partir du rapport. Si c'est ce que vous recherchez, vous pouvez ajouter comme indiqué ci-dessus - Afficher l'expression de prédiction (1) à votre modèle d'ajustement, puis accéder à l'expression
Re : Ajouter des colonnes prédites à la table de donnéesJe comprends, mais j'ai déjà le script prêt. Je ne veux pas ajouter à nouveau la partie Partition. Par exemple,
a = Eval( dt << get table property( "Outlier Analysis" ) );
abc = a << Report;
dta = abc["Summary of Fit"][Table Box( 1 )] << Make Combined data table;
Ce script m'a aidé à ouvrir le tableau Summary of Fit du script "Outlier Analysis". Existe-t-il un moyen d'ajouter une formule de prédiction de cette façon ?@uday_guntupalli
Re : Ajouter des colonnes prédites à la table de données@powerpuff
Regardez l'exemple ci-dessous.
dt = Open( "$SAMPLE_DATA/Boston Housing.jmp" );
obj = Partition(
Y( :mvalue ),
X(
:crim,
:zn,
:indus,
:chas,
:nox,
:rooms,
:age,
:distance,
:radial
),
Method( "Boosted Tree" ),
Validation Portion( .2 ),
Go
);
obj << Save Prediction Formula;