Análisis de PC en lechones – Hacia la IA

Estás leyendo la publicación: Análisis de PC en lechones – Hacia la IA

Publicado originalmente en Hacia la IA, la empresa líder mundial en noticias y medios de IA y tecnología. Si está creando un producto o servicio relacionado con la IA, lo invitamos a considerar convertirse en patrocinador de la IA. En Hacia la IA, ayudamos a escalar las empresas emergentes de IA y tecnología. Permítanos ayudarlo a dar rienda suelta a su tecnología a las masas.

Análisis de los datos

Uso de modelos mixtos y splines en R

En este ejemplo de modelo mixto, usaré un conjunto de datos algo más avanzado que contiene el crecimiento del peso corporal de los lechones en diferentes niveles. El conjunto de datos no fue tan sencillo de analizar y estoy seguro de que el modelo que muestro al final se puede mejorar mucho. Afortunadamente, obtener el mejor modelo no es el verdadero objetivo de esta publicación.

Lo que quiero lograr, además de mostrar un modelo mixto con splines en R, es resaltar algunas funciones adicionales, como:

  1. Trazado y tabulación de la salida del modelo mixto
  2. Comparación por pares de factores
  3. Intervalos de confianza perfilados y bootstrapped de efectos fijos y aleatorios
  4. Una forma brillante de explorar tu modelo mixto.

Creo que el código, las imágenes y los comentarios agregados mostrarán el camino.

El análisis de los datos de crecimiento a través de un modelo mixto siempre requiere que los datos estén en formato largo: varias filas por ID en las que cada fila contiene una sola observación de un factor variable en el tiempo. Aquí, ese factor es .

Aunque los modelos mixtos son muy buenos para manejar datos desequilibrados, tal vez sea mejor si nos atenemos a los puntos de tiempo 0, 7, 14, 28 y 42. La elección es personal, por supuesto, y uno podría elegir de otra manera. Estas elecciones deben ser impulsadas por la ciencia, no por las estadísticas.

🔥 Recomendado:  Serie de tutoriales de visión artificial M1C2: hacia la IA

El mayor predictor de cualquier conjunto de datos longitudinales será el tiempo. Ahora bien, el tiempo en sí mismo es en realidad el factor menos interesante, ya que el tiempo por sí mismo no puede hacer nada. Es solo la progresión de un mecanismo subyacente que esperamos desentrañar pero no podemos ver. Por lo tanto, en el modelo, lo etiquetamos como tiempo.

Para modelar el ‘tiempo’, necesitamos ver si podemos hacerlo de la mejor manera de manera lineal, o si tal vez sean necesarias transformaciones polinómicas.

Ahora es el momento de modelar los datos usando modelos mixtos. Como se muestra en el ejemplo de introducciónpodemos comenzar a modelar simplemente usando la gran media, y luego aumentar usando efectos fijos y aleatorios adicionales.

El siguiente código ejecuta modelos cada vez más complejos y compara su ajuste de modelo entre sí.

Por el resultado, parece que el modelo spline con tres nudos es el mejor modelo. Las gráficas polinómicas anteriores insinuaban una curva, pero no estaba seguro de elegir dos o tres puntos de inflexión. Parece que las estadísticas eligieron tres, pero uno siempre debe tener cuidado. Estos modelos tienden a sobreajustarse fácilmente.

> data.frame(Modelo=myaicc[,1],redondo(myaicc[, 2:7],4))
Modelo K AICc Delta_AICc AICcWt Cum.Wt eratio
4 TP3 7 44777.30 0.0000 1 1 1.000000e+00
3 TP2 6 44852.52 75.2234 0 1 2.160530e+16
2 TL 5 44902.44 125.1398 0 1 1.491971e+27
1 I 3 51091.40 6314.0990 0 1 Inf

Algo que no le mostré, pero que siguió apareciendo, son advertencias sobre la escala de los predictores. Los modelos de regresión son muy susceptibles a escalas heterogéneas que limitan su capacidad para encontrar la solución más óptima. Por lo tanto, es mejor centrar (restar la media de las observaciones) y escalarlo (generalmente por desviación estándar). Esto es lo que a menudo se denomina normalización.

