Bootstrapping von 2 gleichzeitigen TabellenIch frage mich, ob jemand weiß, wie man zwei separate Tabellen gleichzeitig bootet oder simuliert.Zum Beispiel.
Names default to here(1);
dt = open("$SAMPLE_DATA\Big Class.jmp");
dt << Fit Model(
Y( :height ),
Effects( :weight, :age, :weight * :age ),
Personality( "Generalized Regression" ),
Generalized Distribution( "Normal" ),
Run(
Fit( Estimation Method( Lasso ), Validation Method( AICc ) )
),
);
Nehmen wir an, ich möchte den AICc der Werte für dieses Modell in einem Bootstrap erhalten und diesen mit den Schätzungen eines Bootstraps in Einklang bringen?
Kann ich beiden einfach den gleichen zufälligen Startwert geben? Wenn ja, würde der Bootstrap dann nicht doppelt so lange dauern?
Ich vermute, dass Bootstrapping bereits Multithreading ist?
*Bearbeiten* Nun, es sieht so aus, als ob Bootstrapping kein Multithreading ist (soweit ich das beurteilen kann), aber Parallel Assign kann sowieso keine Anzeigefelder verwenden.Mist.
Betreff: Bootstrapping von 2 gleichzeitigen TabellenSie könnten das Gleiche tun, indem Sie den Zufallsstartwert innerhalb des Bootstrap()-Aufrufs festlegen. Random Reset() ist lediglich die Funktion, mit der Sie den internen Startwert für den Zufallszahlengenerator zu einem bestimmten Zeitpunkt in Ihrem Skript festlegen können.Betreff: Bootstrapping von 2 gleichzeitigen TabellenNiedlich.
Ich habe versucht, das interaktiv zu machen. Cool, dass ich das einfach per Skript machen kann.
Ich habe „Random Reset()“ noch nie gesehen, es scheint, dass es dasselbe ist wie das Senden von Random Seed() an „Bootstrap“.Ziemlich cool.
Das scheint genau das zu tun, was ich will.
Betreff: Bootstrapping von 2 gleichzeitigen TabellenDas ist großartig, danke fürs Teilen, Michael!
Betreff: Bootstrapping von 2 gleichzeitigen TabellenHallo Vince,
Ich denke, dieses Skript sollte Ihnen zeigen, wie es geht. Ich kenne keine interaktive Möglichkeit, aber Sie können JSL verwenden, um mehrere Spalten im Bericht auszuwählen und dann die Bootstrap-Nachricht an eine davon zu senden. Der Bootstrap wird dann für alle Tabellen durchgeführt, die eine ausgewählte Spalte haben. Im folgenden Beispiel finden Sie eine Möglichkeit, die Parameterschätzungen zusammen mit dem entsprechenden AICc-Wert zu erhalten.
Names default to here(1);
dt = open("$SAMPLE_DATA\Big Class.jmp");
fm = dt << Fit Model(
Y( :height ),
Effects( :weight, :age, :weight * :age ),
Personality( "Generalized Regression" ),
Generalized Distribution( "Normal" ),
Run(
Fit( Estimation Method( Lasso ), Validation Method( AICc ) )
),
);
rpt = report(fm)["Normal Lasso with AICc Validation"];
rpt["Model Summary"][NumberColBox("")] << select;
rpt["Parameter Estimates for Original Predictors"][NumberColBox("Estimate")] << select;
randomreset(10373520);
dtlst = rpt["Parameter Estimates for Original Predictors"][NumberColBox("Estimate")] << Bootstrap(10, Fractional Weights(1));
dtlst[3] << Set Name("Measure Results");
dtlst[4] << Set Name("Parameter Estimates");
dtnew = dtlst[4] << Join(
With( dtlst[3] ),
By Matching Columns( :Name( "BootID•" ) = :Name( "BootID•" ) ),
Select( dtlst[4] << Get Column Names ),
Select With( :AICc ),
Preserve Main Table Order( 1 ),
Drop Multiples( 0, 0 )
)
Hoffentlich hilft das,
Michael