Fügen Sie vorhergesagte Spalten zur Datentabelle hinzuIch habe in meiner JMP-Tabelle ein Skript mit dem Namen „Outlier Analysis“. Ich öffne das Skript, klicke auf das kleine rote Dreieck und wähle „Spalten speichern“ -> „Vorhersageformel“. Wie kann ich das skripten?
Hier ist mein Ansatz:
dt = current data table();
a = Eval( dt << get table property( "Outlier Analysis" ) );
abc = a << Report;
abc << prediction formula;
Betreff: Vorhergesagte Spalten zur Datentabelle hinzufügen@gzmorgan0 Noch eine Frage: Ich habe bereits angepasste Skripte mit Fit-Gruppen und nicht mit Fit-Modellen. Wie kann ich studentisierte Residuen für sie zur Datentabelle hinzufügen?Mein Ansatz: Versuchen Sie, alle Anpassungsmodelle in der Anpassungsgruppe zu einer Liste hinzuzufügen, und übergeben Sie diese Liste, um Residuen hinzuzufügen. Das Skript funktioniert im Moment nicht, aber ist das der richtige Weg? Können Sie mich, wenn möglich, auch darauf hinweisen, wo ich in diesem Skript einen Fehler mache?
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;
//);
;Betreff: Vorhergesagte Spalten zur Datentabelle hinzufügen@uday_guntupalli Ja, danke für die Hilfe!!
Betreff: Vorhergesagte Spalten zur Datentabelle hinzufügen@powerpuff ,
Darauf habe ich Sie immer wieder hingewiesen. Ich bin froh, dass es endlich geklappt hat.
Betreff: Vorhergesagte Spalten zur Datentabelle hinzufügenEs tut mir leid, aber mir wurde klar, dass es am einfachsten ist.
Nur zwei Codezeilen haben meine Formel gespeichert
a = Eval( dt << get table property( "Outlier Analysis" ) );
a << save prediction formula;
Vielen Dank für die Hilfe und es tut mir so leid für die Verwirrung. Ich habe nur „Speichern“ hinzugefügt, was ich irgendwie übersehen habe.
Betreff: Vorhergesagte Spalten zur Datentabelle hinzufügen@gzmorgan0 Ja, ich meinte, Formeln aus einem bereits vorhandenen Bericht zu beziehen. Wie kann ich ein allgemeineres Skript schreiben, um dies zu erreichen? Ich habe also ein angepasstes Modell im Peanuts-Beispieldatensatz. Wie kann ich (mit JSL) die Vorhersageformel oder studentisierte Residuen zur vorhandenen Peanuts-Datentabelle hinzufügen? Ich mache das manuell: Spalten speichern -> dafür.
Betreff: Vorhergesagte Spalten zur Datentabelle hinzufügenSehen Sie sich das Scripting-Handbuch an und suchen Sie nach Nur-Skript-Nachrichten und Argumente nach Plattform . Die Meldungen und Optionen sind je nach Modell unterschiedlich.
Standardmäßige kleinste Quadrate
Die folgenden JSL-Nachrichten geben das angeforderte Element aus dem angepassten Modell zurück, z. B. Varianzkomponenten, p-Werte, Parameterschätzungen usw.:
fit_model_object << Get Variance Components( );
fit_model_object << Get Effect Names( );
fit_model_object << Get Effect PValues( );
fit_model_object << Schätzungen abrufen( );
fit_model_object << Get Parameter Names( );
fit_model_object << Get Random Effect Names( );
fit_model_object << Get Std Errors( );
fit_model_object << Get X Matrix( );
fit_model_object << Get XPX Inverse( );
fit_model_object << Get Y Matrix( );
Die folgende Meldung für Standardobjekte der kleinsten Quadrate ist nur in JSL verfügbar:
obj << SQL-Vorhersageausdruck abrufen;
___________________________________________________________________________________
Für das letzte Beispiel gilt: xx = FM << getvorhersageformel; show(xx);
/*Protokoll
xx = Neue Spalte("y", Numerisch, Formel((-2.69577290612704) + Match(:Drug, "a", -1.18503653738055, "d", -1.07606520517145, "f", 2.261101742552, .) + 0.9871838111298 48 * :x), Set Property("Predicting", {:y, Creator("Fit Least Squares")}));
Fragen Sie sich, wie Sie ein Skript schreiben, um die Formeln aus einem bereits erstellten Fenster mit einem angepassten Bericht abzurufen?Wenn ja, schauen wir mal, ob ich diese Situation emulieren kann: Hilfe > Skriptindex > Objekte > Modell anpassen > Kleinste Quadrate und dann das Beispielskript ausführen.
obj Der Verweis auf die Anpassung der kleinsten Quadrate wird nur innerhalb dieses Skripts erkannt.Um die Formel abrufen zu können, müssen Sie einen Handle für das Modellobjekt erhalten. Es könnte eine andere Methode geben, aber hier ist meine Methode:
- Fragen Sie nach dem Fenster oder verwenden Sie den Fensternamen, um ein Handle für den Bericht zu erstellen
- Holen Sie sich sein Kind und die erste OutlIne-Box
- Holen Sie sich das skriptfähige Objekt
- Holen Sie sich die Formel.
Wenn Ihr Skript über mehrere Modelle verfügt, empfehle ich Ihnen, Xpath zu verwenden, um alle Instanzen abzurufen.Das angehängte Skript ruft die Formeln aus dem Skriptindex-Skript ab. Der Bericht verfügt über 2 Antworten (2 Modelle) und erstellt ein assoziatives Formelarray.
Ich bin mir nicht sicher, ob das das ist, wonach Sie gefragt haben.Sobald Sie ein Handle (eine Referenz) auf das scrtiptable-Objekt haben, können Sie ihm übrigens Nachrichten senden, um die Formeln in der Tabelle zu speichern. Eine der netten Funktionen von Xpath und das Abrufen von skriptfähigen Objekten besteht darin, dass es möglicherweise 20 Modelle findet, aber Sie können die Nachricht einmal senden und sie wird auf jedes der Modelle angewendet.
Wenn dies nicht Ihre Frage ist, klären Sie sie bitte.
Betreff: Vorhergesagte Spalten zur Datentabelle hinzufügen@uday_guntupalli aber ich habe eine fitte Gruppe mit vielen fitten Models. Außerdem möchte ich dies nicht auf nur ein Skript beschränken.
Betreff: Vorhergesagte Spalten zur Datentabelle hinzufügen@powerpuff ,
Ich bin nicht sicher, ob ich dem gefolgt bin, was Sie gesagt haben, aber basierend auf dem, was ich verstehe, hier:
Bei einer Fit-Model-Analyse, die Sie durchführen, können Sie die Formel auf diese Weise direkt in der Tabelle erfassen. Sie müssen die Formel nicht separat extrahieren.
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; Überprüfen Sie Ihr Protokoll und die Formel wird gedruckt. Wenn Sie damit meinen, dass Sie die Formel auf diese Weise erhalten möchten, gehe ich davon aus, dass Sie über den Bericht darauf zugreifen möchten. Wenn Sie danach suchen, können Sie wie oben gezeigt „Show Prediction Expression(1)“ zu Ihrem Anpassungsmodell hinzufügen und dann auf den Ausdruck zugreifen
Betreff: Vorhergesagte Spalten zur Datentabelle hinzufügenIch verstehe es, aber ich habe das Skript bereits fertig. Ich möchte den Partitionsteil nicht noch einmal hinzufügen. Zum Beispiel,
a = Eval( dt << get table property( "Outlier Analysis" ) );
abc = a << Report;
dta = abc["Summary of Fit"][Table Box( 1 )] << Make Combined data table;
Dieses Skript hat mir geholfen, die Tabelle „Zusammenfassung der Anpassung“ aus dem Skript „Ausreißeranalyse“ zu öffnen. Gibt es eine Möglichkeit, auf diese Weise eine Vorhersageformel hinzuzufügen?@uday_guntupalli
Betreff: Vorhergesagte Spalten zur Datentabelle hinzufügen@powerpuff
Schauen Sie sich das Beispiel unten an.
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;