Trazado de regresión no lineal usando GraphBuilder y/o Analyze (con scripts)Esta publicación es parecido a este , y publiqué un comentario allí, pero dado que la publicación tiene 2 años, es posible que no se vea y tengo problemas para adaptar las soluciones a mi ecuación.
Estoy haciendo una regresión no lineal usando el siguiente script para preparar los datos y luego usando la opción Analizar con Fluorescencia normalizada como el valor Y, y la columna Modelo (fórmula) como el valor X (invirtiendo el eje), y por Posición del pozo, pero esto solo hace uno a la vez. Si uso GraphBuilder, no puedo hacer que Smoother use la fórmula. Me gustaría tener todas las parcelas en un gráfico O en un mundo de unicornio absolutamente ideal, graficar 3 posiciones de pozo a la vez (por ejemplo, B2-B4) pero eso parece poco realista: p
Data Table( "Melt Curve Raw Data" ) << New Column( "Normalized Fluorescence",
formula(
(:Fluorescence - Col Min( :Fluorescence, :Well Position )) / (
Col Max( :Fluorescence, :Well Position )
-Col Min( :Fluorescence, :Well Position ))
)
);
Data Table( "Melt Curve Raw Data" ) << New Column( "Model", Numeric,
"Continuous", Format( "Best", 12 ),
Formula(Parameter({m1 = -60, m2 = 0.2, m3 = -50, m4 = -0.3, m5 = 100000, m6 = 320},
((m1 + m2 * (:Temperature + 273)) + (m3 + m4 * (:Temperature + 273)) * Exp((-m5 / (1.987 *
(:Temperature + 273))) * (1 - (:Temperature + 273) / m6))) /
(1 + Exp((-m5 / (1.987 * (:Temperature + 273))) * (1 - (:Temperature + 273) / m6))))));
Modelado Estadístico AvanzadoRe: Trazado de regresión no lineal usando GraphBuilder y/o Analyze (con scripts)No lo entendiste mal. La complejidad resultante probablemente creará un límite práctico que impida la convergencia.
Re: Trazado de regresión no lineal usando GraphBuilder y/o Analyze (con scripts)Gracias por aclarar las instrucciones.Parece que en tu ejemplo, tuviste que escribir todas las diferentes edades posibles, ¿es correcto?Uso placas de 96 pocillos, por lo que normalmente tengo ~45 posiciones de pocillos, pero puedo tener hasta 96. ¿Entonces haría 45 parámetros para las 6 variables (m1-m6)? Estoy pensando que estoy malinterpretando algo seriamente...
Usted preguntó en su otro comentario qué haré con esto, y se relaciona principalmente con una comparación del cambio en la entalpía (m5) y la temperatura de fusión (m6) para dos proteínas después de diferentes tratamientos.
Re: Trazado de regresión no lineal usando GraphBuilder y/o Analyze (con scripts)Déjame mostrarte cómo funciona FDE y qué podría hacer por ti. Todavía no indicó qué desea hacer en última instancia con las curvas ajustadas. Por ejemplo, ¿cómo se determinan las condiciones en cada pozo? ¿Quiere comparar las curvas en función del estado de cada pozo?
Abrí su tabla de datos y seleccioné Analizar > Modelado especializado > Explorador de datos funcionales. Lanzo columnas de datos en los siguientes roles:

La plataforma inicial muestra los datos en una superposición y funciones individuales (curvas). Hice clic en el triángulo rojo en la parte superior y seleccioné Modelos > Splines B.

La información importante es la función media, la función de desviación estándar y los componentes principales funcionales. Estos FPC capturan la singularidad de cada curva en relación con la función media. Proporcionan información sobre sus curvas y sus diferencias. La cantidad de FPC es igual a la cantidad de curvas, pero generalmente puede ignorar la mayoría de ellas. Los tres primeros FPC capturan el 99,1% de la información en todas las curvas.
Puedes pensar en los FPC como los arquetipos de tus curvas. Es decir, son las características esenciales que se pueden combinar para producir una de las curvas. Puede utilizar los FPC como respuesta o como factor. En otras palabras, podría preguntarse cómo los niveles de los factores que cambian en los pozos determinan la forma de la curva. ¿O cómo predice la forma de una curva algún otro resultado?

JMP muestra arbitrariamente todos los FPC con al menos un 1 % de contribución inicialmente, por lo que hay 5 FPC en este caso. Reduje el número a 3 y guardé los resúmenes funcionales, que incluyen las fórmulas para la respuesta 'condicional'. Ahora puedo hacer lo que quiera con los FPC, son solo datos. Puedo trazarlos en Graph Builder.

Guardé los scripts en su tabla de datos original y en la que tiene los resúmenes funcionales y adjunté las nuevas tablas de datos a continuación.
Re: Trazado de regresión no lineal usando GraphBuilder y/o Analyze (con scripts)No utilizó esta característica correctamente. El párrafo de la Ayuda es correcto, pero quizás un poco ambiguo. Aquí está la forma correcta, paso a paso. Estoy usando Big Class para ajustar un modelo exponencial simple para: peso versus: altura con: edad como variable de agrupación (: peso = A * Exp (B * altura)).
Agregue una nueva columna de datos para el modelo. Agregue una fórmula para el modelo a la columna de datos. Defina los parámetros.

