bootstrapping 2 tablas simultáneasMe pregunto si alguien sabe cómo arrancar o simular dos tablas separadas a la vez. Por ejemplo.
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 ) )
),
);
Digamos que quiero obtener el AICc de los valores de este modelo en un bootstrap y tener esa alineación con las estimaciones de un bootstrap?
¿Puedo darles a ambos la misma semilla aleatoria? Si es así, ¿no haría eso que el bootstrap dure el doble?
Mi conjetura es que bootstrapping ya es multiproceso?
Re: bootstrapping 2 tablas simultáneasHola vince
Creo que este script debería mostrarte cómo hacerlo. No conozco una forma interactiva de hacerlo, pero puede usar JSL para seleccionar varias columnas en el informe y luego enviar el mensaje Bootstrap a una de ellas. El bootstrap se realiza en todas las tablas que tienen una columna seleccionada. Consulte el siguiente ejemplo para obtener una forma de obtener las estimaciones de los parámetros junto con el valor AICc correspondiente.
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 )
)
Espero que ayude,
Miguel
Re: bootstrapping 2 tablas simultáneasEso es genial, ¡gracias por compartir a Michael!
Re: bootstrapping 2 tablas simultáneasLinda.
Estaba tratando de hacer eso interactivamente, genial que solo puedo hacerlo mediante secuencias de comandos.
Nunca he visto `random reset ()`, parece que es lo mismo que enviar random seed () a `bootstrap`. Muy genial.
Esto parece hacer exactamente lo que quiero.
Re: bootstrapping 2 tablas simultáneasPuede hacer lo mismo configurando la semilla aleatoria dentro de la llamada Bootstrap (). Restablecimiento aleatorio () es solo la función que le permite establecer la semilla interna para el generador de números aleatorios en un momento específico de su secuencia de comandos.