¡Necesita ayuda para automatizar la selección de modelos paso a paso!Hola expertos de JMP,
Necesito su ayuda para revisar mi código para automatizar la selección de modelo paso a paso con umbral de valor p. Este JSL adjunto puede ejecutarse paso a paso automáticamente en función de los efectos y la respuesta asignados. Necesito agregar más funciones para que mi trabajo sea más eficiente.
1. Quiero que este script pueda generar interacción y cuadrático automáticamente en función de los predictores (es mejor tenerlo, pero no es necesario)
2. El script necesita generar un modelo para cada respuesta en la lista response_col.
3. Después de ejecutar el modelo, quiero que este informe de respuesta tenga los siguientes gráficos o tablas:
{Resumen de ajuste (1), Análisis de varianza (1),
Estimaciones de parámetros ( 1 ), Pruebas de efectos ( 0 ), Detalles de efectos ( 0 ),
Falta de ajuste ( 0 ), Estimaciones escaladas ( 0 ), Trazar real por predicho ( 1 ),
Trazar regresión ( 0 ), Trazar residual por predicción ( 0 ),
Trazar residuos estudentizados ( 1 ), Trazar efecto apalancamiento ( 0 ),
Graficar Residual por Cuantiles Normales ( 1 ), Transformación Box Cox Y ( 0 ),
Presiona 1 )}
4. Quiero guardar este informe en la tabla JMP con un nombre asignado como stepwise_ respuesta.
5. Guarde todos esos diagramas y tablas en gráficos separados en una carpeta asignada, para que no tenga que copiar los resultados del modelo uno por uno en un documento de Word o PowerPoint.
AnalíticaGAMAsecuencias de comandosRe: ¡Necesito ayuda para automatizar la selección de modelos paso a paso!La siguiente página es útil para comprender cómo manejar las expresiones.
https://community.jmp.com/t5/JSL-Cookbook-Archived/Insert-one-expression-into-another-using-Eval-Insert-Eval-Expr/ta-p/48998
Para la regresión por pasos, aquí hay un ejemplo;
For( i = 1, i <= N Items( response_col ), i++,
Eval(
Parse(
Eval Insert(
"\[step_wise = Fit Model(
Y( ^response_col[i]^ ),
Effects( ^effects_term^ ),
Personality( Stepwise ),
Run Model(
Stopping Rule( "P-value Threshold" ),
Prob to Enter( 0.05 ),
Prob to Leave( 0.25 );
),
Run
);
]\"
)
)
);
step_wise << Finish;
Wait( 0 );
fit_model = step_wise << Run model;
step_wise << close window();
);//end of loop
Consulte el archivo adjunto para ver el guión completo.
Re: ¡Necesito ayuda para automatizar la selección de modelos paso a paso!Hola @yuichi_katsumur Muchas gracias por su ayuda anterior sobre JSL paso a paso. Funcionó bien, el paso a paso solo tiene un umbral de valor P, pero este ejemplo a continuación tiene dos métodos Paso a paso, uno es el umbral de valor P, el otro es BIC mínimo. Cuando usé su código para guardar el modelo, tiene dos modelos, tengo que usar el código para eliminar el último script cada vez que guardo los modelos. ¿Hay alguna forma de eliminar el BIC mínimo en el siguiente gráfico?
La dirección para paso a paso que usé es "Mixta", pero el gráfico a continuación solo muestra "Adelante", entonces, ¿cuál es la dirección real que se usa en el guión?
@jthi ¿Puedes ayudar a echar un vistazo también?

sdt = Abrir("$SAMPLE_DATA/Boston Housing.jmp");
respuesta_col = {" :mvalue", ":crim"};
Effects_term = {:zn, :indus, :chas, :nox, :rooms, :age, :distance, :radial, :tax, :pt, :b,
:lstat};
var1= 0,05;
var2 = 0,25;
For( i = 1, i <= N Elementos( response_col ), i++,
Evaluar(
Analizar gramaticalmente(
Inserción de evaluación (
"\[step_wise = Ajustar modelo(
Y( ^respuesta_col[i]^ ),
Efectos ( ^effects_term^ ),
Personalidad (paso a paso),
Ejecutar modelo (
Regla de parada ("Umbral de valor P"),
Prob para entrar (^var1^),
Prob para Salir( ^var2^ );
Dirección ("Mixta");
Reglas("Combinar");
),
Correr
);
]\"
)
)
);
paso a paso << Terminar;
Espera(0);
fit_model = step_wise << Ejecutar modelo;
/* step_wise << cerrar ventana();*/
);
Re: ¡Necesito ayuda para automatizar la selección de modelos paso a paso!Acabo de notar que la dirección es solo hacia adelante. ¿Cómo podemos cambiarlo a "mixto" en el código anterior?
Re: ¡Necesito ayuda para automatizar la selección de modelos paso a paso!Hola @lazzybug ,
Lo siento, encontré un error en mi script. Por favor cámbialo ; con ,.
// Previous script
Prob to Leave( ^var2^ );
Direction ("Mixed");
Rules("Combine");
// Correct one
Prob to Leave( ^var2^ ),
Direction ("Mixed"),
Rules("Combine"),