Obtenga el valor MaxPro para cualquier diseño que ocupe espacioHola queridos usuarios de JMP y programadores expertos:
Me gustaría comparar varios DoE (tipo de relleno de espacio). Algunos se generan con JMP (con todas las propiedades de columna necesarias para los factores y la respuesta), algunos se crean con otras herramientas externas (por lo que no hay propiedades de columna después de la importación del archivo en JMP).
Dado que estos diseños son de tipo Space-Filling, me gustaría compararlos en función de la discrepancia y los valores del criterio MaxPro (ejemplo aquí con un diseño de relleno flexible rápido para 4 factores continuos):

Estos valores están disponibles directamente para los diseños generados por JMP en el script "DOE Dialog", pero no con herramientas externas.
He leído el índice de scripts y la función " << Obtener valores MaxPro ", pero no sé cómo usarlo en un script para DoE "externos".
En la práctica, me gustaría tener un script que pueda calcular la discrepancia y los valores MaxPro para cualquier diseño y proporcionar una tabla de datos con los resultados.
Idealmente (quizás una idea para Wish List), me gustaría tener una plataforma de comparación como Compare Designs , donde pudiera hacer coincidir los factores entre diferentes tablas, y se me abriera una ventana con la comparación de estos dos valores, discrepancia y criterio MaxPro.
He adjuntado dos tablas de datos para pruebas, cada una es un diseño con 4 factores continuos, uno generado externamente y otro generado con JMP.
¡Cualquier ayuda es bienvenida!
Gracias,
Automatización y scriptingDiseño de experimentosRe: Obtenga el valor MaxPro para cualquier diseño que ocupe espacioHola @Victor_G ,
A continuación se muestra un código JSL que hará lo que desea. No es nada sofisticado ni nada por el estilo, y escribí explícitamente todos los comandos DOE para generar el SFD. Puede hacerlo de esta manera, o también puede señalar una ventana de informe y extraer el valor del cuadro de número de ella. Pero, el < <>
Ojalá esto te ayude al menos a empezar.
Names Default to Here(1);
dt = current data table();
dtdoe =
DOE(
Space Filling Design,
{Add Response( Maximize, "Y", ., ., . ),
Add Factor( Continuous, 0, 0.5, "X1", 0 ),
Add Factor( Continuous, 0, 0.5, "X2", 0 ),
Add Factor( Continuous, 0, 0.5, "X3", 0 ),
Add Factor( Continuous, 0, 0.5, "X4", 0 ), Set Random Seed( 1622525169 ),
FFF Optimality Criterion( MaxPro ),
Space Filling Design Type( Fast Flexible Filling, 20 ), Simulate Responses( 0 ),
Set Run Order( Randomize ), Make Table}
);
MaxPro_value = dtdoe <<GET max="" pro="" values=""></GET>
<P> </P>
<P>¡Espero que esto ayude!</P>
<P>DS</P>Re: Obtenga el valor MaxPro para cualquier diseño que ocupe espacioHola @SDF1 ,
¡Gracias por tu interés y tus primeras ideas!
Tengo acceso a los valores de MaxPro (y de discrepancia) para cualquier diseño de relleno de espacio creado en JMP (se calculan de forma predeterminada) y estaba pensando en extraerlos de forma muy ingenua con "Convertir en tabla de datos". Creo que puede haber una forma más elegante de hacerlo identificando cuál es la propiedad de este cuadro de valores y creando un script JSL para agregarlo a cualquier diseño de relleno de espacio en JMP de modo que estos valores se puedan extraer en una tabla de datos separada. Su script es muy similar al "Diálogo DOE" que se generó después de la creación de un diseño de relleno de espacio en JMP.
Mi pregunta estaba relacionada con la pregunta: ¿Podemos calcular valores de MaxPro y de discrepancia para cualquier diseño de relleno de espacio (incluso aquellos generados fuera de JMP) y, de ser así, cómo programarlo o automatizarlo?
EDITAR: Acabo de darme cuenta de que podía usar la tabla de datos generada fuera de JMP y usarla como un conjunto candidato en la plataforma Space-Filling (para aplicar las ejecuciones mediante el uso de factores de covariable), de modo que JMP pueda calcular MaxPro y valores de discrepancia (ejemplo aquí con la tabla de datos externa proporcionada en mi publicación original):