🔥 Recomendado:  Más de 15 mejores herramientas de análisis web en 2023

Bien, modelemos de nuevo usando los datos normalizados. A continuación, verá un modelo lineal y spline, que contiene los mismos efectos fijos y los mismos efectos aleatorios. se refiere a un modelo de intersección aleatoria en el que los efectos aleatorios se modelan a nivel de lechón, a nivel de corral y a nivel de departamento. Entonces, le estamos pidiendo al modelo que cree tres intersecciones aleatorias distintas. ¡Este es un trabajo pesado!

Aunque nuestros modelos están lejos de ser perfectos, todavía quiero mostrarte cómo crear estos hermosos y muy mesas personalizables.

Los gráficos a continuación muestran la complejidad decreciente a medida que avanzamos a niveles más altos del conjunto de datos anidado. En la parte superior izquierda, puedes ver los efectos aleatorios de cada uno de los 678 lechones. ¡Hay bastante variación allí! Esa variación todavía está presente cuando observa el nivel de la pluma, pero desaparece en su mayoría, pero no completamente, en el nivel del departamento.

Lo que está buscando a continuación son valores extraños y grandes rangos. Un gran rango muestra que el modelo es demasiado inestable, proporcionando diferentes resultados al volver a muestrear los datos (o muy probablemente los residuos en este caso). Tenga en cuenta que los datos están normalizados, así que no se alarme por los valores negativos.

> modelo completo.p.perfil
2,5 % 97,5 %
.sig01 0.15789798 0.18806449
.sig02 0.08045540 0.13829972
.sig03 0.03433251 0.16420614
.sigma 0.23087468 0.24606877
(Intercepción) -1.10607167 -0.91646721
Línea base 0.28509093 0.32624303
ns(Tiempo, 3)1 1.19281521 1.34393775
ns(Tiempo, 3)2 2.13788842 2.33545366
ns(Tiempo, 3)3 2.02265831 2.12545518
alimentaciónA44 -0.08153903 0.12081676
alimentaciónBB4 -0.06433766 0.14123498
alimentaciónB44 -0.07802993 0.12428090
speenleeftijd -0.05629743 0.03623871
ns(Tiempo, 3)1:feedA44 -0.05616030 0.15734512
ns(Tiempo, 3)2:feedA44 0.04118821 0.32098636
ns(Tiempo, 3)3:feedA44 -0.01626940 0.12931287
ns(Tiempo, 3)1:feedBB4 -0.03581485 0.17795854
ns(Tiempo, 3)2:feedBB4 -0.10099513 0.17879623
ns(Tiempo, 3)3:feedBB4 -0.06148481 0.08396338
ns(Tiempo, 3)1:feedB44 -0.10512360 0.10730989
ns(Tiempo, 3)2:feedB44 -0.10426754 0.17359444
ns(Tiempo, 3)3:feedB44 -0.09451097 0.05002694

🔥 Recomendado:  ¿Cuántas cuentas bancarias debo tener? Los expertos dicen que al menos estos 3

Aunque el modelo todavía no es muy bueno, y ya sabemos que ciertos factores no deben incluirse, profundicemos en el mundo de los predictores lineales y las medias estimadas o LMEANS como se les suele llamar.

Este último bit es un poco extra. Si desea explorar su modelo mixto y probar sus conocimientos, puede transformar su modelo en una herramienta brillante. Afortunadamente, todo el trabajo de codificación ya se ha realizado, por lo que solo necesita hacer el modelo. Sin embargo, el problema es que la aplicación Shiny no reconoce splines. En general, las splines pueden generar algunos problemas cuando se combinan con paquetes rígidos que no entiendo. Superan con creces cualquier modelo polinomial.

Por lo tanto, para transformar realmente su modelo en una herramienta Shiny, debe codificar el modelo polinomial pero incluir puntos de interrupción. Técnicamente, ahora tenemos un modelo de regresión por partesque en realidad es la base de una spline.

Este es el final de esta publicación. ¡Espero que lo hayas disfrutado y que nos sigas viendo más publicaciones!


El análisis de BW en lechones se publicó originalmente en Hacia la IA en Medium, donde las personas continúan la conversación destacando y respondiendo a esta historia.

Publicado a través de Hacia la IA