A menudo es necesario clasificar las curvas que varían con el tiempo en diferentes categorías. Por ejemplo, las curvas de crecimiento celular pueden tener diferentes tipos de forma (p. ej., crecimiento diáuxico) que caracterizan el comportamiento de crecimiento de las células. Estos diferentes tipos de curvas dificultan la extracción automática y precisa de los parámetros característicos (p. ej., retraso respecto al inicio del crecimiento, tasas de crecimiento, nivel de crecimiento final, etc.) de las curvas.
El Explorador de Datos Funcionales (FDE) de JMP Pro permite clasificar estas curvas en ciertos tipos. Una vez clasificadas, el FDE filtra el ruido de las curvas, simplificando enormemente la evaluación de los parámetros críticos de crecimiento.
Se utilizan datos del mundo real para demostrar cómo FDE en JMP Pro puede realizar estas operaciones.
Hola. Me llamo Jerry Fish. Bienvenidos a esta charla donde mi colega y yo, Kyle Probst, hablaremos sobre el uso de Functional Data Explorer para clasificar formas de curva. Soy empleado de JMP desde hace 7 años, dando soporte a nuestros clientes en el Medio Oeste. Si se encuentra en el Medio Oeste, contácteme; con gusto le ayudaré con cualquier necesidad de JMP.
Esta es una curva típica que estamos caracterizando. Hoy, Kyle va a explicarla con más detalle. Hablamos de las curvas de crecimiento celular. Las curvas de crecimiento se relacionan con la administración de ciertos alimentos a las células; por ejemplo, nos interesa la rapidez con la que crecen esas células. Podríamos tener una curva similar a esta, donde al principio no hay crecimiento. De repente, las células empiezan a crecer y se estabilizan al final. Esta podría ser una curva típica. Kyle hablará brevemente sobre los parámetros críticos de interés.
El problema es que tenemos diferentes tipos de curvas que debemos clasificar. Aquí, en la esquina superior izquierda, está la curva que acabo de mostrarles. La llamaremos curva monofásica. Tiene un solo patrón de crecimiento, que luego se mantiene, por lo que las células siguen sobreviviendo. Esta curva, la esquina superior derecha, también es monofásica. Solo tiene una transición, pero luego tiende a morir al final; las células comienzan a morir. Quizás esto sea importante, o quizás, en su sector, podría ser una característica crucial que le interese.
A este lo llamamos diáuxico, ya que tiene dos regiones de crecimiento. Hay una primera región donde se estabiliza la situación, y luego tenemos una segunda región de crecimiento. Finalmente, tenemos algunas situaciones donde no hay crecimiento, y, por supuesto, también nos interesarían.
Ahora bien, estos elementos pueden presentarse en cientos de pruebas, y no queremos tener que analizarlos uno por uno. Si supiéramos qué es cada curva, esta, por ejemplo, podría modelarse con Fit Curve en JMP. Esta curva y esta, la curva diáuxica, podrían modelarse mejor en la plataforma no lineal, donde tenemos mayor flexibilidad en su aspecto. Lo que no queremos es tener que analizar cada curva para decidir cuál aplicarle. Nos gustaría automatizar ese sistema si fuera posible.
En este punto, le cedo la palabra a Kyle para que se presente y nos cuente un poco sobre esta curva y algunos antecedentes de su importancia y lo que estamos haciendo. ¿Kyle?
Gracias, Jerry. Buena introducción. Como mencionó Jerry, en Kerry trabajamos mucho en el área de nutrición celular farmacéutica para evaluar el crecimiento microbiano. Les cuento un poco sobre mí. Me llamo Kyle Probst. Soy científico sénior en Kerry, con sede en Beloit, Wisconsin, en Norteamérica. Apoyo el área de nutrición celular, donde suministramos alimento para microbios y células de mamíferos, así como para otras células en forma de hidrolizados de proteínas y extractos de levadura, muchos de los cuales se utilizan en la industria biofarmacéutica para producir medicamentos que salvan vidas.
Los datos que Jerry utiliza aquí provienen de un ensayo específico que solemos realizar en el laboratorio. Se trata de un cribado de alto rendimiento, en el que utilizamos lectores de placas de microtitulación para medir las curvas de crecimiento microbiano, como la que muestra aquí. El crecimiento que medimos suele realizarse mediante la densidad óptica a 600 nanómetros, conocida como DO600, por lo que está esencialmente correlacionada con el crecimiento. Es fácil de medir, simplemente midiendo la turbidez, y es la métrica estándar utilizada en la industria para cuantificar el crecimiento microbiano.
Lo usamos para comparar y seleccionar los mejores ingredientes según ciertos indicadores clave de rendimiento (KPI) que podemos determinar a partir de las curvas de crecimiento. Algunos de los KPI clave que nos interesa medir y cuantificar a partir de estas curvas de crecimiento incluyen la tasa de crecimiento, el tiempo de retardo, la densidad celular final y muchos otros. Jerry está trabajando en automatizar la extracción de estos valores cuantitativos obtenidos de estas curvas, evitando tener que analizarlos uno por uno y permitiendo obtener un ajuste preciso.
Ese ha sido uno de los mayores desafíos que hemos tenido al hacer esto con algunos de los procesos estándar. No siempre se obtiene un ajuste perfecto, y depende de cómo se vea la curva. Desafortunadamente, no todos son perfectamente monofásicos como el que tenemos aquí en la demostración. Por eso Jerry se ha interesado en ayudarnos con esto.
En fin, la curva que estás viendo aquí, y te explicaré qué son, los KPI que a menudo nos interesan son el tiempo de retardo. El tiempo de retardo es simplemente el tiempo que las células permanecen inactivas antes de comenzar a crecer. Es importante que lo entendamos. El tiempo hasta el punto de inflexión es el tiempo hasta que las células alcanzan su tasa máxima de crecimiento. Luego, la pendiente en el punto de inflexión es la tasa máxima de crecimiento. Este es otro parámetro importante que solemos medir. La asíntota final es la densidad celular final o la densidad celular alcanzada, que está relacionada con el crecimiento de todos los microbios.
Antes de realizar gran parte de este trabajo, debemos procesar los datos sin procesar en un formato que nos permita crear estas curvas para facilitar las comparaciones, ya sea mediante comparación visual o con el método que Jerry nos muestra aquí para cuantificar estas curvas. De hecho, presentamos otro artículo que explica cómo procesamos esos datos sin procesar y cómo usamos algunas de las ingeniosas herramientas de JMP para ello.
Incluso para alguien como yo, que es principiante en scripting, pude configurar algunos enfoques que realmente nos ahorraron mucho tiempo y esfuerzo. Se trata del Constructor de complementos JMP para automatizar la caracterización del crecimiento microbiano. No se lo pierdan.
Jerry, te devuelvo la palabra. Creo que ya he hablado bastante. Probablemente he hablado mucho más que tú.
Eso es perfecto.
Gracias, Jerry.
Perfecto, Kyle. Gracias por la información. Te recomiendo que consultes el artículo del autor principal de Kyle para saber qué procesamiento previo aplicamos a los datos en este formato, como desplazar todo hacia arriba para que siempre comenzara en 0 y truncarlo aquí a las 30 horas, lo cual se decidió arbitrariamente. Gracias, Kyle.
Kyle y Kerry nos proporcionaron convenientemente unas 330 curvas para analizar en este conjunto de datos. Las revisé e intenté clasificarlas visualmente para ver cómo se agrupan. A todas estas curvas las llamé monofásicas sostenidas, donde ascienden y alcanzan un valor asintótico. A estas las llamé monofásicas moribundas, donde las curvas ascienden, alcanzan un pico y luego tienden a desaparecer, algunas de forma severa, otras no tan severa, y algunas presentan fluctuaciones en los datos. Si bien es un comportamiento extraño, las clasifiqué todas como monofásicas moribundas.
Estas las clasifiqué como diáuxicas. Todas las curvas tienen un período de crecimiento, una asíntota, seguido de otro período de crecimiento. Quizás sea sutil, quizás sea grande, pero eso es lo que son. Luego, por supuesto, estas son las curvas sin crecimiento.
Analicemos los datos para ver si podemos aprender algo sobre ellos y cómo usar FDE (Explorador de Datos Funcionales) para ayudarnos. FDE es una función de JMP Pro. Las herramientas que abordaremos a partir de ahora son principalmente herramientas de JMP Pro. En cuanto a los datos, tenemos una columna con el número de prueba: 1_1. Aquí está nuestro tiempo. Si bajamos a 30 horas, hemos recopilado datos en la columna OD600. Este primero, personalmente, se identificó como un conjunto de datos sin crecimiento.
Eso es lo que sucede. Hay una prueba 1_1, seguida de una 1_2, y así sucesivamente. Tenemos aproximadamente 40.000 filas en este conjunto de datos que comprenden unas 330 pruebas diferentes.
Ahora, también tengo una columna aquí llamada "Validación". Con JMP Pro, puedes validar tus modelos. Validar significa algo diferente en FDE que en otras plataformas de JMP. Hablaremos de eso más adelante. Pero quería mostrarte rápidamente cómo configuramos esta columna de validación. Está en "Analizar", "Modelado Predictivo" y "Crear Columna de Validación".
Ahora, necesitamos indicarle a JMP que, en primer lugar, existen columnas de agrupación. Para todos los datos 1_1, queremos agruparlos como de entrenamiento o de validación. No queremos una combinación de entrenamiento y validación dentro de una prueba en particular. Podemos lograrlo indicando que el número de prueba es nuestra columna de agrupación. También me gustaría asegurarme de que, dentro del conjunto de entrenamiento y el conjunto de validación, cada uno tenga el mismo número o porcentaje de curvas de crecimiento nulo, muerte monofásica, monofásica sostenida y diáuxica. Esto se llama estratificación. Si simplemente tomo mi tipo y lo incluyo aquí en la estratificación, eso es todo lo que necesito hacer.
Luego, lo especifico aquí. Elegí realizar el 60 % de las ejecuciones en el conjunto de entrenamiento y el 40 % restante en el conjunto de validación. Luego, simplemente decimos "Ir" y obtenemos esta columna, que debería tener aproximadamente el 60 % de las pruebas como entrenamiento y el 40 % como validación.
Ahora, voy a eliminar la columna que acabo de crear. Esta asigna aleatoriamente el entrenamiento y la validación a las diferentes ejecuciones, y quiero asegurarme de tener las mismas ejecuciones que realicé para el análisis que se muestra en el documento adjunto. Simplemente eliminaré la columna que acabo de crear, pero así es como obtuve esta columna.
Estamos listos para explorar los datos funcionales. Analizar, Especializado, FDE. Ahora, debemos describir a JMP el significado de las diferentes columnas. El número de prueba es el ID. El tiempo es nuestra variable X. La DO, la medida del crecimiento celular, es nuestra salida Y. Voy a incluir el tipo como variable complementaria. No se utilizará en este análisis. Lo incluiré en un paso posterior. Lo estoy ejecutando en este momento. Luego, añadiré la validación aquí y daremos "OK".
Aquí está la ventana del Explorador de Datos Funcionales. El gráfico superior muestra todas las curvas superpuestas. Si lo expando, abajo se muestran todas las curvas individuales. Lo primero que debemos hacer en el Explorador de Datos Funcionales es ajustar las funciones a cada una de estas curvas de datos. Esto se hace con los modelos de puntos calientes rojos. Luego, tenemos diferentes opciones para elegir: B-Splines, P-Splines, Fourier y Wavelets.
Voy a usar B-Splines. Son bastante fáciles de entender. Pero no hay razón para no haberlo hecho con P-Splines. La base de Fourier sería si cada una de mis señales tuviera firmas repetidas. Las wavelets son muy populares, y cada vez más, como formas de ajustar estos datos o incluso datos espectrales con picos pronunciados. Las wavelets son muy útiles para eso. Pero hoy me centraré en las B-Splines.
JMP hará dos cosas. Revisará todos los datos y seleccionará dos parámetros. Uno de ellos es el grado. El grado es una función escalonada, una serie de segmentos: lineales, cuadráticos o cúbicos, que se utilizan para dividir la señal en splines.
Ahora las splines encajan entre estos nudos. JMP también determina el número y la ubicación de los nudos para que se ajusten mejor a todas las funciones. En este caso, JMP ha elegido un ajuste de spline cúbico con 17 nudos. Puedes controlarlo. Puedes cambiarlo si lo deseas. Intentaré lograr un ajuste aún mejor. Voy a mantener esto para lo que JMP me mostró automáticamente.
¿Qué hace JMP con esto? Bueno, lo primero que hace es determinar una curva promedio general. Este es el promedio general de todas las curvas que acabamos de ver. Estas son funciones de forma. También se llaman funciones propias. Pero imaginemos si tuviéramos un coeficiente que multiplicamos por la función de forma superior, 1 (quizás ese coeficiente sea +2), y le añadimos otro coeficiente que es -1 y lo multiplicamos por la función de forma 2, y la función de forma 3, la multiplicamos por la mitad, y la función de forma 4, la multiplicamos por 5; y sumamos todos estos coeficientes por cada una de estas funciones y lo sumamos a la función media; obtendríamos una especie de curva aquí arriba.
La pregunta es: ¿cuáles son los coeficientes que preceden a cada una de estas funciones para reconstruir cada una de estas curvas? Dado que cada curva es diferente, se obtendrán coeficientes diferentes, o se denominan componentes principales funcionales (CPF), 1, 2, 3 y 4. En este caso, JMP indica: «Se necesitan cuatro componentes principales funcionales para caracterizar cada una de las curvas».
Ahora bien, esto es un poco largo, pero la conclusión es que estos cuatro coeficientes caracterizan esta curva. Voy a considerar estos cuatro coeficientes junto con el conocimiento de que tenemos un ajuste de splines de tercer grado y 17 nudos en la ruptura de los splines. Con todo esto en mente, puedo reconstruir que la Curva 1 es una curva sin crecimiento, pero aquí está la Curva 2, aquí está la Curva 2_1.
Si se fijan —lo agrandaremos un poco—, aquí muestro los datos sin procesar y los datos de ajuste. Los datos sin procesar están en negro. Pueden ver un poco aquí. Espero que puedan verlos. Los datos en rojo son el ajuste, el ajuste por spline. Pueden ver que estamos haciendo un excelente trabajo ajustando todas estas curvas a medida que avanzamos.
Necesitamos estos componentes principales funcionales para continuar con el modelado, así que iré al punto rojo y pediré que se guarden esos resúmenes. Esto crea una nueva tabla de datos que tiene una fila para cada prueba. Aquí está 1_1, prueba número 1_1. La identifiqué como sin crecimiento, así que recuerden, la trasladamos como variable suplementaria. Ahí es donde termina. Esa es una curva sin crecimiento, según mi punto de vista. Estaba en el conjunto de entrenamiento, no en el de validación. Aquí están los primeros cuatro componentes principales de esa prueba.
Luego tenemos mucha más información: la media, la desviación estándar y la mediana de cada una de esas curvas. Puede que nos sean útiles, pero no me voy a centrar en ellas en la charla de hoy. Simplemente las eliminaré. Nos quedarán solo estas cuatro.
Tengo uno para cada prueba, y mi evaluación visual de cada una. Luego tengo una columna aquí que dice "Entrenamiento". Si bajo lo suficiente, en algún punto aquí abajo, también hay varias filas de validación.
Ahora la pregunta es: "¿Puedo crear un modelo que use estos FPC que acabamos de determinar para predecir el tipo?". Si es posible, sería fantástico. Solo necesitamos saber, para una nueva curva, "¿Cuáles son los FPC?". Podemos introducirlos en esta fórmula mágica y obtendremos una predicción del tipo.
Como estamos en JMP Pro y usamos FDE, tenemos acceso a JMP Pro y podemos realizar un análisis de modelos. Aquí tenemos que nuestra respuesta Y será el tipo. Quiero saber si puedo predecir el tipo. Quiero usar la validación aquí abajo. Veamos. Quiero usar los FPC como mis entradas X. Con la herramienta Análisis de Modelos, JMP Pro ejecutará todos estos modelos y los comparará para ver cuál es el mejor para predecir.
Ahora, voy a añadir… Algunos modelos permiten interacciones bidireccionales y ecuaciones cuadráticas, así que las incluiré. También voy a establecer un valor de semilla aleatorio aquí, 2, 3, 4, 5, para que los resultados coincidan con el artículo. Normalmente, no lo establecería. Simplemente dejo que JMP resuelva para un valor de semilla arbitrario. Aceptamos.
Ahora, JMP analiza este punto y ejecuta cada uno de estos modelos y los compara. Aquí, brevemente, se presenta una comparación de todos los modelos ejecutados, ordenados según el error cuadrático medio. El error cuadrático medio mínimo resulta ser un modelo potenciado neuronalmente, que casualmente también es un modelo JMP Pro. Aspectos como el árbol de decisión y la logística nominal son algunos de los modelos estándar de JMP, pero el árbol potenciado neuronalmente es un buen modelo. También indica que la tasa de clasificación errónea es del 5 %. Ese es el mejor resultado que obtuvimos de todos estos modelos. Hablaremos de eso en un minuto.
Ahora ejecutaré ese modelo potenciado neuronalmente para ver los resultados. Aquí están. Hablamos de la matriz de confusión. El lado izquierdo corresponde a los datos de entrenamiento y el lado derecho a los de validación. Analicemos los datos de validación.
Cuando dije que un ensayo era diáuxico, el modelo neuronalmente potenciado predijo diáuxico ocho veces. También predijo monofásico sostenido una vez. Me equivoqué en uno de un total de nueve. Eso es lo que estamos haciendo aquí en la matriz de confusión. Como pueden ver, lo que nos gustaría tener son todos estos números a lo largo de la diagonal principal. Tenemos algunos que no están exactamente donde deberían estar. El modelo no es perfecto, pero es bastante bueno. Tenemos una tasa de éxito del 95%.
Si prefieres ver fracciones en lugar de conteos, para eso está esta tabla. Luego, las curvas características operativas del receptor están aquí abajo, con las que quizás estés familiarizado. Interesante, pero cometemos algunos errores. Ahora bien, esos errores... Si me disculpas un segundo, necesito esos números para saber cuáles comentar contigo.
Si retrocedo, aquí tenemos... Veamos, predije la muerte monofásica, y mi algoritmo, mi algoritmo neuronal, dijo tres veces que era diáuxico. Treinta y nueve veces acertó, tres veces dijo que era diáuxico. Analicemos esos tres ensayos.
Si vuelvo a mi conjunto de datos principal, tengo un script que abre el Constructor de Gráficos. Aquí están todas mis curvas, todas superpuestas. Quiero que estas curvas en particular sean 124_2, 144_2 y 176_2. Estas tres curvas, a simple vista, al revisarlas inicialmente, dije que eran monofásicas. Solo tuvieron un pico y luego desaparecieron. Desaparecieron un poco. No desaparecieron mucho, pero las caractericé como monofásicas.
La rutina decía: "No, estas tres curvas eran diáucticas". Veámoslo más de cerca. La curva verde aparece aquí y, efectivamente, tiene una pequeña ondulación. No me di cuenta, pero JMP dijo: "Oye, creo que es una curva diáuctica". ¿Es importante? No lo sé. La gente del negocio de Kyle tendría que informarnos al respecto. Pero la detectó y dijo: "No, creo que es diáuctica".
Estas dos curvas, si miras hacia atrás, parecen mostrar un crecimiento inmediato, con mesetas, y luego una segunda curva de crecimiento más grande. Quizás sean diaúxicas. Quizás JMP esté funcionando mejor de lo que podía ver a simple vista.
Aquí hay otra curva. Esta es la número 60_2. ¿Dónde está? Ahí está. Esta curva, dije, era de muerte monofásica. Efectivamente, sube y luego baja hasta aquí. Empieza a crecer y luego se detiene. Seguro que han notado que es muy escalonada, lo que afecta a la resolución de la instrumentación. La conclusión es que estamos en una escala muy baja. Esta curva nunca se inició realmente. Así que JMP dijo: "No, esta es una curva sin crecimiento". Eso está bastante bien. No la detectaron, pero la detectaron porque es tan pequeña que no es práctica. Me parecieron resultados interesantes.
Ya tenemos un modelo. Mira, puedo cerrar el Constructor de Gráficos. Tenemos un modelo, este modelo potenciado por neuronas, que nos permite ver las tasas de clasificación errónea. Pero ¿qué hacemos cuando tenemos datos nuevos? Algo que no les mencioné antes está en el conjunto de datos original, aquí abajo, en la fila 190 (vamos, ahí está), la 191. Quería ocultarlo y excluirlo, pero no importa, son datos excluidos.
Supongamos que estos datos de la ejecución 191_2 son nuevos. No se incluyeron en la ejecución anterior ni en el análisis anterior. Voy a seleccionar "Celdas coincidentes" y la desmarcaré. Veamos. Listo. Ahora, básicamente, quiero repetir el proceso. Estos datos son nuevos para el algoritmo. De todos modos, es un análisis monofásico. Veamos qué hace JMP con ellos. ¿Cómo puedo acceder a ellos? Voy a hacer lo mismo.
Lo único que debo tener en cuenta es asegurarme de que todas las filas de entrenamiento sigan aquí como estaban originalmente, ya que voy a usar el FDE de modelado especializado. Simplemente pulsaré "Recuperar". Todo sigue igual en la configuración. Diré "Aceptar" y realizaré el mismo ajuste de B-Splines. Al hacerlo, obtengo exactamente los mismos resultados, por lo que el ajuste solo se basa en las ejecuciones de entrenamiento.
Ahora, lo que necesito obtener son estos resúmenes funcionales, los FPC. Necesito obtenerlos precisamente para eso... ¿Dónde están? Ah, están aquí abajo. 191_2. Necesito estos componentes principales funcionales. Si los conozco, puedo introducirlos en la fórmula de la red neuronal y obtener una predicción. En lugar de intentar copiar y pegar estos datos, simplemente guardaré los resúmenes.
Luego, iré abajo, a 191_2, que está justo aquí, en esta fila. Quiero estos cuatro números. Estos son los componentes principales funcionales para la nueva prueba. Los copiaré con CTRL+C. Ah, veamos, olvidé hacer algo. Me olvidé de un paso. Después de tener este modelo, también debemos guardarlo. Guardaré las fórmulas en la tabla de datos. Ahora, en la tabla de datos, dondequiera que estén, tengo muchas columnas adicionales.
Esto es con lo que empezamos, las cuatro FPC, y ahora tenemos todas estas columnas adicionales aquí a la derecha. Contienen las fórmulas de la red neuronal. Son pequeñas calculadoras en cada columna, y luego se resumen aquí, agrupadas para obtener la probabilidad de cada tipo de curva. Finalmente, el tipo con la mayor probabilidad es el que se obtiene aquí.
Todo lo que necesito hacer es tomar estos números para 191_2, copiarlos y volver a este conjunto de datos. Ir al final. Esto será 191_2. Este es un nuevo conjunto de datos, por lo que normalmente no sabría qué es. Todo lo que tengo que hacer es pegar esos números aquí y JMP calcula a través de todas estas diferentes columnas y evalúa y finalmente dice que este es un conjunto de datos de muerte monofásica, que de hecho lo era. Eso es lo que evalué a simple vista. Presumiblemente podría tomar tantos conjuntos de datos nuevos como desee, obtener los componentes principales funcionales. Pongámoslos aquí y listo.
Regresemos al diario y concluyamos. Nuestro resumen es que Functional Data Explorer, en combinación con otras herramientas de modelado de JMP Pro, puede usarse para caracterizar curvas. Obtuve una precisión del 95 %, pero hay cosas que podemos hacer para mejorarla aún más. El proceso de modelado resultante puede usarse para predecir estos nuevos tipos de curvas, ahorrando tiempo y evitando errores. Todos los pasos se describen en el artículo adjunto.
Posibles modelos para cada uno… No, lo siento, tengo un par de diapositivas desordenadas. Sugerencias para trabajos futuros: preseleccionar los datos para detectar ausencia de crecimiento. Si la OD600 no supera 0,05, obviamente no hay crecimiento. Los descartaremos. Ni siquiera necesitamos considerarlos.
Experimentar con diferentes tipos de splines, diferentes complejidades y diferentes números de nudos, y luego crear un script para automatizar todos estos pasos. Es muy posible que también pudiéramos hacerlo. Podríamos acelerarlo mucho.
Ahora, una vez que tenga esas curvas, si tiene una curva monofásica sostenida, como la primera que mostramos, puede calcularla en JMP con la plataforma de ajuste de curvas. Esta es la ecuación que obtendría, y de ella extraería el tiempo de retardo, la tasa de crecimiento máxima y la asíntota para los parámetros A, B y C.
Si tuvieras una curva diáuctica, podrías hacer esto. En realidad, se trata de dos curvas monofásicas simplemente sumadas. Puedes usar la plataforma no lineal de JMP para resolverlo. Sin crecimiento, como mencioné, simplemente se establece un límite. Si la OD600 es menor que 0,05 en todos los puntos de la serie, se considera sin crecimiento.
Luego, la muerte monofásica... supongo que hay varias maneras de hacerlo. Una de ellas fue tomar la función monofásica sostenida original que se aproxima a una asíntota y multiplicarla por una función lineal con pendiente negativa en el tiempo. Esto generaría una pendiente posteriormente. De nuevo, el solucionador no lineal calcula M, A, B y C.
Con esto termina nuestro programa. Como dije, les enviaremos un archivo PDF con todos los pasos necesarios. Esperamos que les sea útil. Muchas gracias a mi copresentador, Kyle. Nos vemos la próxima vez. ¡Que sigan felices!