Vorhersagegleichungen automatisch in der Datentabelle speichernHallo zusammen,
Ich verwende das Tool „Modell anpassen“, um Anpassungsgleichungen für eine bestimmte Datenteilmenge zu erstellen, die ich dann auf eine größere Datenmenge anwenden und den RMS-Wert zwischen dem vorhergesagten und dem tatsächlichen Wert messen möchte. Ich habe 231 eindeutige Proben (gekennzeichnet als RunID) und innerhalb jeder Probe habe ich zwei verschiedene Kanäle, die ich auswerte. Dies führt zu 436 Total-Fit-Gleichungen. Ich verwende das Tool „Modell anpassen“, um die 436 Gleichungen zu erstellen, und ich kann jede Ausgabe manuell durchgehen und jede der Gleichungen in einer Spalte in der Datentabelle speichern. Dann kopiere ich die Formel für diese Spalte und füge sie wieder in meinen größeren Datensatz ein und messe den „vorhergesagten vs. tatsächlichen“ Wert. Ich möchte die Gleichungen nicht manuell einfügen, aber es scheint, als gäbe es ein paar Lösungen, die gepostet wurden Hier Und Hier , aber ich kann anscheinend keines davon zum Laufen bringen.
Folgendes habe ich:
JMP-Version: 16
Ich versuche, den Zoffset aus den Xoffset- und Yoffset-Positionen vorherzusagen, daher sollte ich eine Gleichung für jede „RunID/Channel“-Kombination erhalten.
Wenn ich das folgende Skript ausführe, erhalte ich Folgendes:

Ich habe nur die oben verlinkten Ansätze kopiert, aber in meinem Code muss etwas anderes sein, das nicht ganz passt.
obj = Fit Model(
Y(:ZOffset),
By(:RunID, :Channel Only Location),
Effects(
:XOffset, :XOffset * :XOffset, :XOffset * :XOffset * :XOffset, :YOffset, :YOffset * :YOffset,
:YOffset * :YOffset * :YOffset, :XOffset * :YOffset
),
Personality("Standard Least Squares"),
Emphasis("Minimal Report"),
Run(
:ZOffset << {Summary of Fit(1), Analysis of Variance(1), Parameter Estimates(1), Lack of Fit(0), Scaled Estimates(0),
Plot Actual by Predicted(0), Plot Regression(0), Plot Residual by Predicted(0), Plot Studentized Residuals(0),
Plot Effect Leverage(0), Plot Residual by Normal Quantiles(0), Box Cox Y Transformation(0)}
)
);
obj << (Fit[1] << Save Prediction Formula);Datenmischung und -bereinigungDatenexploration und -visualisierungMassenanpassungBetreff: Vorhersagegleichungen automatisch in der Datentabelle speichernLiebling @rlangsner Bitte beachten Sie zusätzlich zu Jarmo, dass das Return-of-Run-Modell eine Liste ist, wenn eine Nach-Gruppe verwendet wird, siehe Beispiel unten.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
obj = dt << fit model( Y( :weight ), effects( :age, :height ), Personality( "Standard Least Squares" ));
mod1 = obj << run;
mod1 << prediction formula;
obj_by = dt << fit model( Y( :weight ), by( :sex ), effects( :age, :height ), Personality( "Standard Least Squares" ) );
mod2 = obj_by << run;
For Each( {value}, mod2, value << prediction formula );Betreff: Vorhersagegleichungen automatisch in der Datentabelle speichernHallo Jarmo,
Danke schön. Ich habe das Skript aktualisiert, indem ich einfach „obj << Vorhersageformel“ gesagt habe, und dadurch wurden die Informationen in einer neuen Spalte in meinem Datensatz gespeichert.Hier sind die Optionen in meinem Dropdown:

Betreff: Vorhersagegleichungen automatisch in der Datentabelle speichernMöglicherweise müssen Sie eine andere Nachricht verwenden. Überprüfen Sie, welche Optionen Sie im Menü mit dem roten Dreieck erhalten

Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Animals.jmp");
obj = dt << Fit Model(
Y(:miles),
Effects(:species, :subject[:species] & Random, :season, :species * :season),
Personality(Standard Least Squares),
Run(
:ZOffset << {Summary of Fit(1), Analysis of Variance(1), Parameter Estimates(1), Lack of Fit(0), Scaled Estimates(0),
Plot Actual by Predicted(0), Plot Regression(0), Plot Residual by Predicted(0), Plot Studentized Residuals(0),
Plot Effect Leverage(0), Plot Residual by Normal Quantiles(0), Box Cox Y Transformation(0)}
)
);
obj << Prediction Formula;