Sin embargo, no estoy seguro de que estos valores sean correctos, ya que obtengo los mismos valores de MaxPro y discrepancia sin importar qué diseño cargo en JMP con este enfoque de "conjunto de candidatos" (incluso diseños de relleno de espacio generados por JMP). Por lo tanto, esto parece un error y no valores calculados reales. Si alguien tiene una idea sobre cómo hacer los cálculos y mostrarlos, ¡seré muy feliz!
Mejor,
Re: Obtenga el valor MaxPro para cualquier diseño que ocupe espacioHola @Victor_G ,
Entendido. Lo siento, no me quedó del todo claro que querías hacer el cálculo tú mismo, o al menos programarlo y no extraerlo de la ventana del informe. Lo interpreté como una opción: extraerlo de la ventana del informe o calcularlo. Pero puedo entender por qué quieres calcularlo tú mismo, ya que parece extraño que obtengas el mismo valor de MaxPro sin importar qué tabla analices.
La ayuda en línea tiene una referencia a un artículo de revista: Joseph, VR, Gul, E., y Ba, S. (2015). “Maximum Projection Designs for Computer Experiments.” Biometrika 102:371–380, que debería tener la fórmula (o algoritmo) para calcular MaxPro. No tengo acceso a la revista Biometrika, pero si lo tienes, deberías poder configurar algún JSL para que haga el cálculo en tu nombre. Según la descripción en la ayuda en línea de JMP, casi parece que están tomando el producto escalar de la distancia entre los puntos de diseño potenciales y tratando de maximizarlo.
Ojalá esto ayude a que las cosas avancen.
DS
Re: Obtenga el valor MaxPro para cualquier diseño que ocupe espacioHola @SDF1 ,
Gracias por la referencia.
Quizás tenga algo para comenzar leyendo publicaciones antiguas de la Comunidad, utilizando la plataforma de agrupamiento jerárquico para obtener acceso a la distancia de matriz:
A = Current Data Table() <<
Hierarchical Cluster(
Y( :X1, :X2, :X3, :X4 ),
Method( "Ward" ),
Standardize By( "Columns" ),
Dendrogram Scale( "Distance Scale" ),
Number of Clusters( 3 ),
Set Random Seed( 2088588291 ),
SendToReport(
Dispatch( {"Dendrogram"}, "Clust Dendro", FrameBox,
{Frame Size( 35, 325 )}
)
)
);
A << Save Distance Matrix;
A << Close Window;
Entonces, estoy un poco perdido en cómo usar la Matriz de Distancia para obtener la misma información que en el Diálogo DOE de Diseños de Relleno de Espacio: Distancia Mínima, Puntos Más Cercanos, Valor MaxPro y Valor de Discrepancia.
He probado usando la plataforma de escalamiento multidimensional con la matriz de distancia generada previamente y definiendo el número de dimensiones como el número de factores originales en mi diseño; puedo detectar los puntos más cercanos correctamente, pero la distancia (mínima) parece desviada en comparación con los cálculos realizados en el cuadro de diálogo DoE:

¿Alguna aportación de @Mark_Bailey , @Ryan_Lekivetz y otros expertos de JMP?
EDITAR: Usar "Sin estandarizar" en las opciones de Agrupamiento jerárquico para el formato de datos me da las distancias correctas... ¡Me estoy acercando!
Ahora puedo comparar diseños en función de los valores de distancia mínima, media y máxima, y de la variabilidad de las distancias entre puntos (rango, desviación estándar/varianza, etc.). Aún no hay cálculos de MaxPro, pero sí una mejor perspectiva sobre la distribución de puntos en diseños que llenan el espacio.
Además, el uso de la plataforma Distribuciones y la comparación de las distribuciones de los valores de los factores con las distribuciones uniformes (Beta con valores alfa y beta establecidos en 1) me ayudan a acercarme a estos valores de "discrepancia". Puede que haya algo que ver con los valores p, la verosimilitud logarítmica y los valores de chi-cuadrado que parecen correlacionados con la discrepancia:

Re: Obtenga el valor MaxPro para cualquier diseño que ocupe espacioPubliqué dos elementos de la lista de deseos sobre este tema:
Explorador de diseño para diseños que llenan el espacio
Plataforma Compare Designs para diseños que llenan el espacio
La generación de varios diseños y el uso de distancias desde la plataforma de agrupamiento jerárquico ya ayudan a evaluar el "rendimiento" y la distribución de puntos de los diseños que llenan el espacio. Aquí se muestra una comparación visual de los valores de distancia mínima, media y máxima de dos tipos de diseños con un número creciente de factores (dimensionalidad). En el primero, se observa un marcado aumento de las distancias con el aumento de la dimensionalidad, mientras que el segundo parece más "robusto" con un aumento lineal de la distancia con respecto al aumento de los factores.

Al observar la varianza de las distancias entre puntos (que parece estar correlacionada con los valores de discrepancia), el diseño 1 parece tener una forma más compacta de distribuir los puntos en comparación con el diseño 2. El diseño 2 puede distribuir los puntos con la misma "variabilidad" al aumentar la dimensionalidad:

Re: Obtenga el valor MaxPro para cualquier diseño que ocupe espacioPerdón por la respuesta tardía (y breve). De hecho, hay un problema al cargar un diseño externo. Tenga en cuenta que, en particular, ese denominador se basa en distancias de una sola dimensión, por lo que si tiene alguna entrada que tenga el mismo valor, el denominador es 0 (normalmente buscamos la propiedad de no colapso, que protege contra esto). Por lo que recuerdo, esa fórmula se puede utilizar en las estimaciones escaladas:
https://www.jmp.com/support/help/en/18.0/index.shtml#page/jmp/fast-flexible-filling-design-details.shtml
Por discrepancia, estábamos discutiendo acerca de agregar esa fórmula directamente en la documentación (si puedes acceder, en Hickernell, está en la parte inferior de la página 317).
Fang, K., Lin, D., Winker, P. y Zhang, Y. (2000). “Diseño uniforme: teoría y aplicación”. Technometrics 42:237-248.
Hickernell, F. (1998). “Un límite de error de discrepancia generalizada y cuadratura”. Matemáticas de la computación 67:299-322.