| Vocero |
Transcripción |
| Mike Anderson |
Hola. |
| |
Hablemos de la nueva característica de JMP 16, los límites de detección. |
| |
De lo que voy a hablar hoy son los antecedentes en la definición de límites de detección. |
| |
Quisiera repasar algunas consideraciones estadísticas, si estamos ignorando los límites de detección. |
| |
Miré a mi alrededor y encontré lo que creo que es evidencia del mundo real de la falta de solidez en algunos productos diseñados, específicamente las pruebas de diagnóstico de COVID-19, y estos productos incorporan los límites de detección. |
| |
Y finalmente, les mostraré cómo usar realmente los límites de detección en JMP, les mostraré cómo ingresarlos, cómo configurarlos en el diseño de experimentos y cómo analizar sus datos usando límites de detección. |
| |
¿Cómo sabemos si algo existe? |
| |
Puede que esto suene un poco a pregunta esotérica, pero cuando se utiliza un método analítico es menos una pregunta esotérica y más una pregunta sobre lo bueno que es el sistema. |
| |
Entonces, por ejemplo, si estamos tratando de encontrar una cantidad muy pequeña de impureza en algo, en algún punto, nuestro sistema, con el cual lo estamos detectando, no va a ser capaz de detectar cantidades que estén por debajo de un cierto nivel y ese límite se llama límite de detección. |
| |
Hay muchos tipos diferentes de definiciones de límites de detección. |
| |
Ellos son, |
| |
Varían según el campo y también según el método analítico, por eso he puesto un par aquí. La FDA dice que, para un ensayo de diagnóstico molecular, la detección limitada es la concentración más baja de un objetivo que se puede detectar en el 95 % de las mediciones repetidas. |
| |
Ahora, si vamos a ver lo que dice el mundo de la química, define un método de detección limitada como la concentración más pequeña o cantidad absoluta. |
| |
De un analito cuya señal es significativamente mayor que la de un blanco adecuado. Por lo tanto, estas dos definiciones se refieren inherentemente a métodos diferentes. |
| |
Y revisé más literatura y si estás haciendo algo como cromatografía líquida de alto rendimiento, hablan de relaciones señal-ruido cuando miras las curvas. |
| |
Si estás haciendo curvas de calibración, existen ciertas metodologías para eso y hay varias definiciones diferentes. |
| |
En cuanto a los límites de detección, animo a todos a buscar el que tenga más sentido para su método analítico y luego seguir también las pautas específicas de su industria. |
| |
En JMP, |
| |
Definimos los límites de detección, ya que... es una propiedad de columna y más allá de la cual |
| |
La respuesta no se puede medir, por lo que la está limitando, y lo que esto realmente hace cuando analizamos los datos es censurarlos. |
| |
Entonces, el ejemplo que di antes de buscar una cantidad muy pequeña de impureza que sería un límite inferior y que quedaría censurado. |
| |
Pero también podría ser un límite superior; por ejemplo, si estás aplicando presión a un objeto, tu manómetro puede detenerse en algún límite superior. |
| |
En realidad, podrías estar aplicándole más presión, pero tu indicador simplemente no sube más y ese sería un límite superior y esos datos serían censurados a la derecha, pero todos se ocupan exactamente de la misma manera en JMP. |
| |
Entonces, quiero mostrar un ejemplo de lo que sucedería si simplemente ignoramos los límites de detección cuando analizamos nuestros datos. |
| |
Entonces, en este ejemplo, |
| |
En el histograma a continuación, puedes ver que tengo una población real y esas son todas mis barras verdes, pero supongamos que tengo una detección limitada. |
| |
A los 10 y no puedo obtener una medición precisa por debajo de eso, por lo que no es cero. |
| |
No sé cuánto hay de lo que estoy tratando de medir, o lo que sea, así que cuántas partículas hay, así que el método estadístico correcto para esto nuevamente es censurar y hay una muy buena charla de Michael Crotty de JMP en Discovery 2017. |
| |
Y si quieres más detalles estadísticos, deberías ver su charla. |
| |
Muy bien, veamos este ejemplo. Digamos que tenemos esta detección limitada de 10 y |
| |
Lo que vamos a hacer es tratar a esa parte de la población como... |
| |
que no sabemos realmente qué es, así que |
| |
Aquí tengo un histograma, así que nuevamente a la derecha está mi población real. |
| |
Y tengo un par de escenarios diferentes aquí, así que si digamos que mi límite de detección es 10 |
| |
y luego otra vez es 11 y luego es 12. Entonces lo que estoy haciendo aquí es tomar estos datos y, de hecho, los estoy empujando hacia 10. |
| |
Permítanme mostrarles cómo se ve esto. Esto no es algo que ocurra automáticamente con los límites de detección; este es un ejemplo que he creado. |
| |
Entonces, si miras, por ejemplo, la fila 7, mi valor real es 9,22. |
| |
Pero si tengo un límite de detección de 10. |
| |
Entonces no, en realidad no sabría ese valor de 9,22 y lo mejor que podría hacer es escribirlo como 10. |
| |
Alternativamente, podría ponerlo como faltante o cero, pero creo que 10 podría ser un poco más realista. |
| |
Ahora, si mi detección limitada fuera 11, tendría que mover ese número a 11 y, de la misma manera, si mi detección limitada fuera 12, movería ese punto de datos y lo convertiría en 12. |
| |
Entonces lo que vemos es especialmente si miras aquí en el número 12, realmente he agrupado mis datos aquí. |
| |
El efecto que esto tiene sobre la media es que, en mi población real, mi media es aproximadamente 10,5. |
| |
En cuanto a 10, pasa a 10,7 y luego mi media se vuelve más alta, llega a 11,2 y luego a 12, en realidad la media está en ese límite de detección cuando tomo todos esos valores y los convierto en ese límite inferior. |
| |
Así que me estoy alejando mucho, mucho de mi media real de 10,5. |
| |
Pero observe lo que sucede con nuestras medidas de variación: mi desviación estándar es uno en mi población real, |
| |
y va a 0,8 si el límite de detección es 10 y luego va a 0,4 para 11 y luego hasta 0,2. |
| |
Así que mis medidas de variación se están haciendo más pequeñas y, en realidad, tengo más confianza en la medición que realmente estoy haciendo, que está muy alejada de lo que es realmente la población real. |
| |
Así que lo he resumido en los siguientes gráficos, aquí en el medio, donde pueden ver que tengo mi población real. |
| |
Y estoy conectando los medios de los otros donde he impuesto este falso nivel de detección y, como pueden ver, los medios se están volviendo dramáticamente más altos y más alejados de la verdad. |
| |
Las barras aquí son la desviación estándar y, como puedes ver, se están haciendo más pequeñas y luego el sombreado naranja es el intervalo de confianza del 95 % de mi nombre. |
| |
Aquí a la derecha, en el gráfico superior, de hecho he graficado tanto la media como la mediana y, como pueden ver, se comportan de manera similar. |
| |
Lo cual es sorprendente porque uno pensaría que la mediana sería un poco más robusta, pero no lo es en esta situación; realmente no ayuda. |
| |
Y debajo tengo mis medidas de variación y puedes ver que se hacen más pequeñas a medida que imponemos límites cada vez más altos. |
| |
Parece que lo estamos haciendo muy bien, ¿verdad? Mi confianza en la medición de mi media está aumentando bastante. |
| |
bastante pequeño, pero la verdad es que me estoy alejando cada vez más de ese valor poblacional real y tengo más confianza cuanto más me alejo. |
| |
Así que es realmente preocupante que no necesariamente puedas detectar lo que realmente está sucediendo y tengas una falsa confianza en las cosas. |
| |
Entonces, cuando ampliamos los límites de detección a los experimentos diseñados, |
| |
Lo que verán en una DEMO en breve es que no encontraremos nuestros factores críticos y tampoco descubriremos la verdadera relación entre nuestros factores. |
| |
Ahora, antes de mostrarles esto en JMP, realmente revisé la literatura e intenté encontrar alguna evidencia del mundo real, donde pensé que podría encontrar una falta de robustez. |
| |
En relación con los límites de detección en un producto diseñado, descubrí una buena comparación interna con las pruebas de diagnóstico de COVID-19. |
| |
Así, a principios de 2020, |
| |
Hubo más de 20 pruebas a las que la FDA dio autorización de uso de emergencia. |
| |
Y todas son pruebas de PCR en tiempo real y analizan la carga viral, es decir, cuántas copias del genoma del virus tienes. |
| |
Ahora bien, inicialmente, como no existía un estándar –porque era algo completamente nuevo que nunca habíamos visto antes–, las empresas podían desarrollar y utilizar su propio estándar interno. |
| |
Más tarde ese mismo año, la FDA creó su propio estándar, lo publicó y reevaluó las pruebas diagnósticas. Así, puedo comparar estos dos momentos de la misma prueba con diferentes estándares. |
| |
Así que decidí que debía hacer simplemente el orden de clasificación de las pruebas. ¿Cómo puedo saber qué es una buena prueba y qué es una mala? ¿Cómo voy a ordenarlas? |
| |
Bueno, podemos observar la relación analítica entre la carga viral, que nuevamente es el número de copias del genoma que el virus está haciendo. |
| |
y la sensibilidad clínica de la prueba diagnóstica. En el eje X, tenemos cuántas copias del genoma hay por mililitro, es decir, la carga viral. |
| |
Y los más pequeños detectan casos leves. Y si nos acercamos más a la derecha, solo detectaremos individuos con infecciones muy graves, es decir, superpropagadores. |
| |
Y luego, en el eje Y, esta es la fracción de casos detectados. Y, de nuevo, esta es evidencia real, así que lo que podemos ver con esta línea negra es que existe una relación entre la sensibilidad clínica y la calidad de la atención. |
| |
Lo siento, a qué pequeño |
| |
Podemos detectar la carga viral. Detectar una carga viral menor es positivo, y eso es lo que uso para el orden de clasificación. |
| |
Entonces tengo dos puntos de tiempo diferentes, el 2 de abril y el 15 de septiembre, y luego para cada punto de tiempo hice el orden de clasificación de cuál era el límite de detección en función de cada estándar. |
| |
Entonces, si se realizan pruebas diagnósticas, si se realizan de manera robusta, esperaríamos más o menos el mismo orden de clasificación y límites de detección similares. |
| |
Si hubiera una falta de solidez en la forma en que se diseñaron estas pruebas, entonces realmente esperaríamos ver un cambio en el orden de clasificación y límites de detección variables. |
| |
Entonces, ¿qué encontré? |
| |
Así que aquí he graficado los datos que encontré y tengo cuatro... |
| |
paneles aquí en mi gráfico. |
| |
Y dentro de cada panel, conecto la misma prueba diagnóstica en dos fechas diferentes. Por ejemplo, en la línea morada de la izquierda, conecto... |
| |
el rango del 2 de abril al 15 de septiembre y esta prueba de diagnóstico en particular originalmente estaba en el puesto 16 y luego llegó hasta el número 1. |
| |
También estoy graficando los límites finales de detección. Por lo tanto, este habría sido mucho peor en otro panel si hubiera graficado el valor inicial del 2 de abril, así que este es el valor final. |
| |
Así que esta prueba mejoró mucho, mucho y lo que vemos es que hay un par de otras pruebas que aumentaron drásticamente su capacidad para detectar un aumento drástico |
| |
el límite de detección y su capacidad para detectar cargas virales cada vez más pequeñas. |
| |
Pero también vemos pruebas que empeoraron mucho, mucho y nuevamente están cambiando en varios órdenes de magnitud, así que, por ejemplo, esta de abajo aquí en rojo, el 2 de abril fue la tercera mejor prueba, pero luego bajó hasta el número 14. |
| |
Así que creo que lo que esto demuestra es que, en general, hay simplemente una falta de robustez y de cómo se hicieron estas tareas inicialmente. |
| |
No sé cómo se hicieron estas pruebas. |
| |
No sé si utilizaron JMP y un experimento diseñado y límites de detección, pero creo que aplicar este tipo de técnicas ciertamente podría hacer que cualquier cosa que utilice límites de detección sea mucho más robusta. |
| |
Así que vayamos y echemos un vistazo a JMP. |
| |
Entonces, ¿cómo configuro los límites de detección? |
| |
Bueno, puedes hacerlo directamente en el diseñador personalizado. Ahora hay un cuadro donde puedes simplemente escribir los límites de detección. |
| |
Cuando hace esto en el diseñador personalizado en su tabla de salida, crea una propiedad de columna que contiene los límites de detección. |
| |
Cuando analizas esto en regresión generalizada, la regresión generalizada tratará, |
| |
Utilizará esos límites de detección y tratará las variables fuera de esos límites de detección como valores censurados. |
| |
Déjame mostrarte cómo hacer esto en JMP. |
| |
Entonces, así es como se vería una tabla de datos que configuré en el diseño de experimentos. Cómo llegué aquí fue que fui al DOE, diseñador personalizado. |
| |
Y puedes ver que aquí es donde establecería mis límites de detección para cada una de mis respuestas. |
| |
Es aburrido verme escribir, así que déjame mostrarte cómo ya tengo esta configuración para esta tabla de datos en particular. |
| |
Y aquí tengo varias respuestas. |
| |
Y tengo varios tipos de límites de detección, así que tengo un límite superior e inferior para un par de respuestas. Puedes tener un solo lado en cualquier dirección. |
| |
Entonces aquí solo tengo un límite de detección inferior y aquí solo tengo un límite de detección superior. |
| |
Y ciertamente puedes dejarlo en blanco si no tienes un límite de detección. |
| |
Y si miramos. |
| |
En la tabla de datos lo que podemos ver es que esto realmente se puede considerar como un límite de detección. |
| |
Pero puedo seleccionar todos estos. |
| |
Desplázate por ellos y verás cómo se ve el límite de detección. Es solo otro elemento en la propiedad de la columna. Aquí están mis valores superior e inferior. |
| |
Y de nuevo tengo uno superior y uno inferior. |
| |
En este, este es mi límite inferior y en el siguiente, este es mi límite superior. |
| |
Ahora bien, la viscosidad no tiene ninguno, por lo que si quisiera regresar y agregar esto manualmente o si está usando límites de detección para el análisis, pero no lo configuró en un experimento de diseño, |
| |
Simplemente vaya a las propiedades de la columna y verá que están aquí en la lista. Estas son todas las propiedades de columna que se aplican a un experimento diseñado. |
| |
Simplemente agreguemos límites de detección y luego podremos escribir cualquier valor que queramos, por ejemplo 1300. |
| |
Y |
| |
para un límite unilateral. |
| |
Y eso simplemente debería agregarlo y luego estará allí. |
| |
Así es como se establecen los límites de detección. |
| |
Tablas de datos y propiedades de columnas. |
| |
Bien, ahora hablemos sobre cómo analizar datos que tienen límites de detección. |
| |
Entonces, para esto, quiero analizar un experimento que se configuró con un diseñador personalizado y el objetivo de este experimento era optimizar la determinación de un pesticida a partir de muestras de agua. |
| |
Es un experimento de tres factores y tuvo 32 ejecuciones y un diseño óptimo. |
| |
Nueve de esas observaciones estaban por debajo del límite de detección del 1%. |
| |
A continuación te mostraré cómo analizar los datos en JMP. |
| |
Pero también quiero hacer esta comparación adicional: ¿qué pasa si no usamos o no teníamos límites de detección? |
| |
Bueno, mi detección limitada es del 1% y nuevamente no estamos seguros de cuáles son esos valores reales, así que supongo que podríamos tomar cero para un caso y luego. |
| |
Entonces, no hay pesticidas en la muestra de agua, o podemos decir que está justo en ese límite de detección y usar el valor de uno. Estos son los dos escenarios alternativos. Y lo que verán es que si no usamos los límites de detección, |
| |
No vamos a encontrar todos nuestros factores y, de hecho, nuestros resultados van a ser bastante engañosos e inexactos. |
| |
Déjame mostrarte cómo hacer esto en JMP. |
| |
Así que esto es lo mío. |
| |
El diseño parece así, tengo Metacrate como respuesta y aquí están mis límites superior e inferior de detección. |
| |
Aquí están mis tres factores. |
| |
Y acabo de hacer una superficie de respuesta. |
| |
Diseño para que cada uno |
| |
factor, y luego el cuadrático y la interacción bidireccional y terminé haciendo un diseño de 32 corridas. |
| |
Así es como se ven los datos. |
| |
De nuevo, estos son los resultados de mi diseño de experimento y en los casos en los que he... |
| |
cero, así que eso es lo que dice mi máquina, mi máquina dijo que no detecté nada, pero el caso real es que está censurado, y aquí es donde tengo límites de detección aquí desde la configuración de mi diseño de experimento. |
| |
Y vamos a analizar esto con regresión generalizada. |
| |
Realiza límites de detección o no en mínimos cuadrados regulares. Si bien podría ejecutar este script, quiero mostrarle cómo lo configuré realmente. |
| |
Entonces, tengo Metacrate como mi variable de resultado y vamos a utilizar regresión generalizada. |
| |
Y aquí la distribución normal es aceptable porque se ajusta a los datos, pero da como resultado valores de predicción negativos y no existe tal cosa como un valor negativo para la cantidad de pesticida que tengo. |
| |
Entonces, para mantenerlo positivo, voy a cambiarlo a logaritmo normal para que todos mis valores de predicción sean positivos. |
| |
Y tenga en cuenta que no tengo que poner nada para censurar, tengo la opción aquí, pero JMP se encargará de esto automáticamente. |
| |
Cuando hacemos un diseño de análisis de experimentos y generalizamos la regresión, la selección hacia adelante es una buena opción, es muy similar a hacer una regresión escalonada o paso a paso con la que quizás esté familiarizado. |
| |
en la plataforma del modelo de ajuste. |
| |
Entonces, lo que podemos ver en el resumen de mi modelo es que me recuerda que tiene límites de detección. |
| |
Y mi RSquare es 0,91, por lo que se ajusta muy bien. |
| |
Y si miramos los detalles de lo que está pasando aquí, |
| |
Si no está familiarizado con una ruta de solución y una regresión generalizada, lo que está viendo es cómo se ingresaron los parámetros en el modelo, por lo que nuevamente es una selección hacia adelante. |
| |
y luego se escalan según su magnitud de efecto, por lo que el primero que entró es mi diclorometano, y tiene un efecto positivo en el resultado. |
| |
Pero el cuadrático llegó después, y tiene un negativo, |
| |
un efecto negativo, es decir, literalmente una estimación negativa. |
| |
Y entonces, es divertido ver e interactuar con esto y, en general, el mejor modelo basado en el puntaje AIC mínimo tiene cinco pasos. |
| |
Ahora me gusta visualizar la ecuación, con el perfilador de predicción. |
| |
Y voy a simplificar esto por un minuto y hacerlo un poco más grande. |
| |
Entonces, lo que nos muestra el generador de perfiles de predicción es que esta es nuestra variable de resultado Metacrate y aquí está el eje y, luego cada cuadrado es uno de los factores de nuestro experimento. |
| |
Y lo que estamos viendo es la ecuación, o la relación. |
| |
Gráficamente. Podemos ver interacciones porque la forma de los otros factores cambia al modificar el diclorometano. Se puede apreciar claramente que hay mucha curvatura en estos parámetros. |
| |
También tengo mi actual por predicho |
| |
trama y en realidad se ve bastante bien. |
| |
Lo que quiero hacer es maximizar la cantidad de Metacrate que puedo detectar, por eso hice mi experimento. Le pediré a JMP que encuentre el nivel máximo. |
| |
Y lo que encontró es que la cantidad máxima de Metacrate que pude detectar es 38,6. |
| |
Y eso es para estas configuraciones de factores, por lo que mi muestra de agua es un poco menos de seis para esta cantidad de metanol y esta cantidad de diclorometano. |
| |
Así que este es el resultado de mi experimento, y me gustaría volver y probarlo y asegurarme de que funciona. |
| |
Ahora bien, ¿qué pasaría si ignorara los límites de detección y simplemente intentara algo más? |
| |
Así que aquí tengo exactamente los mismos datos. |
| |
Con Metacrate con cero, pero lo que hice fue agregar un par de columnas. Y una columna, pensé: "Bueno, quizá esté en el límite inferior, está en uno, ¿verdad?", así que en lugar de cero, simplemente cambié estos valores a uno. |
| |
Y luego, alternativamente, bueno, ¿qué pasaría si no hubiera nada que encontrar en esas muestras, y entonces eso sería cero y en este caso no puedo usar cero porque es logarítmico normal, así que simplemente elegí un valor minúsculo, muy pequeño? |
| |
Entonces, uno por 10 elevado a menos 12, correcto, entonces el punto es .00000000001, creo que es el número correcto de ceros. |
| |
Así que analicemos los datos con estas dos condiciones y nuevamente no vamos a utilizar los límites de detección. |
| |
Entonces, en lugar de Metacrate, voy a poner el primero, donde simplemente vamos a restablecer todos esos valores justo en el límite inferior de detección. |
| |
Vamos a hacer una selección hacia adelante. |
| |
Entonces, no hay, puedes ver que no hay límites de detección aquí como los había antes, mi RSquare está justo por debajo de 0,7. |
| |
Pero puedes ver tanto en mi ruta de solución como en mi tabla de estimación de parámetros, |
| |
Solo tengo tres pasos, pasos hacia adelante para mi modelado y no recogí muchas cosas, tengo muchos espacios en blanco aquí y, si miramos la imagen de mi |
| |
ecuación aquí abajo en el generador de perfiles, puedes ver que en realidad me falta uno de mis factores, podemos compararlo con este de aquí, me faltó totalmente el metanol. |
| |
Y si maximizo |
| |
para encontrar la mayor cantidad de Metacrate que pude encontrar, eso es solo alrededor de 16. |
| |
Y mi trama actual según lo predicho no se ve muy bien, no se ve muy feliz. |
| |
Así que esa es una situación, ¿verdad? Y de nuevo, pasamos por alto uno de nuestros factores, simplemente no lo detectamos. |
| |
Y ahora veamos la otra situación: ¿Qué pasa si en lugar de uno es casi cero? |
| |
No exactamente cero, pero muy, muy cerca. |
| |
Selección hacia adelante. |
| |
Nuevamente no estamos usando límites de detección aquí, pero mira esto, mi RSquared es 0.997. |
| |
Así que cree que ha encontrado el ajuste perfecto. |
| |
Pero todavía hay algo extraño que está pasando aquí, solo tengo tres pasos en mi modelo, realmente no he encontrado mucho, encontré |
| |
mi diclorometano y apenas terminé de recoger mi volumen de muestra. |
| |
Si observamos el perfilador de predicciones Predic. |
| |
Nuevamente me falta metanol, por lo que no tengo uno de mis factores. Mi gráfico predicho actual se ve regular, pero ¿qué diablos está pasando aquí? ¿Dónde está la parte superior de mi curva? |
| |
Voy a activar este eje Y adaptativo para asegurarme de que puedo verlo todo. |
| |
Y tiene valores de predicción que rondan los cientos y si yo solo, |
| |
No lo haré, podría maximizar la deseabilidad, pero puedes ver que supera los 470, incluso si intento elegir algo manualmente. Ahora recuerda, |
| |
Mi límite de detección era 99, así que estos valores ni siquiera tienen sentido. |
| |
Y |
| |
Me perdí un factor, no tiene sentido, pero parte de la razón por la que realmente quiero mostrar este ejemplo es que lo he visto en los clientes, |
| |
y no pude explicarles lo que estaba pasando, así que sé que esto realmente sucede si las personas no utilizan los límites de detección, |
| |
Obtienes un resultado muy, muy extraño porque has tomado una decisión sobre cómo tratar los datos en tu análisis, los has tratado como un uno o como un cero. |
| |
En este caso, estos son los dos escenarios alternativos, pero están muy, muy lejos de la realidad actual de cuál es la capacidad real de detectar este pesticida en el agua y el resultado de mi experimento de diseño. |
| |
Entonces. |
| |
La principal conclusión que realmente quiero que todos recuerden es que, en primer lugar, los límites de detección son muy importantes. |
| |
Y no debes ignorarlos y no reemplazarlos con el que tenga el valor alto o bajo y realmente estás... |
| |
Debes incorporar esa incertidumbre en el análisis real. JMP lo hace muy fácil. Puedes hacerlo en la plataforma de diseño de experimentos o en una propiedad de columna. |
| |
Y luego, una vez que estén allí, utilizando regresión generalizada, puedes hacer un análisis que incorpora los límites de detección y te dará el mejor modelo, encontrarás tus factores y las relaciones reales entre ellos. |
| |
Y finalmente, en JMP realmente alentamos a las personas a volver a analizar los datos, donde es posible que hayan visto algunos de estos resultados extraños. |
| |
Podría ser así, debes saber cuándo tienes un límite de detección basado en algún tipo de método analítico. |
| |
y realmente creemos que la gente debería volver a analizar esos datos y usar los límites de detección en el diseño de sus experimentos; esto realmente los llevará a donde intentan llegar mucho más rápido y con mucha más precisión. |
| |
Muchas gracias por escuchar mi charla y si tienes alguna pregunta o deseas algún seguimiento no dudes en comunicarte. |