bootstrap 2 tables simultanéesJe me demande si quelqu'un sait comment amorcer ou simuler deux tables distinctes à la fois.Par exemple.
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 ) )
),
);
Disons que je veux obtenir l'AICc des valeurs de ce modèle dans un bootstrap et que cela s'aligne sur les estimations d'un bootstrap ?
Puis-je simplement leur donner à la fois la même graine aléatoire? Si c'est le cas, cela ne rendrait-il pas le bootstrap deux fois plus long ?
Je suppose que le bootstrap est déjà multithread?
*Modifier* Eh bien, il semble que l'amorçage ne soit pas multithread (d'après ce que je peux dire), mais Parallel Assign ne peut de toute façon pas utiliser les displayboxes.Et mince.
Re : amorcer 2 tables simultanéesVous pouvez faire la même chose en définissant la graine aléatoire dans l'appel Bootstrap(). Random Reset() est simplement la fonction qui vous permet de définir la graine interne du générateur de nombres aléatoires à un moment précis de votre script.Re : amorcer 2 tables simultanéesMignonne.
J'essayais de le faire de manière interactive, cool que je puisse le faire simplement par script.
Je n'ai jamais vu `random reset()`, il semble que ce soit la même chose que d'envoyer random seed() à `bootstrap`.Plutôt cool.
Cela semble faire exactement ce que je veux.
Re : amorcer 2 tables simultanéesC'est super, merci pour le partage Michel !
Re : amorcer 2 tables simultanéesSalut Vince,
Je pense que ce script devrait vous montrer comment le faire. Je ne connais pas de moyen interactif de le faire, mais vous pouvez utiliser JSL pour sélectionner plusieurs colonnes dans le rapport, puis envoyer le message Bootstrap à l'une d'entre elles. Le bootstrap est ensuite effectué sur toutes les tables qui ont une colonne sélectionnée. Voir l'exemple ci-dessous pour savoir comment obtenir les estimations des paramètres avec la valeur AICc correspondante.
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 )
)
J'espère que cela pourra aider,
Michael