Haga clic en Aceptar y seleccione la variable de agrupación.

Repita este paso para los demás parámetros que no son comunes a todas las curvas. Construye el modelo. Seleccione los parámetros según sea necesario. Aquí está el modelo exponencial agrupado.

Guarde la fórmula y ejecute Nonlinear.

Haga clic en Aceptar para comenzar a ajustar.

Sin embargo, me temo que la parametrización en su modelo dará como resultado una alta correlación entre las estimaciones. Esta correlación se verá exacerbada al introducir la variable de agrupación, especialmente dado el número de grupos. Entonces, una alternativa es usar el modelo original y usar el ID de la curva en el rol Por. De esta manera te permitirá ajustar cada curva por sí sola.
Por otro lado, si no estás atado a este modelo, entonces el FDE es otro camino. Utiliza una expansión de funciones base para modelar los datos. Estos son interpoladores genéricos.

Re: Trazado de regresión no lineal usando GraphBuilder y/o Analyze (con scripts)¡Hola, Mark!
Muchas gracias por responder.Sí, tengo JMP Pro pero no he probado el Explorador de datos funcionales. Intentaré leer sobre eso hoy. Gracias por la sugerencia.
Vi el párrafo al que se vinculó sobre el uso de la casilla de verificación "Expandir en categorías". Agregué esto como un séptimo parámetro, y en la página Analizar representó gráficamente todo en un gráfico (¡genial!), pero solo me dio valores para una línea. ¿Usé la opción Expandir en categorías incorrectamente? ¿Debería haberlo agregado a uno de mis 6 parámetros originales?
Re: Trazado de regresión no lineal usando GraphBuilder y/o Analyze (con scripts)El cuadro de diálogo de lanzamiento no lineal simplifica demasiado la situación. Debe hacer más en el modelo personalizado para indicar cómo la variable de grupo afecta los parámetros. Su modelo solo incluye parámetros comunes. Los parámetros únicos dependen de los niveles de la variable de grupo.
Por favor mira esta página y la nota en la parte inferior.
¿Tienes JMP Pro? ¿Has probado el Explorador de datos funcionales?
Re: Trazado de regresión no lineal usando GraphBuilder y/o Analyze (con scripts)Wow esos son todos impresionantes. El que estaba buscando originalmente era el diagrama de dispersión multicolor en la esquina superior derecha, pero estoy absolutamente impresionado con los gráficos y el script que hiciste.
Cuando uso la opción Analizar, obtengo los valores que necesito, pero cada gráfico está separado. Adjunté capturas de pantalla de la configuración que estoy usando actualmente junto con los resultados después de hacer clic en "ir" y luego en "límites de confianza".
También adjunté el mensaje de error que recibo cuando trato de usar "grupo" en lugar de "por" para Posición de pozo.



Re: Trazado de regresión no lineal usando GraphBuilder y/o Analyze (con scripts)No puedo decir exactamente lo que está buscando, ¿por casualidad uno de estos gráficos muestra lo que está buscando, o puede publicar una captura de pantalla del gráfico que solo muestra uno a la vez?Dijiste que usaste Analizar, pero no estoy seguro de qué opción en ese menú elegiste.



Graph Builder(
Size( 671, 507 ),
Show Control Panel( 0 ),
Variables(
X( :Model ),
Y( :Normalized Fluorescence ),
Overlay( :Well Position )
),
Elements( Smoother( X, Y, Legend( 12 ) ), Points( X, Y, Legend( 13 ) ) ),
Local Data Filter(
Add Filter(
columns( :Well Position ),
Where( :Well Position == {"B2", "B3", "B4"} ),
Display( :Well Position, N Items( 15 ), Find( Set Text( "" ) ) )
)
)
);
Graph Builder(
Size( 671, 543 ),
Show Control Panel( 0 ),
Variables( X( :Model ), Y( :Normalized Fluorescence ), Wrap( :Well Position ) ),
Elements( Points( X, Y, Legend( 9 ) ), Smoother( X, Y, Legend( 11 ) ) ),
Local Data Filter(
Add Filter(
columns( :Well Position ),
Where( :Well Position == {"B2", "B3", "B4"} ),
Display( :Well Position, N Items( 15 ), Find( Set Text( "" ) ) )
)
)
);
Graph Builder(
Size( 1308, 384 ),
Show Control Panel( 0 ),
Variables(
X( :Model ),
Y( :Normalized Fluorescence ),
Group X( :Well Position )
),
Elements( Smoother( X, Y, Legend( 12 ) ) ),
Local Data Filter(
Add Filter(
columns( :Well Position ),
Where( :Well Position == {"B2", "B3", "B4"} ),
Display( :Well Position, N Items( 15 ), Find( Set Text( "" ) ) )
)
)
);