{"id":746,"date":"2025-08-02T13:52:50","date_gmt":"2025-08-02T13:52:50","guid":{"rendered":"https:\/\/agustincastro.es\/?p=746"},"modified":"2026-02-05T13:37:41","modified_gmt":"2026-02-05T13:37:41","slug":"clasificando-especies-de-coleopteros-mediante-analisis-discriminante-lineal-lda","status":"publish","type":"post","link":"https:\/\/agustincastro.es\/index.php\/2025\/08\/02\/clasificando-especies-de-coleopteros-mediante-analisis-discriminante-lineal-lda\/","title":{"rendered":"\ud83d\udd2c Clasificando especies de cole\u00f3pteros mediante An\u00e1lisis Discriminante Lineal (LDA)"},"content":{"rendered":"\n<p>En este ejercicio aplicamos <strong>An\u00e1lisis Discriminante Lineal (LDA)<\/strong> para <strong>distinguir especies de cole\u00f3pteros<\/strong> <strong>morfol\u00f3gicamente muy similares entre s\u00ed<\/strong>, cuya identificaci\u00f3n <strong>a simple vista resulta dif\u00edcil o poco confiable<\/strong>. Aunque usamos datos simulados, la estructura del an\u00e1lisis es representativa de estudios reales en los que se busca caracterizar morfol\u00f3gicamente distintas especies animales. <\/p>\n\n\n\n<p>Creamos un conjunto de datos con 5 especies del mismo g\u00e9nero, cada una representada por 6 individuos. <\/p>\n\n\n\n<p>Para cada individuo se midieron variables morfom\u00e9tricas clave:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Longitud total del cuerpo (LT)<\/strong><br>Desde el margen anterior del cl\u00edpeo hasta el \u00e1pice del \u00e9litro. Es una medida b\u00e1sica que suele correlacionarse con el tama\u00f1o general del insecto.<\/li>\n\n\n\n<li><strong>Ancho m\u00e1ximo del pronoto (AP)<\/strong><br>Es \u00fatil porque el pronoto (placa dorsal del t\u00f3rax) var\u00eda mucho entre especies y puede tener valor diagn\u00f3stico.<\/li>\n\n\n\n<li><strong>Ancho m\u00e1ximo de los \u00e9litros (AE)<\/strong><br>Los \u00e9litros (cobertores alares) son estructuras r\u00edgidas y bien conservadas morfol\u00f3gicamente, lo que los hace adecuados para comparaci\u00f3n entre especies.<\/li>\n\n\n\n<li><strong>\u00cdndice cef\u00e1lico (IC = ancho de la cabeza \/ largo de la cabeza)<\/strong><br>Esta proporci\u00f3n puede reflejar diferencias sutiles en la forma de la cabeza, relevantes para separar especies cr\u00edpticas.<\/li>\n\n\n\n<li><strong>Longitud de los \u00e9litros (LE)<\/strong><br>Se mide desde la base (en el punto de articulaci\u00f3n con el pronoto) hasta el \u00e1pice del \u00e9litro. Esta medida puede ser muy efectiva para diferenciar especies, especialmente aquellas con tama\u00f1os o formas alares diferentes.<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h4 class=\"wp-block-heading\">\ud83e\udde0 \u00bfPor qu\u00e9 usar LDA?<\/h4>\n\n\n\n<p>El <strong>An\u00e1lisis Discriminante Lineal<\/strong> permite:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Extraer <strong>combinaciones \u00f3ptimas de variables morfol\u00f3gicas<\/strong> para separar grupos.<\/li>\n\n\n\n<li>Visualizar las diferencias entre especies en un espacio reducido (LD1 y LD2).<\/li>\n\n\n\n<li><strong>Clasificar ejemplares nuevos<\/strong> con alta precisi\u00f3n en funci\u00f3n de sus medidas.<\/li>\n\n\n\n<li>Detectar patrones morfol\u00f3gicos que no son evidentes en una inspecci\u00f3n visual directa.<\/li>\n<\/ul>\n\n\n\n<p>Cuando las especies objetivo son morfol\u00f3gicamente <strong>cr\u00edpticas o muy similares<\/strong>, como puede en algunos casos, el LDA puede ser una herramienta \u00fatil para facilitar una identificaci\u00f3n fiable.<\/p>\n\n\n\n<p><strong>Este bloque de c\u00f3digo construye el set de datos simulado con diferencias controladas entre especies<\/strong>, permitiendo que el an\u00e1lisis discriminante que vamos a realizar tenga una base clara sobre la cual trabajar. Es un paso fundamental tanto para fines did\u00e1cticos como para ensayos previos a aplicar el m\u00e9todo a datos reales. Las <strong>desviaciones est\u00e1ndar son similares<\/strong>, simulando una variabilidad comparable dentro de cada especie. Utilizamos <code>rnorm()<\/code> para <strong>generar datos aleatorios con distribuci\u00f3n normal<\/strong>, imitando las medidas reales que podr\u00edamos obtener de cole\u00f3pteros en campo o laboratorio.<\/p>\n\n\n\n<p>Cada especie (A, B, C, D, E) recibe un conjunto de valores con <strong>medias diferentes por variable<\/strong>, lo que <strong>representa diferencias morfol\u00f3gicas esperadas entre especies<\/strong>. <\/p>\n\n\n\n<p>Esto simula un caso donde <strong>las especies son morfol\u00f3gicamente parecidas, pero no id\u00e9nticas<\/strong>, lo que reproduce el escenario buscado en esta pr\u00e1ctica. <\/p>\n\n\n\n<p>La diferencia de medias permite que, aunque los valores individuales se solapen, haya <strong>una separaci\u00f3n estad\u00edstica entre especies<\/strong>, lo cual es esencial para que LDA tenga sentido.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"905\" height=\"1024\" data-src=\"https:\/\/agustincastro.es\/wp-content\/uploads\/2025\/08\/image-9-905x1024.png\" alt=\"\" class=\"wp-image-756 lazyload\" data-srcset=\"https:\/\/agustincastro.es\/wp-content\/uploads\/2025\/08\/image-9-905x1024.png 905w, https:\/\/agustincastro.es\/wp-content\/uploads\/2025\/08\/image-9-265x300.png 265w, https:\/\/agustincastro.es\/wp-content\/uploads\/2025\/08\/image-9-768x869.png 768w, https:\/\/agustincastro.es\/wp-content\/uploads\/2025\/08\/image-9-1357x1536.png 1357w, https:\/\/agustincastro.es\/wp-content\/uploads\/2025\/08\/image-9-1024x1159.png 1024w, https:\/\/agustincastro.es\/wp-content\/uploads\/2025\/08\/image-9.png 1682w\" data-sizes=\"(max-width: 905px) 100vw, 905px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 905px; --smush-placeholder-aspect-ratio: 905\/1024;\" \/><\/figure>\n<\/div>\n\n\n<p>Con los datos ya preparados, ajustamos el modelo: <\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"1024\" height=\"376\" data-src=\"https:\/\/agustincastro.es\/wp-content\/uploads\/2025\/08\/image-7-1024x376.png\" alt=\"\" class=\"wp-image-754 lazyload\" data-srcset=\"https:\/\/agustincastro.es\/wp-content\/uploads\/2025\/08\/image-7-1024x376.png 1024w, https:\/\/agustincastro.es\/wp-content\/uploads\/2025\/08\/image-7-300x110.png 300w, https:\/\/agustincastro.es\/wp-content\/uploads\/2025\/08\/image-7-768x282.png 768w, https:\/\/agustincastro.es\/wp-content\/uploads\/2025\/08\/image-7.png 1126w\" data-sizes=\"(max-width: 1024px) 100vw, 1024px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/376;\" \/><\/figure>\n<\/div>\n\n\n<p><\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\ud83d\udd0d \u00bfQu\u00e9 significa?<\/h4>\n\n\n\n<p><strong>lda() <\/strong>es una funci\u00f3n de la librer\u00eda <strong>MASS <\/strong>que se utiliza para realizar un <strong>An\u00e1lisis Discriminante Lineal<\/strong>.<\/p>\n\n\n\n<p>El objetivo del <strong>LDA <\/strong>es encontrar combinaciones lineales de las variables explicativas que mejor separen los grupos definidos por la variable de clase (en este caso, la especie).<\/p>\n\n\n\n<p><strong>Especie ~ LT + AP + LE + AE<\/strong> indica que queremos predecir o clasificar la variable Especie usando como predictores morfom\u00e9tricos: <strong>LT<\/strong> (longitud total del cuerpo), <strong>AP <\/strong>(ancho del pronoto), <strong>LE <\/strong>(longitud de los \u00e9litros), <strong>AE <\/strong>(ancho de los \u00e9litros).<\/p>\n\n\n\n<p><strong>data = datos<\/strong> le dice a la funci\u00f3n que busque esas variables dentro del data frame llamada <strong><em>datos<\/em><\/strong>, que contiene todas las observaciones simuladas.<\/p>\n\n\n\n<p>Resultado obtenido: <\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"847\" height=\"1024\" data-src=\"https:\/\/agustincastro.es\/wp-content\/uploads\/2025\/08\/image-8-847x1024.png\" alt=\"\" class=\"wp-image-755 lazyload\" data-srcset=\"https:\/\/agustincastro.es\/wp-content\/uploads\/2025\/08\/image-8-847x1024.png 847w, https:\/\/agustincastro.es\/wp-content\/uploads\/2025\/08\/image-8-248x300.png 248w, https:\/\/agustincastro.es\/wp-content\/uploads\/2025\/08\/image-8-768x928.png 768w, https:\/\/agustincastro.es\/wp-content\/uploads\/2025\/08\/image-8.png 958w\" data-sizes=\"(max-width: 847px) 100vw, 847px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 847px; --smush-placeholder-aspect-ratio: 847\/1024;\" \/><\/figure>\n<\/div>\n\n\n<p><br>Explico en detalle los resultados: <br><br>(1) <strong>Probabilidad de los grupos<\/strong>. Como cada especie tiene 6 observaciones (30 en total), a priori, todas tienen la misma probabilidad 0.2 (20%). <br><br>(2) En \u00ab<strong>Group means<\/strong>\u00bb podemos ver las medias de las variables para cada una de las especies. El modelo va a utilizar estas diferencias en los promedios para aprender a separarlas. Como veis, hay una tendencia ascendente clara de la media de las variables entre especies, ideal para que LDA funcione bien (y como dijimos, es algo que se prepar\u00f3 desde el principio a la hora de generar los datos para la pr\u00e1ctica). <br><br>(3) <strong>Los coeficientes de las funciones discriminantes<\/strong>. Cada columna representa una combinaci\u00f3n lineal de las variables que maximiza la separaci\u00f3n entre especies.<br>    <br>    <strong>LD1 <\/strong>es la combinaci\u00f3n m\u00e1s poderosa para separar las especies (<strong>99,07%<\/strong>). La f\u00f3rmula ser\u00eda as\u00ed:<\/p>\n\n\n\n<p> <strong>LD1 = 1.50\u00d7LT + 4.48\u00d7AP + 1.31\u00d7LE + 1.97\u00d7AE<\/strong><br><br>    Esto muestra que AP (<strong>ancho del pronoto<\/strong>) y AE (<strong>ancho de \u00e9litros<\/strong>) tienen un peso muy alto en la separaci\u00f3n.<br><br>    LD2, LD3 y LD4 son funciones secundarias que explican cada vez menos informaci\u00f3n.<br><br>    <strong>Discriminante<\/strong>\t<strong>% de varianza explicada<\/strong><br>    <strong>LD1\t                <\/strong>99.07%<br>    <strong>LD2\t                 <\/strong>0.65%<br>    <strong>LD3                       <\/strong>0.27%<br>    <strong>LD4\t                 <\/strong>0.01%<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><strong>LD1 domina completamente la separaci\u00f3n de las especies (\u00a1casi el 100%!). Las otras funciones son casi irrelevantes. En este caso, una sola dimensi\u00f3n (LD1) es suficiente para discriminar entre especies con gran precisi\u00f3n.<\/strong><\/p>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>Ahora vamos a utilizar el modelo LDA ya entrenado (<code>modelo_lda<\/code>) para:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Obtener las <strong>proyecciones de cada individuo<\/strong> en los nuevos ejes discriminantes (LD1, LD2, etc.).<\/li>\n\n\n\n<li>Guardar esas coordenadas en el <code>data frame<\/code> para poder graficarlas y analizarlas.<\/li>\n<\/ol>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"788\" height=\"414\" data-src=\"https:\/\/agustincastro.es\/wp-content\/uploads\/2025\/08\/image-10.png\" alt=\"\" class=\"wp-image-757 lazyload\" data-srcset=\"https:\/\/agustincastro.es\/wp-content\/uploads\/2025\/08\/image-10.png 788w, https:\/\/agustincastro.es\/wp-content\/uploads\/2025\/08\/image-10-300x158.png 300w, https:\/\/agustincastro.es\/wp-content\/uploads\/2025\/08\/image-10-768x403.png 768w\" data-sizes=\"(max-width: 788px) 100vw, 788px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 788px; --smush-placeholder-aspect-ratio: 788\/414;\" \/><\/figure>\n<\/div>\n\n\n<p><\/p>\n\n\n\n<p><strong>\ud83d\udd0d \u00bfQu\u00e9 significa?<\/strong><\/p>\n\n\n\n<p>Esta funci\u00f3n va a aplicar el modelo LDA a los mismos datos con los que fue entrenado, generando varias salidas (En otras entradas de este blog veremos como puede prepararse un grupo de datos para realizar el \u00abtraining\u00bb del modelo y, los restantes, ser utilizados para el \u00abtesting\u00bb. Ver m\u00e1s abajo).<\/p>\n\n\n\n<p><strong>class<\/strong>: la especie predicha para cada individuo (\u00fatil si estuvi\u00e9ramos clasificando nuevos datos).<\/p>\n\n\n\n<p><strong>posterior<\/strong>: las probabilidades de pertenencia a cada clase (especie).<\/p>\n\n\n\n<p><strong>x<\/strong>: las coordenadas de cada individuo proyectadas en las funciones discriminantes (LD1, LD2, etc.).<\/p>\n\n\n\n<p>Aqu\u00ed nos interesa x, que es una matriz con tantas filas como individuos, y columnas como funciones discriminantes gener\u00f3 el modelo (en este caso, 4 especies \u2192 3 discriminantes, pero normalmente usamos las dos primeras: LD1 y LD2).<\/p>\n\n\n\n<p>Una vez realizado, podemos hacer un gr\u00e1fico para ver el resultado.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"769\" data-src=\"https:\/\/agustincastro.es\/wp-content\/uploads\/2025\/08\/image-11-1024x769.png\" alt=\"\" class=\"wp-image-758 lazyload\" data-srcset=\"https:\/\/agustincastro.es\/wp-content\/uploads\/2025\/08\/image-11-1024x769.png 1024w, https:\/\/agustincastro.es\/wp-content\/uploads\/2025\/08\/image-11-300x225.png 300w, https:\/\/agustincastro.es\/wp-content\/uploads\/2025\/08\/image-11-768x577.png 768w, https:\/\/agustincastro.es\/wp-content\/uploads\/2025\/08\/image-11.png 1294w\" data-sizes=\"(max-width: 1024px) 100vw, 1024px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/769;\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"438\" data-src=\"https:\/\/agustincastro.es\/wp-content\/uploads\/2025\/08\/discriminante-1024x438.jpg\" alt=\"\" class=\"wp-image-759 lazyload\" data-srcset=\"https:\/\/agustincastro.es\/wp-content\/uploads\/2025\/08\/discriminante-1024x438.jpg 1024w, https:\/\/agustincastro.es\/wp-content\/uploads\/2025\/08\/discriminante-300x128.jpg 300w, https:\/\/agustincastro.es\/wp-content\/uploads\/2025\/08\/discriminante-768x329.jpg 768w, https:\/\/agustincastro.es\/wp-content\/uploads\/2025\/08\/discriminante-1536x658.jpg 1536w, https:\/\/agustincastro.es\/wp-content\/uploads\/2025\/08\/discriminante.jpg 2037w\" data-sizes=\"(max-width: 1024px) 100vw, 1024px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/438;\" \/><\/figure>\n\n\n\n<p>\ud83c\udfaf <strong>\u00bfQu\u00e9 representa el gr\u00e1fico de LD1 vs LD2?<\/strong> El gr\u00e1fico muestra la proyecci\u00f3n de cada observaci\u00f3n (individuo de cada especie de escarabajo estudiado) en un nuevo espacio definido por las funciones discriminantes encontradas por el modelo LDA:<\/p>\n\n\n\n<p><strong>LD1 <\/strong>(eje horizontal): la que result\u00f3 ser la combinaci\u00f3n lineal m\u00e1s importante para separar las especies.<\/p>\n\n\n\n<p><strong>LD2 <\/strong>(eje vertical): la segunda combinaci\u00f3n m\u00e1s importante, aunque en este caso pr\u00e1ctico solo explica un 0.65% de la varianza, as\u00ed que aporta poco.<\/p>\n\n\n\n<p>&#8211;<\/p>\n\n\n\n<p>\ud83d\udcc8 <strong>Interpretaci\u00f3n visual de estos resultados<\/strong><\/p>\n\n\n\n<p><strong>Cada punto<\/strong> se corresponde con una observaci\u00f3n individual (un escarabajo). La posici\u00f3n del punto se basa en sus valores proyectados sobre LD1 y LD2. El <strong>color <\/strong>indica a qu\u00e9 especie realmente pertenece (seg\u00fan <strong>datos$Especie<\/strong>). <\/p>\n\n\n\n<p><strong>Agrupamiento de puntos<\/strong>. Si el modelo funciona bien, los puntos de la misma especie formar\u00e1n grupos separados, como vemos que ha ocurrido en este caso. Mientras m\u00e1s distantes hayan quedado los grupos entre s\u00ed, mejor est\u00e1 discriminando el modelo.<\/p>\n\n\n\n<p><strong>Separaci\u00f3n a lo largo de LD1<\/strong>. Como <strong>LD1 <\/strong>explica el 99% de la varianza, es el eje m\u00e1s importante. Seg\u00fan esto, la mayor\u00eda de la discriminaci\u00f3n entre especies ocurre de izquierda a derecha (<strong>LD1<\/strong>). Por otro lado, <strong>LD2 <\/strong>apenas contribuye a la separaci\u00f3n (solo 0.6%), aunque puede mostrar peque\u00f1os matices.<\/p>\n\n\n\n<p>&#8211;<\/p>\n\n\n\n<p> \ud83d\udcca <strong>Predicci\u00f3n con nuevos valores<\/strong><\/p>\n\n\n\n<p>Imaginemos que ahora tenemos las medidas de un nuevo individuo capturado, y queremos identificar su especie atendiendo al modelo discriminante que hemos creado:<\/p>\n\n\n\n<p>Las medidas ser\u00edan las siguientes:<\/p>\n\n\n\n<p>LT = 12.4<\/p>\n\n\n\n<p>AP = 2.85<\/p>\n\n\n\n<p>LE = 8.6<\/p>\n\n\n\n<p>AE = 3.5<\/p>\n\n\n\n<p>Podr\u00edamos predecir la especie con este c\u00f3digo:<\/p>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"613\" data-src=\"https:\/\/agustincastro.es\/wp-content\/uploads\/2025\/08\/image-14-1024x613.png\" alt=\"\" class=\"wp-image-762 lazyload\" data-srcset=\"https:\/\/agustincastro.es\/wp-content\/uploads\/2025\/08\/image-14-1024x613.png 1024w, https:\/\/agustincastro.es\/wp-content\/uploads\/2025\/08\/image-14-300x180.png 300w, https:\/\/agustincastro.es\/wp-content\/uploads\/2025\/08\/image-14-768x460.png 768w, https:\/\/agustincastro.es\/wp-content\/uploads\/2025\/08\/image-14.png 1126w\" data-sizes=\"(max-width: 1024px) 100vw, 1024px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/613;\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"472\" data-src=\"https:\/\/agustincastro.es\/wp-content\/uploads\/2025\/08\/image-15-1024x472.png\" alt=\"\" class=\"wp-image-763 lazyload\" data-srcset=\"https:\/\/agustincastro.es\/wp-content\/uploads\/2025\/08\/image-15-1024x472.png 1024w, https:\/\/agustincastro.es\/wp-content\/uploads\/2025\/08\/image-15-300x138.png 300w, https:\/\/agustincastro.es\/wp-content\/uploads\/2025\/08\/image-15-768x354.png 768w, https:\/\/agustincastro.es\/wp-content\/uploads\/2025\/08\/image-15.png 1142w\" data-sizes=\"(max-width: 1024px) 100vw, 1024px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/472;\" \/><\/figure>\n\n\n\n<p>Los resultados muestran que las medidas nos llevar\u00edan a la <strong>ESPECIE_C<\/strong> y que la probabilidad de pertenencia a esa clase ser\u00eda del 0.9765908 (muy cercana a 1). <\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>ANEXO: TRAINING y TESTING<\/strong><\/p>\n\n\n\n<p>\ud83c\udfaf <strong>\u00bfPor qu\u00e9 dividir en <em>training<\/em> y <em>testing<\/em>?<\/strong><\/p>\n\n\n\n<p>Dividir los datos en <strong>conjuntos de entrenamiento (<em>training<\/em>) y prueba (<em>testing<\/em>)<\/strong> es una pr\u00e1ctica fundamental cuando queremos <strong>evaluar objetivamente el rendimiento de un modelo predictivo<\/strong>, como el LDA en este caso. Cuando entrenas y eval\u00faas un modelo con los <strong>mismos datos<\/strong>, puedes obtener un resultado <strong>demasiado optimista<\/strong>. Es decir, el modelo puede parecer muy preciso, pero tienes que tener en cuenta que en realidad <strong>ha \u201cmemorizado\u201d los datos<\/strong>, y no necesariamente funcionar\u00e1 bien con individuos nuevos. <\/p>\n\n\n\n<p>Por eso dividimos los datos as\u00ed:<\/p>\n\n\n\n<p><strong>Conjunto de prueba (testing set)<\/strong>:<br>Se usa <strong>despu\u00e9s<\/strong>, para evaluar qu\u00e9 tan bien el modelo puede <strong>clasificar nuevos individuos<\/strong>.<\/p>\n\n\n\n<p><strong>Conjunto de entrenamiento (training set)<\/strong>:<br>Se usa para <strong>ajustar (entrenar)<\/strong> el modelo.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Con esto conseguimos:<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Evaluar la <strong>capacidad de generalizaci\u00f3n<\/strong> del modelo.<\/li>\n\n\n\n<li>Evitar sobreajuste (<strong>overfitting<\/strong>) al no validar con los mismos datos que se usaron para entrenar.<\/li>\n\n\n\n<li>Obtener m\u00e9tricas realistas sobre el desempe\u00f1o del modelo en <strong>datos nuevos<\/strong>.<\/li>\n<\/ul>\n\n\n\n<p>Aunque esto lo veremos en m\u00e1s detalle en pr\u00f3ximas entradas, un ejemplo de codigo en R para realizar esto podr\u00eda ser: <\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"1024\" height=\"480\" data-src=\"https:\/\/agustincastro.es\/wp-content\/uploads\/2025\/08\/image-13-1024x480.png\" alt=\"\" class=\"wp-image-761 lazyload\" data-srcset=\"https:\/\/agustincastro.es\/wp-content\/uploads\/2025\/08\/image-13-1024x480.png 1024w, https:\/\/agustincastro.es\/wp-content\/uploads\/2025\/08\/image-13-300x141.png 300w, https:\/\/agustincastro.es\/wp-content\/uploads\/2025\/08\/image-13-768x360.png 768w, https:\/\/agustincastro.es\/wp-content\/uploads\/2025\/08\/image-13.png 1362w\" data-sizes=\"(max-width: 1024px) 100vw, 1024px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/480;\" \/><\/figure>\n<\/div>\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>En este ejercicio aplicamos An\u00e1lisis Discriminante Lineal (LDA) para distinguir especies de cole\u00f3pteros morfol\u00f3gicamente muy similares entre s\u00ed, cuya identificaci\u00f3n a simple vista resulta dif\u00edcil o poco confiable. Aunque usamos datos simulados, la estructura del an\u00e1lisis es representativa de estudios reales en los que se busca caracterizar morfol\u00f3gicamente distintas especies animales. Creamos un conjunto de [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":766,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8,7,5],"tags":[],"class_list":["post-746","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-portfolio","category-r","category-tecnica-y-practica"],"_links":{"self":[{"href":"https:\/\/agustincastro.es\/index.php\/wp-json\/wp\/v2\/posts\/746","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/agustincastro.es\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/agustincastro.es\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/agustincastro.es\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/agustincastro.es\/index.php\/wp-json\/wp\/v2\/comments?post=746"}],"version-history":[{"count":19,"href":"https:\/\/agustincastro.es\/index.php\/wp-json\/wp\/v2\/posts\/746\/revisions"}],"predecessor-version":[{"id":785,"href":"https:\/\/agustincastro.es\/index.php\/wp-json\/wp\/v2\/posts\/746\/revisions\/785"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/agustincastro.es\/index.php\/wp-json\/wp\/v2\/media\/766"}],"wp:attachment":[{"href":"https:\/\/agustincastro.es\/index.php\/wp-json\/wp\/v2\/media?parent=746"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/agustincastro.es\/index.php\/wp-json\/wp\/v2\/categories?post=746"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/agustincastro.es\/index.php\/wp-json\/wp\/v2\/tags?post=746"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}