class: center, middle, inverse # Métodos Estadísticos para Inteligencia Artificial .pull-left[ .center[ ### Material Escanea el siguiente código para acceder al material del taller ó escribe la siguiente dirección: [rpubs.com/amalvara/1263787](https://rpubs.com/amalvara/1263787) ] .center[ - ] .center[ ### Wifi **Usuario:** UCeventos **Contraseña:** uc.37961 ] ] .pull-right[ .center[ <img src="https://i.imgur.com/7oCFe7c.jpeg" width="380" > ] ] --- class: middle, inverse background-image: url("https://i.imgur.com/3bTTY88.png") background-size: cover --- # Introducción .pull-left[ <h2 align="justify" style="font-size: 32px;"> El objetivo de la <span style="color: purple;"> Inteligencia Artificial (IA) </span> es crear máquinas inteligentes que puedan realizar tareas que normalmente requieren inteligencia humana, como el reconocimiento de voz, imágenes y texto, comprender el lenguaje natural, jugar juegos y conducir automóviles. </h2>] .pull-right[ <h2 align="justify" style="font-size: 32px;"> La <span style="color: purple;"> Estadística </span> se ocupa de la recopilación, el análisis, la interpretación, la presentación y la organización de los datos. Los métodos estadísticos se utilizan para analizar e interpretar los datos y sacar conclusiones sobre poblaciones a partir de muestras. </h2>] --- # Introducción .pull-left[ <img src="https://www.redseguridad.com/wp-content/uploads/sites/2/2022/09/inteligenciaartificial.jpg" width="790"> ] .pull-right[ <h2 align="justify" style="font-size: 32px;"> Los <b>métodos estadísticos<b> son fundamentales en la <b>inteligencia artificial<b>. Permiten analizar datos, identificar patrones, hacer predicciones e inferir conclusiones. </h2> <h2 align="justify" style="font-size: 32px;"> Hoy exploraremos cómo estos métodos se aplican en diversas áreas de la IA, mejorando la toma de decisiones y la precisión de los modelos. </h2> ] --- # Inteligencia artificial .center[ <img src="https://i.vas3k.blog/7vw.jpg" width="640" > ] > [Machine Learning for Everyone](https://vas3k.com/blog/machine_learning/) --- # Aprendizaje automático <h2 align="justify" style="font-size: 30px; font-weight: normal"> Hoy en día existen cuatro direcciones principales en el aprendizaje automático. </h2> .center[ <img src="https://i.vas3k.blog/7vz.jpg" width="600" > ] --- # Aprendizaje automático clásico <h2 align="justify" style="font-size: 28px;font-weight: normal"> Los primeros métodos surgieron de la <b>estadística</b> pura en los años 50. Resolvieron tareas matemáticas formales: buscar patrones en números, evaluar la proximidad de puntos de datos y calcular las direcciones de los vectores. </h2> .center[ <img src="https://i.vas3k.blog/7w1.jpg" width="600" > ] --- # Algoritmos Supervisados Se caracteriza por el uso de conjuntos de datos etiquetados para entrenar algoritmos que clasifiquen datos o predigan resultados con precisión. - El algoritmo necesita que le demos la respuesta correcta (etiqueta). - El algoritmo utiliza estas etiquetas para aprender. - Es útil cuando queremos que la IA realice una tarea a futuro. También se conoce como **análisis predictivo** > **Algoritmos populares**: regresiones lineales, regresiones polinómiales, Naive Bayes , árbol de decisión , regresión logística , K-vecinos más cercanos , máquina de vectores de soporte (SVM). --- # Algoritmos No Supervisados Como contraparte del aprendizaje supervisado, el aprendizaje no supervisado es aquel donde no se conoce la respuesta. - El algoritmo aprende a partir de las variables explicativas sin ninguna variable respuesta observada, lo que le permite determinar los patrones de datos por sí mismo. - Los algoritmos de este tipo de aprendizaje se dejan guiar por sus propios mecanismos para descubrir la estructura de datos. - En el contexto del aprendizaje no supervisado, no existe esa medida directa del éxito. Es difícil determinar la validez de las inferencias extraídas de los resultados de la mayoría de los algoritmos. > **Algorimos populares**: K-means_clustering , Mean-Shift , DBSCAN, análisis de componentes principales (PCA), descomposición de valores singulares (SVD), asignación latente de Dirichlet (LDA), análisis semántico latente (LSA, pLSA, GLSA), t-SNE (para visualización) --- # ¿Cuál es la diferencia entre clasificar y agrupar? En términos de estructura del problema, - Cuando clasificamos buscamos una relación `\(f(x)\)` tal que mapee `\(x\)` a `\(y\)`, donde `\(y\)` es el target. - Cuando agrupamos buscamos los clústeres `\(c_i\)`, donde `\(x_j \in c_{i}\)`. <center> <img src="https://i.imgur.com/XzKDAuh.jpeg" width="720" height="350"> </center> --- # En un problema de agrupación, ¿cuál es el output? El output de los algoritmos de agrupación son precisamente, los grupos `\(c_i\)` y la caracterización de cada grupo (las coordenadas del centro) de modo que cada observación pertenezca a un grupo. <center> <img src="https://i.imgur.com/76tukzQ.jpeg" width="780" height="380"> </center> <h6> Fuente Imagen: www.linkedin.com/company/data-science-dojo </h6> --- # Aplicaciones 1. Predicción de ventas, utilizando regresión para preveer ingresos futuros. 2. Detección de fraude, utilizando clasificación para identificar transacciones sospechosas. 3. Segmentación de usuarios, aplicando agrupamiento para crear perfiles de clientes. 4. Sistemas recomendadores, a través de métodos de reducción de dimensionalidad. 5. Análisis de sentimientos, utilizando redes neuronales para clasificar opiniones en redes sociales --- class: middle, inverse # Fundamentos Estadísticos --- # Intervalos de confianza Un **intervalo de confianza** es un rango de valores calculado a partir de los datos muestrales que se utiliza para estimar un parámetro desconocido de una población (como la media o proporción poblacional) con un nivel de confianza específico. [Ejemplo](https://istats.shinyapps.io/ExploreCoverage/). <center> <img src="https://www.probabilidadyestadistica.net/wp-content/uploads/2023/01/intervalo-de-confianza.png?ezimgfmt=ng:webp/ngcb1" width="390"> </center> --- # Test de hipótesis Las **pruebas de hipótesis** son métodos estadísticos para la toma de decisiones sobre una población que se fundamenta en suposiciones o conjeturas sobre los parámetros de la población, y que por medio de pruebas estadísticas se verifica su validez o invalidez. - **La Hipótesis Alternativa** `\(H_1\)`: es propuesta por el investigador y por lo tanto es su hipótesis de trabajo. Es su creencia a priori, y tratará de buscar evidencias muestrales que sean suficientes para apoyar esta hipótesis. - **La Hipótesis Nula** `\(H_0\)`: Se asume vigente, el investigador tratará de buscar evidencia muestral suficiente para rechazarla, con el objetivo que `\(H_1\)` la reemplace --- # Valor-p y significancia El **valor-p** está definido como la probabilidad de obtener un resultado al menos tan extremo como el que realmente se ha obtenido, suponiendo que la hipótesis nula es cierta. El **nivel de significancia** `\(\alpha\)` (a menudo 0.05), determina cuando la hipotesis nula puede ser rechazada. [Ejemplo](https://istats.shinyapps.io/Inference_mean/) --- class: middle, inverse # 1. Algoritmos Supervisados ## 1.1 Regresión --- # 1.1 Regresión ### Regresión lineal: Este modelo asume una relación lineal entre la variable de respuesta y las variables predictoras. Se supone que los errores de predicción son independientes y siguen una distribución normal. Los parámetros de la regresión lineal son los coeficientes de pendiente y el intercepto. ### Árbol de regresión: Este modelo utiliza una estructura de árbol para dividir los datos en diferentes regiones. Cada nodo representa una pregunta sobre una variable predictora, y las ramas representan las posibles respuestas. Los árboles de regresión se ajustan dividiendo el conjunto de datos en función de la reducción de la suma de los cuadrados de los errores. Los parámetros incluyen la profundidad máxima del árbol y el criterio de división. --- # 1.1 Regresión ### Suavizamiento Loess: Es un método no paramétrico utilizado para ajustar curvas suaves a los datos. Se basa en la idea de ajustar un polinomio localmente en función de un vecindario de puntos cercanos. El suavizamiento Loess se basa en la suposición de que los datos tienen una estructura subyacente suave. Los parámetros incluyen la ventana de suavizado y el grado del polinomio. ### Random Forest: Este modelo combina múltiples árboles de decisión mediante la técnica de "bagging" (ensamblado). Cada árbol se entrena en una muestra aleatoria de datos y las predicciones se promedian para obtener una predicción final. Random Forest asume que los árboles son débilmente correlacionados y se beneficia de la diversidad de los árboles. Los parámetros incluyen el número de árboles y la cantidad de variables predictoras consideradas en cada división. --- ## Regresión lineal simple * Proporciona técnicas para elaborar una ecuación que exprese la relación lineal entre dos variables. * Estima el valor de la variable dependiente Y con base en un valor seleccionado de la variable independiente X. * Utiliza los datos para trazar una línea que represente mejor la relación entre las dos variables. .center[ <img src="Figuras/formula.png" width="500px"/> ] --- ## Regresión lineal simple .center[ <img src="Figuras/Captura.png" width="550px"/> ] --- ## Coeficiente de determinación `\(R^2\)` Es una medida de qué tan bien se ajusta la ecuación de regresión lineal a los datos muestrales. Un ajuste perfecto daría como resultado `\(R^2 = 1\)`. Un menor ajuste se relaciona con un valor de R2 cercano a 0. .center[ <img src="Figuras/r22.png" width="650px"/> ] > Nota: En regresión lineal simple el coeficiente de determinación es igual al coeficiente de correlación al cuadrado. --- ## Prueba de hipótesis de la regresión lineal ### Pruebas de hipótesis para los parámetros Probar si los parámetros obtenidos son significativos implica comprobar si la variable explica a la respuesta. `$$H_0: \beta_i = 0 \qquad vs.\qquad H_1: \beta_i \neq0$$` Se realizá un test `\(t\)` individual para cada parámetro. Además, se puede obtener los intervalos de confianza de cada uno de ellos. ### Pruebas de hipótesis para la significancia del modelo Probar si al menos uno de los parámetros es significativo. $$ H_0: \beta_1 = \beta_2 = ...\beta_k = 0 \qquad vs.\qquad H_1: Algún \: \beta_i \: \neq0 $$ Se realiza un test `\(F\)` a partir de la tabla ANOVA del modelo. En este caso, se reemplaza la idea de Tratamiento por Regresión. --- ## Residuos Para estimar la ecuación de la recta de regresión utilizamos el método de mínimos cuadrados. Al ajustar cualquier recta a un conjunto de datos existen pequeñas diferencias entre * los valores estimados por la recta * los valores reales observados. Consideramos los residuos, como la diferencia entre el valor real y el valor predicho. O bien, las distancias verticales entre cada punto y la recta. $$ \epsilon_i= y - \hat{y}_i$$ --- ## Diagnósticos del modelo Para que el modelo cumpla las expectativas requeridas, se debe cumplir tres criterios en sus errores: * **Normalidad**: Se espera que los errores tengan distribución normal, con media 0 y cierta varianza. * **Independencia**: Los errores deben ser independientes entre si. * **Homocedasticidad**: Los errores deben tener una dispersión constante en cualquier instante de la variable. --- ## Diagnósticos del modelo .center[ <img src="Figuras/plot2.png" width="750px"/> ] --- ## Diagnósticos del modelo #### Distribución normal de los residuos .center[ <img src="Figuras/qqplot2.png" width="590px"/> ] --- ## Diagnósticos del modelo ### Varianza constante (homocedasticidad) .center[ <img src="Figuras/homo.png" width="590px"/> ] --- ## Valores atípicos y de alta influencia .center[ <img src="Figuras/inf.png" width="800px"/> ] --- ## Valores atípicos y de alta influencia .center[ <img src="Figuras/inf.jpeg" width="450px"/> ] --- ## Modelo de regresión lineal múltiple Un Modelo de Regresión Lineal Múltiple, corresponde cuando se utilizan varias covariables que intentan explicar una variable a pronosticar. `$$Y_i = \beta_0 + \beta_1 X_{i1} + \beta_2 X_{i2} + \ldots \beta_k X_{ik} + \epsilon_i$$` * `\(\beta_0\)`: es el valor de Y cuando todos los predictores son cero. * `\(\beta_i\)`: es el incremento de la variable Y cuando Xi aumenta en una unidad, manteniéndose constantes el resto de variables. * `\(\epsilon_i\)`: es el error, la diferencia entre el valor observado y el estimado por el modelo. --- ## Selección de modelos Un indicador para elegir un modelo corresponde al Criterio de Información de Akaike (AIC). El AIC es una medida de calidad basada en la bondad de ajuste. Si se poseen varios modelos, se optaría por aquel con valor mínimo de AIC. * **Método jerárquico**: Según criterio del analista, se introducen predictores determinados en un orden determinado. * **Método de entrada forzada**: Se introducen todos los predictores simultáneamente. * **Método paso a paso (stepwise)**: Emplea criterios matemáticos para decidir qué predictores contribuyen significativamente al modelo y en qué orden se introducen o se eliminan. La función `stepAIC()` del paquete MASS permite seleccionar el método mediante el argumento `direction = c("both", "backward", "forward")`, para ir retirando o agregando variables. --- name: taller class: inverse, middle # Taller práctico --- # Taller práctico Los datos *biomasa.txt* son parte de un estudio realizado por Rick Linthurst, para identificar las características importantes del suelo que influyen en la producción de biomasa aérea de la hierba de marisma Spartina alterniflora. Se muestreó tres tipos de vegetación Spartina (áreas "muertas" revegetadas, áreas Spartina "cortas" y áreas Spartina "altas") en las ubicaciones (Oak Island, Smith Island y Snows Marsh). Se analizaron 5 muestras del sustrato del suelo dentro de cada ubicación para 14 características fisicoquímicas del suelo y la biomasa (BIO) aérea en cada sitio. .pull-left[ - Sulfuro libre (H2S) - Salinidad (SAL) - Potenciales redox a pH 7 (EH7) - PH del suelo en agua (PH) - Acidez del tampón a pH 6,6 (BUF) - Concentración de fósforo (P) - Concentración de potasio (K) - Concentración de calcio (CA) - Concentración de magnesio (MG) ] .pull-right[ - Concentración de sodio (NA) - Concentración de manganeso (MN) - Concentración de zinc (ZN) - Concentración de cobre (CU) - Concentración de amonio (NH4) ] --- # Taller práctico * Determine cuál es la variable dependiente y las variables independientes. ¿Cuáles son las parejas de variables que le permitirían realizar un modelo de regresión lineal simple? * Genere una gráfica que permita observar la relación entre las variables. Comente acerca del grado y tipo de asociación entre las variables. * Calcule el coeficiente de correlación de Pearson en cada caso. ¿Este valor confirma su interpretación en la pregunta anterior? * Determine la ecuación de regresión en cada caso. Ajuste un modelo de regresión lineal simple. Interprete los valores de los parámetros estimados. * Pruebe la significancia de la pendiente. Usando el nivel de significancia 0.05. ¿Podemos concluir que la pendiente de la recta de regresión es cero?. * Calcule el coeficiente de determinación. Evalué la capacidad predictora de una ecuación de regresión. --- # Taller práctico * Realice un análisis de los supuestos del modelo. * Ajuste un modelo de regresión lineal múltiple, que permita predecir la biomasa en función de pH y K. Use un método automatizado de selección, para seleccionar el mejor modelo. * Realice un análisis de residuos del modelo seleccionado. * ¿Es posible inferir vínculos de causalidad entre las caractrísticas del suelo y la producción de biomasa? --- class: middle, inverse # 1. Algoritmos Supervisados ## 1.2 Clasificación --- # Modelo de Regresión Logística El modelo de regresión logística es usado para explicar una respuesta dicotómica o politómica en función de una o más covariables. A diferencia de la regresión lineal, la variable respuesta puede ser `\(0\)` o `\(1\)`, por lo que nace de un experimento binomial con probabilidad `\(\pi\)`. La forma específica que se usa para el modelo de regresión logística es: `$$\pi = \frac{e^{\beta_0 + \beta_1 X_1 + \beta_2 X_2 + \ldots + \beta_p X_p}}{1 + e^{\beta_0 + \beta_1 X_1 + \beta_2 X_2 + \ldots + \beta_p X_p}}$$` Otra forma equivalente de representar el modelo es a través de la transformación "logit" datada por: $$ logit(\pi_i) = log(\frac{\pi_i}{1-\pi_i})=\beta_0 + \beta_1 X_1 + \beta_2 X_2 + \ldots + \beta_p X_p$$ Notar que si `\(\beta_i = 0\)`, entonces la probabilidad se mantendrá constante para cualquier valor de `\(X_i\)`. --- # Modelo de Regresión Logística ## Odds Un odds (o una chance) es la relación entre la probabilidad de ocurrencia versus la probabilidad de no ocurrencia. Matemáticamente se define como: `$$\frac{\pi_i}{1-\pi_i}=e^{\beta_0 + \beta_1 X_1 + \beta_2 X_2 + \ldots + \beta_p X_p}$$` * Si **odds** > 1, entonces se dice “número de veces más probable en ocurrir el éxito”. * Si **odds** < 1 es menor a 1, entonces se toma la diferencia para llegar a 1, y se interpreta como “menos probable que ocurra el éxito” --- # Modelo de Regresión Logística ## Odds Ratio La razón entre dos odds se conoce como Odds Ratio, o simplemente OR, y cuantifica cuánto más probable es la ocurrencia, respecto al estado de una cierta variable `\(X_i\)` al aumentar en una unidad o categoría. $$ OR = \frac{Odds1}{Odds2} = \frac{e^{\beta_0 + \beta_1 X_1 + \beta_2 X_2 + \ldots+ \beta_i (X_i = 1)+\ldots + \beta_p X_p}}{e^{\beta_0 + \beta_1 X_1 + \beta_2 X_2 + \ldots + \ldots+ \beta_i (X_i = 0)+\ldots+\beta_p X_p}}= e^{\beta_i}$$ --- # Modelo de Regresión Logística ## Interpretación de coeficientes Los coeficientes se interpretan de la siguiente forma: * Si `\(\beta_i > 0\)`, entonces `\(OR >1\)` y por tanto `\(X_i\)` es un factor de riesgo. * Si `\(\beta_i = 0\)`, entonces `\(OR=1\)` y por tanto no hay efecto del factor `\(X_i\)`. * Si `\(\beta_i < 0\)`, entonces `\(OR< 1\)` y por tanto `\(X_i\)` es un factor protector. --- # Actividad Utilice la base de datos **seguros.csv**, que cuenta con las siguientes variables: * Seguro: 1- Si la persona cuenta con seguro complementario. 0– En otro caso. * Edad: En años cumplidos. * Chile: 1- Si la persona vivió fuera de Chile al menos 10 años. 0-En caso contrario. * Sexo: 1- Mujer. 0-Hombre. * Educ: Años de educación. * EstCiv: 1-Casado. 0-Soltero. * Salud: 1-Excelente estado de salud. 2-Muy buena. 3-Buena. 4-Regular. 5-Mala. * Jubil: 1-Jubilado. 2-Trabajando. * Ingreso: Ingreso per cápita. * IngresoQuintil: Categorización en quintiles de Ingreso. El objetivo de este estudio es analizar qué factores influyen en la tenencia o no de un seguro complementario. --- # Punto de Corte El punto de corte es un valor entre 0 y 1, tal que, si la probabilidad de un sujeto es mayor que este, se clasificará como positivo y en caso contrario como negativo. Por ejemplo, si la probabilidad de un sujeto de padecer diabetes es de 0.36 y el punto de corte es 0.5, se clasificará como sin diabetes. El punto de corte dependerá del área de trabajo, ya que, por ejemplo, al disminuir el punto de corte, serán más los casos positivos detectados, pero se cometerá un mayor error con los casos negativos (Esto es deseado, por ejemplo, en los test de embarazo). --- # Matriz de confusión Una matriz de confusión permite evaluar el ajuste del modelo. Se presentan los valores reales versus los valores predichos. <br/> .center[ <img src="Figuras/conf.png" width="700px"/> ] --- # Metricas de evaluación Entre las medidas más usuales para evaluar el modelo se encuentran: .pull-left[ Exactitud = `\(\frac{VP+VN}{TOTAL}\)` Precisión = `\(\frac{VP}{VP+FP}\)` Sensibilidad (Recall) = `\(\frac{VP}{VP+FN}\)` ] .pull-right[ Especificidad = `\(\frac{VN}{FP+VN}\)` Tasa de Error = `\(\frac{FP+FN}{TOTAL}\)` VPN = `\(\frac{VP+VN}{VN+FN}\)` ] F1-Score = `\(\frac{2\cdot Precision \cdot Recall}{Precision + Recall}\)` La función `confusionMatrix()` de la librería **caret** ajusta la matriz de confusión entre valores reales y valores predichos, junto con los indicadores asociados. <br> .right[ [Revise Ejemplo interactivo](https://mlu-explain.github.io/precision-recall/) ] --- # Curva ROC La curva ROC es una herramienta para seleccionar modelos óptimos y descartar modelos sub-óptimos independientemente. Se calcula utilizando los valores de la Sensibilidad y la Especificidad. .center[ <img src="Figuras/roc.png" width="500px"/> ] La interpretación se basa en el área bajo la curva (AUC). --- # Curva ROC El AUC indica el porcentaje que puede clasificar correctamente el modelo, por ejemplo, un AUC de 85% indica que cada 1000 predicciones, 850 estarán bien clasificadas. --- # Curva ROC .pull-left[ .center[<img src="Figuras/90Roc.png">] Valores sobre el 90% de AUC son considerados sospechosos y puede deberse a cosas como predecir la variable respuesta con una variable muy correlacionada. ] .pull-right[ .center[<img src="Figuras/80Roc.png">] Valores entre el 75 % y 90% aprox. son considerados como un buen ajuste. Esto quiere decir que el modelo logra discriminar de buena forma los datos. ] --- # Curva ROC .pull-left[ .center[<img src="Figuras/roc1.png">] Valores entre el 60 % y 75% aprox. se consideran como aceptables, logrando un bajo nivel de discriminación del modelo. ] .pull-right[ .center[<img src="Figuras/50Roc.png">] Valores cercanos al 50% se considera un mal ajuste. Un AUC del 50% es equivalente a no generar un modelo para predecir. ] --- name: taller class: inverse, middle # Taller práctico --- # Taller práctico Se observaron o midieron las características clínicas de 64 pacientes con cáncer de mama y 52 controles sanos. * Age: Edad del paciente (años) * BMI: Indice de Masa Corporal (kg / `\(m^2\)`) * Glucose: Nivel de glucosa en la sangre (mg / dL) * Insulin: Nivel de insulina ($\mu U$ / mL) * HOMA: Homeostatic Model Assesment. Se utiliza para evaluar la función de las células `\(\beta\)` y la sensibilidad a la insulina. * Leptin: hormona utilizada para regular el gasto energético (ng / mL) * Adiponectin: Hormona proteica utilizada para regular los niveles de glucosa (µg / mL) * Resistin: Hormona que causa resistencia a la insulina (ng / mL) * MCP.1 : Proteína que ayuda a la recuperación de lesiones e infecciones. (pg / dL) * Classification: 1 = paciente sano como parte de un grupo de control, 2 = paciente con cáncer de mama Desarrolle y evalue un modelo de predicción que potencialmente se puede utilizar como un biomarcador de cáncer de mama, basado en datos y parámetros antropométricos que se pueden recopilar en análisis de sangre de rutina. Más información del estudio en el siguiente [link](https://bmccancer.biomedcentral.com/articles/10.1186/s12885-017-3877-1). --- # Taller práctico 1. Importe los datos 2. Compruebe si hay sesgo de clase 3. Cree muestras de entrenamiento y prueba 3. Calcule el valor de la información para descubrir variables importantes 4. Construya modelos logit y prediga sobre datos de prueba 5. Haga diagnóstico de los modelos --- # Árboles de Decisión Es un algoritmo de aprendizaje supervisado no paramétrico, que se utiliza tanto para tareas de clasificación como de regresión. Tiene una estructura de árbol jerárquica, que consta de un nodo raíz, ramas, nodos internos y nodos hoja. Cada nodo interno representa una "prueba" o "condición" sobre una característica, cada rama representa el resultado de la prueba, y cada hoja representa una etiqueta de clase (en el caso de la clasificación) o un valor (en el caso de la regresión). .center[<img src="https://media.licdn.com/dms/image/C4E12AQG19i3vFGtvtw/article-cover_image-shrink_720_1280/0/1632989308365?e=1723680000&v=beta&t=tNsG___dEqZnEptHIGtKw_P4xu-92m15IdktF1OrP58" width="600px"> ] --- # Árboles de Decisión #### Estructura del Árbol de Decisión - **Nodo raíz**: Es el nodo superior del árbol, que representa toda la población o muestra inicial. Este nodo se divide en dos o más ramas. - **Nodos internos**: Estos nodos representan las características (atributos) en el conjunto de datos y las pruebas o condiciones sobre estas características. Cada nodo interno se divide en otros nodos (nodos hijos) basados en las condiciones de la característica. - **Hojas (nodos terminales)**: Estos nodos representan el resultado final o la decisión tomada. En un problema de clasificación, cada hoja representa una clase; en un problema de regresión, cada hoja representa un valor. --- # Árboles de Decisión .center[<img src="https://i.vas3k.blog/7w3.jpg" width="700px">] --- # Árboles de Decisión La construcción de un árbol de decisión implica los siguientes pasos: 1. Seleccionar la característica para dividir: La característica seleccionada es aquella que mejor separa los datos en términos de la variable objetivo. Se utilizan medidas como la ganancia de información, el índice de Gini o la reducción de la varianza para determinar la mejor división. 2. Dividir el nodo: Basado en la característica seleccionada y su condición, el nodo se divide en ramas, y cada nueva rama representa un subconjunto de los datos. 3. Repetir recursivamente: El proceso de selección de características y división se repite recursivamente para cada subconjunto, creando nuevos nodos internos y ramas, hasta que uno de los criterios de detención se cumple, como alcanzar una profundidad máxima del árbol, o que los nodos contengan un número mínimo de muestras. --- # Random Forest En Random Forest, se crea un conjunto de árboles de decisión, donde cada árbol se entrena con: 1. Una muestra aleatoria del conjunto de datos de entrenamiento (parámetro ntree o similar). 2. En cada nodo de división de un árbol, se considera solo un subconjunto aleatorio de características para tomar la decisión (parámetro mtry). Para problemas de clasificación, la predicción final del Random Forest se determina por votación mayoritaria entre los árboles. Para problemas de regresión, la predicción final es el promedio de las predicciones de los árboles individuales. --- # Árbol de Decisión vs Random Forest .center[<img src="https://miro.medium.com/v2/da:true/resize:fit:1200/0*YEwFetXQGPB8aDFV">] --- class: middle, inverse # Algoritmos No Supervisados --- # Algoritmos de agrupación Existen distintos algoritmos para obtener los grupos (o también llamados *clústeres*) deseados, el uso de uno u otro depende en gran medida del tipo de variables en nuestra base de datos: #### Agrupamiento jerárquico - Agrupación Aglomerativa - Agrupación divisiva #### Agrupamiento no jerárquico - K means - K mode - K prototype --- class: middle, inverse # Algoritmos de Agrupación No Jerárquico --- # Algoritmos de agrupación no jerárquico Estos algoritmo necesitan los datos y el número de grupos `\(K\)`. ### Algoritmo de K-Means: Se utiliza cuando los datos corresponden a una matriz numérica, es decir, los grupos se obtendrán utilizando variables numéricas. <br> -- ### Algoritmo de K-Modes: Se utiliza cuando los datos corresponden a una dataframe de atributos categóricos, es decir, utilizando variables categóricas. <br> -- ### Algoritmo de K-Prototype: Se utiliza en datos mixtos, es decir, cuando nuestros atributos corresponden a variables numéricas y categóricas. <br> > Veremos más adelante cómo determinar candidatos para `\(K\)`. --- # K-Means Es una técnica de **Machine Learning** de Aprendizaje No Supervisado basado en **centroides** obtenidos mediante el cálculo **iterativo** de **distancias**. Las distancias son calculadas para asignar cada punto a un grupo. En K-Means, cada grupo está caracterizado por un centroide. El agrupamiento se realiza minimizando la suma de distancias entre cada objeto y el centroide de su grupo o clúster. Se suele usar la distancia cuadrática, por lo cual, en este algoritmo solo se utilizan variables numéricas. --- # K-Means <img src="media/AlvinChuaKmeans.gif"> --- # K-Means <img src="media/kmeans.png" width="650"> Link GIF: [shabal.in/visuals/kmeans/4.html]() --- class: inverse , middle # Critérios para la elección del K óptimo --- # Sumas cuadráticas en K-Means Dos conceptos muy importantes al realizar clustering es la varianza intra clúster e inter clúster: .center[ <img src="media/cluster1.png" width="500"> ] --- # Sumas cuadráticas en K-Means #### Distancia intra clústers (Within Cluster Sums of Squares - WSS) Indica qué tan separados están los elementos del mismo grupo y qué tan lejos están de su centroide. Los grupos más densos con elementos más cercanos tienen mayor similitud y son más probables para compartir realmente la misma calificación. Se calcula: `$$WSS=\sum_{i=1}^{N_c}{\sum_{x \in C_{i}}{d(x, \bar{x}_{C_i})^{2}}}$$` Donde `\(N_{c}\)` es el número de clústers, `\(C_i\)` corresponde al clúster, `\(x\)` la observación y `\(\bar{x}_{C_i}\)` el centroide del clúster. --- # Sumas cuadráticas en K-Means #### Distancia entre clústers (Between Cluster Sums of Squares - BSS) Indica qué tan lejos están los grupos entre sí. Es una buena señal cuando están distantes entre sí porque muestran un mayor aislamiento de los grupos y probablemente una clasificación más precisa. Se calcula: `$$BSS=\sum_{i=1}^{N_c}{|C_i|\cdot d(\bar{x}_{C_i}, \bar{x})^{2}}$$` Donde `\(\bar{x}\)` es la media global y `\(|C_i|\)` corresponde al tamaño del clúster. --- # Interpretación de las sumas cuadráticas - Distancia intra clústers (WSS): Mide la variabilidad de las observaciones dentro de cada grupo. Una menor suma cuadrática indica que los grupos son más más compactos o pequeños. El WSS también está influenciado por el número de observaciones, a medida que aumenta el número de observaciones, notará que la suma de cuadrados aumenta. Esto significa que WCSS a menudo no es directamente comparable entre grupos con diferentes números de observaciones. - Distancia entre clústers (BSS): Mide la distancia promedio al cuadrado entre todos los centroides, lo cual representa la dispersión entre todos los grupos. Un valor grande puede indicar clústeres que están dispersos, mientras que un valor pequeño puede indicar clústeres que están más cerca unos de otros. <br> Estos dos criterios pueden utilizarse como complemento para la elección del número de grupos según el _criterio de inercia_ que indica que el agrupamiento será óptimo, cuando los grupos formados tengan una distancia mínima intra clúster y una distancia máxima entre clúster. --- class: inverse, middle # Taller práctico --- # Taller práctico #### Agrupación de vinos según características La base de datos _segmentacion_ contiene información de una carta que incluye 177 vinos que vende cierta empresa. Las variables son todas numéricas, como por ejemplo, grado de alcohol, cantidad de flavonoides, alcalinidad, entre otras. Interesa agrupar los vinos por similitud, de modo tal, que si a un cliente le gusta un vino `\(A\)` se le sugiera un vino `\(B\)` donde `\(B\)` pertenece al mismo grupo de `\(A\)` (es decir, son similares). 1. Aplique el método k-means para distintos valores de K (K = 1, 2, ...,15) 2. Para cada grupo obtenga las sumas de cuadrado WSS y BSS. 3. Compare a través de gráficos las sumas de cuadrado para cada grupo. --- # Método del códo Este método busca seleccionar la cantidad ideal de grupos a partir de la optimización de las sumas cuadráticas. <img src="MetEstadisticos_files/figure-html/unnamed-chunk-1-1.png" width="720" /> Si bien, el criterio de selección puede variar (por ejemplo, dependiendo del conocimiento del negocio), uno de los criterios es seleccionar aquél valor de K tal que posterior a ese punto no se observan drásticas caídas/subidas. Por ejemplo, en ambos gráficos podemos ver que en `\(K = 3\)` ser observa la diferencia más considerable y luego son todos los cambios pequeños, por lo tanto, un valor de `\(k\)` propuesto es 3. --- # Caracterización de clústers Se puede caracterizar cada clúster dependiendo de cómo se mueven las variables en el clúster, de esta forma podemos obtener perfiles de vinos, en otro contexto pudieran ser, por ejemplo, perfiles de clientes, usuarios, etcétera. .center[ <img src="MetEstadisticos_files/figure-html/unnamed-chunk-2-1.png" width="504" /> ] --- # Método de la Silueta El método de la silueta mide la calidad de una agrupación. Es decir, determina qué tan bien se encuentra cada observación dentro de su grupo. El rango del valor de silueta está entre +1 y -1. Es deseable un valor alto e indica que el punto está ubicado en el grupo correcto. Si muchos puntos tienen un valor de silueta negativo, puede indicar que son demasiados o muy pocos clústeres. La silueta `\(s(i)\)` para cada punto `\(i\)` de la data, se obtiene, como sigue: `$$s(i)=\frac{b(i)-a(i)}{max\left\lbrace a_i, b_i\right\rbrace} \ \ \ \text{ si } |C_i| >1$$` Y `\(s(i)=0 \ \ \ \text{ si } |C_i| =1\)`. `\(s (i)\)` se define como igual a cero si `\(i\)` es el único punto del grupo. Esto es para evitar que la cantidad de clústeres aumente significativamente con muchos clústeres de un solo punto. --- # Método de la Silueta `\(a(i)\)` es la medida de similitud del punto `\(i\)` con su propio grupo. Se mide como la distancia media de `\(i\)` desde otros puntos del clúster: `$$a(i)=\frac{1}{|C_i|-1}\sum_{j \in C_i, i \not = j}{d(i,j)}$$` De forma similar, `\(b(i)\)` es la medida de disimilitud de la observación `\(i\)` con puntos de otros clústers: `$$b(i)=min_{i \not = j}\frac{1}{|C_j|}\sum_{j\in C_j}{d(i, j)}$$` --- # Método de la Silueta El gráfico de silueta muestra una medida de cuán cerca está cada punto en un clúster de los puntos en los clústeres vecinos y por lo tanto proporciona una forma de evaluar parámetros como el número de clústeres visualmente. <center> <img src="media/aibi.png" width="750" height="400"> </center> --- # Método de la Silueta ```r fviz_nbclust(vinos_num, kmeans, method = "silhouette") ``` <img src="MetEstadisticos_files/figure-html/unnamed-chunk-3-1.png" width="432" /> --- # Estadístico Gap El estadístico *gap* compara la variación total intraclúster para diferentes valores de `\(k\)` con sus valores esperados bajo una distribución de referencia nula de los datos. La estimación de los clúster óptimos será el valor que maximice el estadístico gap (es decir, que arroje la brecha más grande). - Paso 1: Clusterizar la data con `\(k=1,...,k_{max}\)` clúster y calcula la variación intraclúster total `\(W_k\)`. - Paso 2: Genera `\(B\)` conjuntos aleatorios de una distribución uniforme. Clusterizar estos conjuntos con `\(k=1,...,k_{max}\)` clúster y calcula la variación intraclúster total `\(W_{kb}\)`. - Paso 3: Calcula el estadístico Gap: `$$Gap(k)=\frac{1}{B}\sum_{b=1}^{B}{log(W_{kb}^{*})-log(W_{k})}$$` Y también su desviación estándar. - Paso 4: El `\(k\)` óptimo será el mínimo `\(k\)` tal que el estadístico gap `\(k\)` esté a una desviación estándar del estadístico gap `\(k+1\)`: `$$k_{Gap}= min_{k} \left\lbrace Gap(k) \geq Gap(k+1)−s_{k+1} \right\rbrace$$` --- # Estadístico Gap ```r fviz_nbclust(vinos_num, kmeans, nstart = 25, method = "gap_stat", nboot = 50) ``` <img src="MetEstadisticos_files/figure-html/unnamed-chunk-4-1.png" width="432" /> --- class: middle, inverse # K-Modes --- class: # K-Modes Es una técnica de Machine Learning de Aprendizaje No Supervisado diseñado para agrupar grandes conjuntos de datos categóricos y tiene como objetivo obtener las K modas que representan al conjunto. El algoritmo K-Modes es una versión del K-Means para datos categóricos con las siguientes modificaciones: - Usa diferentes medidas de disimilaridad (ya no puede calcular distancia euclideana porque los datos no son numéricos). - Sustitución de K medias por K modas para obtener los centros. - Actualiza las modas a partir de las frecuencias de los datos. --- # K-Modes <center> <img src="media/kmodes.png" width="800" height="540"> </center> --- class: middle, inverse # K-Prototype --- # K-Prototype Es una técnica de Machine Learning de Aprendizaje No Supervisado que permite agrupar grandes conjuntos de datos mezclados. Básicamente unifica _K - Means_ y _K - Modes_. El algoritmo k-Prototypes integra al algoritmo K - Means y K - Modes para poder trabajar con todo tipo de datos. Esto lo hace de la siguiente forma: se asume que si `\(s^{r}\)` es la medida de disimilaridad entre atributos numéricos definida por el cuadrado de la distancia Euclidiana y `\(s^{c}\)` es la medida de disimilaridad entre atributos categóricos definida por el número de no coincidencias (mismatches) de categorías entre objetos. La disimilaridad en un algoritmo de K-Prototypes se medirá entonces como: `$$s^{r}+\gamma s^{c}$$` Donde `\(\gamma\)` es un peso usado para equilibrar ambas partes, asegurándose de que un tipo de variable no pese más que la otra. --- # Consideraciones al momento de usar <br> Algoritmos de Agrupación Los algoritmos K-Prototypes y K-Modes son altamente variables debido a la no unicidad de las modas, es decir, el resultado depende fuertemente de la selección de las modas durante el proceso de agrupamiento. Por lo que una mala elección de la moda puede llevar a errores en el agrupamiento y considerar todas las modas implica un alto costo computacional. Asimismo, estos algoritmos heredan uno de los principales problemas del algoritmo K-Means el cual consiste en una fuerte dependencia de las condiciones iniciales. --- class: middle, inverse # Algoritmos de Agrupación Jerárquico --- # Algoritmos de Agrupación Jerárquico Con el objetivo de agrupar convenientemente los ítems o sujetos, dadas sus características, una herramienta útil es asignar jerarquías en las distancias. Existe dos metodologías para construir estas jerarquías: - Aglomerativa - Divisiva --- # Algoritmos de Agrupación Jerárquico ### Agrupación Aglomerativa Se empiezan calculando los puntos de los datos de entrada que estén más cercanos y se crea un grupo entre ellos. Luego se calculan los siguientes pares más cercanos y de manera ascendente se van generando grupos de clases. Suponga que se tienen `\(n\)` items: 1. Comenzar con `\(n\)` clusters. 2. Identificar los ítems que se encuentran mas próximos. 3. Unir aquellos ítems que tienen asociada la mayor similitud. 4. Repetir los pasos 2 y 3 `\(n − 1\)` veces. También se debe decidir el tipo de enlace entre los grupos. - Enlace simple - Enlace Completo - Enlace Promedio --- # Algoritmos de Agrupación Jerárquico ### Agrupación divisiva Consiste en asumir que cada observación es un cluster en si mismo y luego se procede de forma iterativa para fusionar dichos cluster. El algoritmo divisivo propuesto por Macnaughton Smith et al. (1965): 1. Comienza con todas las observaciones en un ´unico conglomerado G. 2. A continuación, elige la observación cuya disimilitud media con respecto a todas las demás observaciones es mayor. Esta observación forma el primer miembro de un segundo conglomerado H. 3. En cada paso sucesivo se transfiere a H aquella observación de G cuya distancia media con respecto a las de H, menos la de las restantes observaciones de G, sea mayor. Es decir, ya no hay observaciones en G que estén, en promedio, más cerca de las de H. 4. El resultado es una división del cluster original en dos clusters hijos: las observaciones transferidas a H y las que permanecen en G. 6. Estos dos clusters representan el segundo nivel de la jerarquía --- # Algoritmos de Agrupación Jerárquico - En R se puede utilizar la función `dist()` para las diferentes distancias. - En R se puede utilizar la función `hclust()` para agrupar de forma jerarquica. - En R se puede utilizar la función `diana()` de la libreria cluster para agrupar de forma jerárquica divisiva. - En R se puede utilizar la función `plot()` o `fviz_dend()` de factoextra para construir los dendrogramas. --- # Dendrograma Una herramienta gráfica para visualizar las distancias y grupos formados corresponde al Dendrograma. .center[ <img src="MetEstadisticos_files/figure-html/unnamed-chunk-5-1.png" width="504" /> ] --- # Reducción de dimensionalidad <br> El análisis de reducción de dimensiones está enfocado en utilizar técnicas estadísticas en grandes conjuntos de datos. Una de las principales herramientas considera que al tener p variables, se puede reducir la dimensión a z (< p) variables que puedan entregar (idealmente) tanta información como el total de variables. --- # Reducción de dimensionalidad El problema de tener una gran cantidad de variables es: - El tiempo de procesamiento involucrado puede ser muy alto. - Probable multicolinealidad de los features, lo que puede producir gran inestabilidad e ineficiencia en determinados algoritmos (regresiones, redes neuronales, etcétera). - Es muy posible que no todas aporten realmente información al modelo (variables ruido). - Empeora el rendimiento del modelo, si el número de observaciones es pequeño, el incremento en la variabilidad de las predicciones puede no compensar la disminución del sesgo de predicción (conocido como _la maldición de la dimensionalidad_) --- #¿Por qué reducir dimensionalidad? A medida que aumenta el número de características o dimensiones, la cantidad de datos que necesitamos para generalizar con precisión aumenta exponencialmente. <center> <img src="media/img2.png" width="600" height="400"> </center> <br> --- # ¿Qué ganamos al reducir dimensionalidad? <center> <img src="media/img1.png" width="800" height="450"> </center> <br> --- # Técnicas para reducir dimensionalidad Existen dos tipos de métodos para reducir dimensionalidad basado en búsqueda o selección de características: #### 1. Eliminación de características Se eliminan algunas variables completamente si son redundantes con alguna otra variable o si no están proporcionando ninguna información nueva sobre el conjunto de datos. Por ejemplo, los métodos backward que eliminan variables si no aportan al modelo, o también, utilizar Random Forest para calcular la importancia de los _features_ y eliminar aquéllos que no poseen mayor importancia. #### 2. Extracción de variables Se crean nuevas variables a partir de las antiguas, de modo tal que representan la misma cantidad de información pero con ventajas matemáticas y computacionales. Por ejemplo, Análisis de Componentes Principales. --- class: middle, inverse #Análisis de Componentes Principales (PCA) --- # Análisis de Componentes Principales (PCA) <br> Es una técnica de Machine Learning para la reducción de la dimensionalidad del conjunto de datos, manteniendo la máxima cantidad de información posible y eliminando las redundancias. Determina la relación entre variables a través de vectores (componentes principales) incorrelacionados, que son combinaciones lineales de las variables originales, es decir, identifica el hiperplano que se encuentra más cerca de los datos y luego proyecta los datos en él. El objetivo es explicar la mayor parte de la variabilidad de los datos con un número menor de variables que el conjunto de datos original. --- # Componentes Principales: Ortogonalización de variables <center> <img src="media/pca2.png" width="550" height="450"> </center> --- # Las PCA son una combinación lineal de las variables El primer componente principal de un conjunto de datos `\(𝑋_1, 𝑋_2,. . . , 𝑋_𝑝\)` es la combinación lineal de las variables originales que representa la mayor variabilidad. `$$𝑍_1=𝜙_{11} 𝑋_1+𝜙_{21} 𝑋_2+…+𝜙_{𝑝1} 𝑋_𝑝$$` Donde `\(𝝓_1\)` es el vector de pesos normalizados de este componente, i.e., `\(∑_{𝑗=1}^𝑝𝜙_{𝑗1}^2=1\)`. Los demás componentes se describen por: `$$𝑍_2=𝜙_{12} 𝑋_1+𝜙_{22} 𝑋_2+…+𝜙_{𝑝2} 𝑋_𝑝$$` $$ \vdots$$ `$$𝑍_𝑝=𝜙_{1𝑝} 𝑋_1+𝜙_{2𝑝} 𝑋_2+…+𝜙_{𝑝𝑝} 𝑋_𝑝$$` Los componentes son independientes entre sí. --- # Varianza Explicada en cada PCA Si tenemos un set de datos con `\(p\)` features, podemos generar `\(p\)` componentes principales. Sin embargo, podemos utilizar `\(k\)` (con `\(k < p\)`) componentes principales basadas en el porcentaje de variabilidad explicada (PVE): `$$PVE_{m}=\frac{\sum_{𝑖=1}^n \sum_{𝑗=1}^𝑝 𝜙_{𝑗𝑚} 𝑥_{𝑖𝑗}^2}{\sum_{𝑖=1}^n \sum_{𝑗=1}^𝑝𝑥_{i𝑗}^2}$$` Para que el cálculo de la variabilidad explicada no esté sesgado por unidades de medida de las variables, se debe tener aproximadamente la misma escala y varianza en todas las variables previo a obtener las componentes principales. --- # Varianza Explicada en cada PCA <center> <img src="media/screeplot.png" width="550" height="450"> </center> --- class: middle, inverse # Taller práctico --- # Taller práctico Considere la base de datos songs.csv la cual contiene información de distintas características de canciones. Existe alto grado de correlación entre los features, por ende, utilizar componentes principales puede ayudar a obtener nuevos vectores no correlacionados que representen la misma cantidad de información. ```r library(readr) library(factoextra) songs <- read_delim("songs.csv", ";", escape_double = FALSE, trim_ws = TRUE) GGally::ggpairs(songs) ``` --- # Taller práctico .center[ <img src="MetEstadisticos_files/figure-html/unnamed-chunk-7-1.png" width="504" /> ] --- # Taller práctico Observamos las varianzas: ```r apply(songs, 2, var) ``` ``` ## acousticness danceability energy liveness ## 0.038310276 0.016444323 0.020280720 0.009416126 ## loudness speechiness instrumentalness ## 3.220673341 0.010086340 0.000436261 ``` --- # Taller práctico Para el análisis de componentes principales usamos `prcomp()` ```r PCA <- prcomp(songs, scale = TRUE) get_eigenvalue(PCA) ``` ``` ## eigenvalue variance.percent cumulative.variance.percent ## Dim.1 1.9912433 28.446332 28.44633 ## Dim.2 1.2246236 17.494622 45.94095 ## Dim.3 1.0429811 14.899730 60.84068 ## Dim.4 1.0242299 14.631856 75.47254 ## Dim.5 0.8596125 12.280179 87.75272 ## Dim.6 0.6035489 8.622127 96.37485 ## Dim.7 0.2537608 3.625154 100.00000 ``` La elección de cuántas componentes utilizar depende, en gran medida, de cuánta información se quiere mantener, cuántas variables es necesario reducir. Uno de los criterios de selección de componentes es elegir aquéllas que poseen valor propio (eigenvalue) mayor a 1, ya que representan más de una unidad de varianza. --- # Taller práctico ##### Scree Plot - Variabilidad por componente ```r fviz_eig(PCA,main="Varianza explicada por componente", xlab="Componente", ylab="% de varianza explicada (PVE) ", barfill = "dodgerblue3", ylim=c(0,100), addlabels=TRUE) ``` <img src="MetEstadisticos_files/figure-html/unnamed-chunk-10-1.png" width="576" /> Las componentes principales se ordenan según la proporción de varianza que explican. --- # Taller práctico ##### Contribución de las variables en las primeras componentes .pull-left[ ```r fviz_pca_var(PCA) ``` <img src="MetEstadisticos_files/figure-html/unnamed-chunk-11-1.png" width="504" /> ] .pull-right[ Las primeras dos componentes son las que explican más variabilidad entre las demás. En este gráfico se puede observar que en la primera componente, las variables energy y loudness poseen mayor contribución, en la segunda componente las variables speechiness y danceability poseen la mayor contribución.] --- # Taller práctico ##### Contribución de las variables en todas las componentes .pull-left[ ```r Comp <- get_pca_var(PCA) library(corrplot) corrplot(Comp$contrib, is.corr = FALSE) ``` <img src="MetEstadisticos_files/figure-html/unnamed-chunk-12-1.png" width="576" /> ] .pull-right[ En este gráfico se puede observar la contribución de las variables en cada componente. Las contribuciones siempre son diferentes, pues se trata de encontrar vectores que sean ortogonales.] --- # Taller práctico #### Variables proyectadas Para obtener las nuevas variables ortogonales, basta con multiplicar las variables originales estandarizadas por los vectores de rotación (esto proyecta los vectores respecto a un hiperplano): ```r head(scale(songs)%*%PCA$rotation[,1:4]) ``` ``` ## PC1 PC2 PC3 PC4 ## [1,] -0.05591748 0.69276255 1.95017206 0.3403342 ## [2,] 0.86366379 0.06019057 0.78009450 0.3952232 ## [3,] 0.52885994 -0.15129787 0.38940221 0.2504799 ## [4,] 0.00146363 0.54874552 -0.59312095 -0.3035204 ## [5,] 0.96570550 0.58657736 -0.13678655 -0.3088372 ## [6,] -0.75053719 0.50064227 -0.01006392 0.2164929 ``` Esta ortogonalización reduce el tiempo computacional de ejecución de un modelo, permite utilizar todas las variables manteniendo casi toda la información inicial, pero una de las salvedades es la interpretabilidad de las variables. --- # Taller práctico ¿cómo podemos saber qué variable es significativa si las componentes son combinaciones lineales de todas las variables? ```r corrplot(cor(scale(songs)%*%PCA$rotation[,1:4])) ``` <img src="MetEstadisticos_files/figure-html/unnamed-chunk-14-1.png" width="504" /> Las componentes principales no están correlacionadas. --- # Conclusión - Los métodos estadísticos son **esenciales** para la inteligencia artificial. Proporcionan las bases para construir **modelos precisos y eficientes**. - La **comprensión y aplicación** adecuada de estos métodos es crucial para el éxito en IA. - Se requiere datos de **alta calidad** ya que son cruciales para construir modelos precisos. - Es importante hacer énfasis en la **ética, la transparencia y eliminación de sesgos** en el uso de modelos estadísticos en IA. --- class: middle, inverse background-image: url(media/fondo.jpg) background-size: cover # **¡Gracias!** <br/> <br/> ## Ana María Alvarado ### amalvara@uc.cl