Simulación Monte Carlo para una plataforma de análisis (regresión por pasos)Tengo un análisis que usa varias columnas que tienen elementos aleatorios en ellas.Sé cómo actualizar manualmente los números aleatorios que están en las columnas y entiendo cómo realizar una simulación para el resultado de un análisis.Pero en este caso, quiero ejecutar una regresión paso a paso cada vez que se actualizan los números aleatorios en las columnas.Quiero hacer esto por lo menos 1000 veces.No sé cómo automatizar este proceso: generar nuevos números aleatorios en columnas de fórmula, volver a ejecutar la plataforma de regresión por pasos, ejecutar el modelo elegido y recopilar los resultados.
AnalíticaRe: Simulación Monte Carlo para una plataforma de análisis (regresión por pasos)Permítanme ser más específico en caso de que alguno de los generosos guionistas pueda ayudar.He adjuntado una versión más pequeña de lo que estoy tratando de hacer.Tengo 10 columnas (todas comenzando con la Columna 2) en el archivo adjunto que involucran una distribución normal aleatoria y la primera columna Y, que usa 5 columnas etiquetadas como parámetro del 1 al 5, y una distribución normal aleatoria en la fórmula.Deseo realizar los siguientes pasos:
1. Ejecute la regresión por pasos almacenada en el archivo.No necesito crear ni ejecutar el modelo, solo necesito ejecutar el botón Ir que ejecuta el procedimiento paso a paso después de Ejecutar desde la plataforma Ajustar modelo.
2. Registre con qué frecuencia cada una de las 10 columnas que comienzan con la Columna 2 son seleccionadas por el procedimiento paso a paso. (No sé cómo hacer un script para recopilar esa información en particular)
3. Vuelva a ejecutar la fórmula para las columnas de 5 parámetros para que contengan un nuevo conjunto de valores simulados.Sé que esto se puede hacer con el comando de fórmula Volver a ejecutar que se encuentra en la flecha roja en la parte superior izquierda de la tabla (pero no sé cómo programar eso).
4. Repita los pasos 1 y 2. (Creo que esto se puede hacer a través de un bucle simple)
5. Haga esto 1000 veces y muestre las distribuciones para el número de veces que se seleccionó cada una de las 10 Columna 2 columnas en el procedimiento paso a paso.
Creo que todo esto se puede programar, pero está mucho más allá de lo que puedo hacer.Si alguien puede ser de ayuda, lo agradecería.Estoy dispuesto a ser coautor de un artículo con alguien, ya que tengo una salida en mente para esto.
Re: Simulación Monte Carlo para una plataforma de análisis (regresión por pasos)Casi he resuelto mi problema, pero todavía tengo una pregunta.Adjunto hay un pequeño script que ejecuta la regresión paso a paso como yo quiero.Pero para generar 1000 muestras, necesitaba crear una columna de "muestra" y usarla como una variable "Por" en el análisis.Esto funciona, pero es una forma engorrosa de simular, ya que necesito que el archivo sea muy largo; por ejemplo, para 1000 muestras de 1000 observaciones cada una, necesito 1 000 000 de filas.¿Alguien sabe una forma más eficiente de realizar una simulación?Por lo que puedo decir, la opción "simular" que acompaña a muchas plataformas JMP solo puede simular ciertos resultados de análisis, pero no el análisis en sí.
Re: Simulación Monte Carlo para una plataforma de análisis (regresión por pasos)Lo que has expuesto en el post anterior es un buen plan. Yo también haría eso. Intentaré dar algunas recomendaciones.
- Si es nuevo en la creación de scripts en JMP, un punto de partida es Guía de secuencias de comandos . Algunas piezas importantes, en esta tarea específica, podrían ser:
- Además de eso, debe estar familiarizado con Scripting Index en el menú Ayuda. Hay 3 grupos de objetos de secuencias de comandos: funciones, objetos y cuadros de visualización. Hay un cuadro combinado en la parte superior izquierda y puede limitarse a un grupo específico.
- Para esta tarea específica, es posible que deba consultar el grupo Objetos. Todas las plataformas, incluida la tabla de datos, se enumeran aquí. Es posible que desee comprobar el elemento "Ajustar paso a paso" en el objeto "Ajustar modelo". Haga clic en "Ajustar paso a paso" y busque a la derecha el mensaje "Finalizar" entre "Mensajes de elementos". Esa podría ser la pieza clave que te falta ahora.
- Para esta tarea específica, también necesita aprender a manipular tablas de datos. Concatenación, en particular, tal vez. Vaya a la lista de objetos, haga clic en "Tabla de datos" y busque a la derecha "Concatenar" entre los mensajes de elementos.
Además de lo anterior, aquí hay otros consejos útiles que aprendí de mis colegas.
- Publique preguntas más pequeñas y específicas en el foro de discusión, siempre que sea posible. Será más probable que genere ayuda.
- Prefiere las capturas de pantalla a los archivos adjuntos. Para los códigos JSL, puede insertarlos directamente en la publicación para que los lectores puedan verlos. Busque el botón en la barra de herramientas cuando edite una publicación. También será más probable que genere ayuda. Por ejemplo, es poco probable que un lector de un dispositivo móvil abra un archivo adjunto.

Re: Simulación Monte Carlo para una plataforma de análisis (regresión por pasos)Hola dale_lehman
Mi idea es obtener y guardar el resultado de la plataforma 'paso a paso' en la carpeta. Luego ' Importación de múltiples archivos ' resultado completo como un archivo.
Por fin, fila limpia por ' valor P' y distribuir como su deseo.Detalle JSL de la siguiente manera:
Clear Globals();
Clear Log();
Names Default To Here( 1 );
//Define path in and out
Path_in = Pick File( "Select file" );
If( Directory Exists( "$Desktop\Fit_Stepwise" ),
,
Create Directory( "$Desktop\Fit_Stepwise" )
);
Path_out = "$Desktop\Fit_Stepwise\";
//Run Fit model and stepwise after open datatable
dt = Open( Path_in );
For( i = 1, i <= 1000, i++,
ow = dt << Fit Model(
Y( :Y ),
Effects(
:Column 2 001,
:Column 2 002,
:Column 2 003,
:Column 2 004,
:Column 2 005,
:Column 2 006,
:Column 2 007,
:Column 2 008,
:Column 2 009,
:Column 2 010
),
Personality( "Stepwise" ),
Run,
SendToReport( Dispatch( {}, "Step History", OutlineBox, {Close( 1 )} ) )
);
dt_result = Report( ow )[Outline Box( "Stepwise Fit for Y" )][Outline Box( "Current Estimates" )][Table Box( 1 )] << Make Into Data Table;
dt_result << save( Path_out || Char( i ) || ".csv", "csv" );
ow << close window;
dt_result << Close Window;
);
dt << Close Window;
dt_result = Multiple File Import(
<<SET folder="">F\!"" ) > 0.05 ) ) << Delete Rows;
dt_result << Distribution( Stack( 1 ), Nominal Distribution( Column( :Parameter ), Horizontal Layout( 1 ), Vertical( 0 ) ) );</SET>