1 of 73

Preprocesamiento

Base de Datos Masivas (11088)

2 of 73

¿Por qué preprocesar?

  • Muchos de los datos crudos contenidos en nuestras DB se encuentran sin preprocesar, incompletos y con ruido.
    • Campos obsoletos o redundantes,
    • Valores faltantes,
    • Outliers,
    • Los datos están en un formato no apto para los modelos de minería de datos,
    • Valores no consistentes con el sentido común o con las políticas de la organización.

3 of 73

Calidad de los datos

  • Medidas para la calidad de los datos: una visión multidimensional
    • Precisión: correcta o incorrecta, precisa o no
    • Integridad: no registrado, no disponible, …
    • Consistencia: algunos modificados pero otros no, colgantes, …
    • Puntualidad: ¿actualización oportuna? Tiene que ver con la caducidad de esos datos.
    • Confiabilidad: ¿qué tan confiables son los datos?
    • Interpretabilidad: ¿con qué facilidad se pueden entender los datos?

4 of 73

Tareas de preprocesamiento

Limpieza de datos

  • Completar valores faltantes, eliminación de ruido, identificar o eliminar valores atípicos y corregir incoherencias.

Integración de datos

  • Integración de múltiples bases de datos, cubos de datos o archivos

Reducción de datos

  • Reducción de dimensionalidad
  • Reducción de Numerosidad
  • Compresión de datos

Transformación y discretización de datos

  • Normalización
  • Generación de jerarquía conceptual

5 of 73

Limpieza de datos

Los datos en el mundo real están sucios: datos incorrectos. Por ejemplo: error del instrumento, error humano o de la computadora, error de transmisión...

  • Incompleto: carece de valores de atributo, carece de ciertos atributos de interés o contiene solo datos agregados
    • por ejemplo, Ocupación = "" (datos faltantes)
  • Ruidoso: contiene ruido, errores o valores atípicos
    • por ejemplo, Salario = "- 10" (un error)
  • Inconsistente: contiene discrepancias en códigos o nombres, por ejemplo:
    • Edad = "42", cumpleaños = "03/07/2010"
    • Estaba clasificando "1, 2, 3", ahora clasificando "A, B, C"
    • Discrepancia entre registros duplicados
  • Intencional (por ejemplo, datos faltantes disfrazados)
    • ¿1 de enero como el cumpleaños de todos?

6 of 73

Ruido en los datos

7 of 73

Ruido en los datos

  • El ruido es un error aleatorio o varianza en una variable medida.
  • Los valores incorrectos de atributo pueden deberse a:
    • Instrumentos de recolección de datos defectuosos
    • Problemas de entrada de datos
    • Problemas de transmisión de datos
    • Limitación de tecnología
    • Incoherencia en la convención de nombres
  • Otros problemas de datos que requieren limpieza de datos
    • registros duplicados
    • datos incompletos
    • datos inconsistentes

8 of 73

¿Cómo manejar el ruido en los datos?

  • Binning:
    • Primero ordenar los datos y la partición en bins (de igual frecuencia)
    • Luego uno puede suavizar por media, mediana, por límites, etc.
  • Regresión: Suavizado ajustando una función de regresión lineal, a partir de otra de las variables del dataset.

  • Clustering: Es una herramienta que permite identificar outliers. Los valores similares son agrupados y los que quedan aislados pueden ser considerados outliers.

9 of 73

Binning: Ejemplo

Dada una variable Precio ($):

[45, 26, 21, 15, 9, 64, 24, 21, 8, 28, 4, 25]

Ordenada de menor a mayor:

4, 8, 9, 15, 21, 21, 24, 25, 26, 28, 45, 64

Particionar los bins (igual-frecuencia):

Bin 1: 4, 8, 9, 15

Bin 2: 21, 21, 24, 25

Bin 3: 26, 28, 45, 64

Suavizado por medias:

Bin 1: 9, 9, 9, 9

Bin 2: 23, 23, 23, 23

Bin 3: 40.75, 40.75, 40.75, 40.75

Suavizado por límites:

Bin 1: 4, 4, 4, 15

Bin 2: 21, 21, 21, 25

Bin 3: 26, 26, 26, 64

10 of 73

Outliers

11 of 73

Análisis de Outliers

“Un outlier es una observación que se desvía tanto de las otras observaciones como para despertar sospechas que fue generado por un mecanismo diferente”

D. Hawkins. Identification of Outliers

  • Análisis de outliers.
    • Tipos de outliers
    • Revisión de métodos univariados: IQR, Boxplot, z-score….
    • Métodos multivariados: Local Outlier Factor (LOF)

12 of 73

Tipos de outlier

Univariado

Multivariado

  • Son valores atípicos que podemos encontrar en una simple variable.
  • El problema de los enfoques univariados es que son buenos para detección de extremos pero no en otros casos.
  • Los valores atípicos multivariados se pueden encontrar en un espacio n-dimensional.
  • Para detectar valores atípicos en espacios n-dimensionales es necesario ajustar un modelo.

13 of 73

Outliers

Métodos Univariados

Métodos Multivariados

  • IQR: Analizar los valores que están por fuera del IRQ
  • Identificar valores extremos a partir de 1, 2 o 3 desvíos de la media.
  • Análisis globales: Clustering.
    • Utilizando medidas de distancia como Mahalanobis.
  • Local Outlier Factor (LOF)
    • Es un método de detección de outliers basado en distancias.
    • Calcula un score de outlier a partir de una distancia que se normaliza por densidad.
  • Métodos basados en ensambles: IsolationForest

14 of 73

Análisis de Box-Plot

Los Box-Plots permiten visualizar valores extremos univariados.

Las estadísticas de una distribución univariada se resumen en términos de cinco cantidades:

  • Mínimo/máximo (bigotes)
  • Primer y tercer cuantil (caja)
  • Mediana (línea media de la caja)
  • IQR = Q3 - Q1
  • Generalmente la regla de decisión es +/- 1.5*IQR

15 of 73

Limitaciones del Box-Plot

En el scatter se observan dos valores atípicos.

¿Qué pasa con el box-plot?

16 of 73

Limitaciones del Box-Plot

Podemos intervenir modificando el largo de los bigotes del gráfico.

En R podemos hacerlo con el parámetro range.

También es posible modificar los cuantiles para regular el tamaño de las cajas.

Identifica el -1.5

Identifica otros valores que no son outliers

17 of 73

Z-Score

Z-Score es una métrica que indica cuántas desviaciones estándar tiene una observación de la media muestral, asumiendo una distribución gaussiana.

  • Cuando calculamos Z-Score para cada muestra debemos fijar un umbral.
  • Un valor como “regla de oro” es Z > 3

18 of 73

Z-Score Modificado

  • La media de la muestra y la desviación estándar de la muestra, pueden verse afectados por los valores extremos presentes en los datos
  • Regla de oro. Valores mayores a 3.5 son considerados outliers

19 of 73

Z-Score Modificado

20 of 73

Integración de datos

21 of 73

Integración de datos

  • Integración de datos:
    • Combina datos de múltiples fuentes en un único conjunto coherente
  • Esquema de Integración: por ejemplo, A.cust-id B.cust-#
    • Integra metadatos de diferentes fuentes
  • Problema de identificación de entidades:
    • Identificar entidades del mundo real a partir de múltiples fuentes de datos.
      • Por ejemplo, Bill Clinton = William Clinton
  • Detectar y resolver conflictos de valores de datos:
    • Para la misma entidad del mundo real, los valores de los atributos de diferentes fuentes son diferentes
    • Posibles razones: diferentes representaciones, diferentes escalas, por ejemplo, unidades métricas vs. británicas

22 of 73

Herramientas de integración

  • En el contexto del Data Warehousing existen técnicas para realizar la integración de una forma ordenada.
  • Las herramientas de Extraction–Transformation–Loading (ETL) son piezas de software responsables de la extracción de datos desde varias fuentes, su limpieza, puesta a punto, re formateo, integración e inserción en un Data Warehouse.

Se puede implementar cada parte de este proceso o utilizar herramientas como Pentaho Data Integration (Kettle) u otras.

23 of 73

Redundancia en la integración de datos

  • Los datos redundantes ocurren a menudo cuando se integran múltiples bases de datos
    • Identificación de objetos: el mismo atributo u objeto puede tener diferentes nombres en diferentes bases de datos
    • Datos derivables: un atributo puede ser un atributo "derivado" en otra tabla, por ejemplo, ingresos anuales
  • Los atributos redundantes pueden ser detectados por análisis de correlación y análisis de covarianza
  • La integración cuidadosa de los datos de múltiples fuentes puede ayudar a reducir / evitar redundancias e inconsistencias y mejorar la velocidad y la calidad de la minería.

24 of 73

Análisis de Correlación (Datos Nominales)

  • Prueba X2(chi-cuadrado)

  • Cuanto mayor es el valor de Χ2, es más probable que las variables estén relacionadas.
  • Las celdas que más contribuyen al valor de Χ2 son aquellas cuyo recuento real es muy diferente del recuento esperado.
  • La correlación no implica causalidad
    • # de hospitales y # de robo de automóvil en una ciudad están correlacionados
    • Ambos están relacionados causalmente con la tercera variable: población

25 of 73

Prueba de X2: Ejemplo

Verificamos si las variables play_chess = Si/No y like_science_fiction = Si/No están correlacionadas.

Armamos la tabla de contingencia

Calculamos los valores esperados.

Son los que están entre paréntesis.

Calculamos el estimador de X2

Se rechaza la hipótesis que son

independientes y decimos que el juega y el tipo están fuertemente correlacionados.

  • Para la tabla de 2 x 2 tenemos (2 − 1)(2 − 1) = 1 grados de libertad.
  • Nivel de significancia es 0.001

X2 = 10,82

26 of 73

Análisis de Correlación (Datos Numéricos)

Coeficiente de correlación de Pearson

Si rA,B > 0, A y B están positivamente correlacionadas.

rA,B = 0: no hay relación

rAB < 0: relacionadas de forma negativa.

27 of 73

Covarianza (Datos Numéricos)

  • Si Cov(A, B) > 0, entonces A y B tienden a ser más grandes que sus valores esperados.
  • Si Cov(A, B) < 0, entonces, si A es mayor que su valor esperado, B es probable que sea menor que su valor esperado.
  • Si Cov(A, B) = 0

28 of 73

Transformación

Feature Engineering

Normalización y Discretización Binning

29 of 73

Feature Engineering

  • Dentro del Proceso de Descubrimiento de Conocimiento se corresponde con la etapa de Transformación de datos.
    • La transformación de datos engloba, en realidad, cualquier proceso que modifique la forma de los datos.
    • Prácticamente todos los procesos de preparación de datos entrañan algún tipo de transformación.
  • Feature Engineering es la tarea de mejorar el rendimiento del modelado en un conjunto de datos mediante la transformación de su feature space.

30 of 73

Normalización

La normalización consiste en escalar los features (numéricos) de manera que puedan ser mapeados a un rango más pequeño.

Por ejemplo: 0 a 1 ó -1 a 1.

La normalización es particularmente utilizada en:

  • Tareas de mining donde las unidades de medidas dificultan la comparación de features.
    • Medidas de Distancias. Vecinos más cercanos, Clustering, etc.

Ayuda a evitar que atributos con mayores magnitudes tengan mayor peso que los rangos pequeños.

Los métodos más utilizados para normalizar son:

  • Min-Max
  • Z-Score
  • Decimal Scaling

31 of 73

Normalización Decimal Scaling

Decimal Scaling asegura que cada valor normalizado se encuentra entre - 1 y 1.

donde d representa el número de dígitos en los valores de la variable con el valor absoluto más grande.

Sepal.Length� �Min. 4.300�Median 5.800�Mean 5.843�Max. 7.900

SD 0.828

32 of 73

Normalización Min-Max

La Normalización Min-Max funciona al ver cuánto más grande es el valor actual del valor mínimo min(X) y escala esta diferencia por el rango.

Los valores de normalización min-max van de 0 a 1.

Sepal.Length � �Min. 4.300�1st Qu. 5.100�Median 5.800�Mean 5.843�3rd Qu. 6.400�Max. 7.900

Para los valores extremos es 0 y 1

Ejemplo: Dataset Iris y variable Sepal.Length

33 of 73

Normalización Z-Score

Los valores para un atributo X, se normalizan en base a la media y desviación estándar de X.

Este método de normalización es útil cuando el verdadero mínimo y máximo del atributo X son desconocidos, o cuando hay valores atípicos que dominan la normalización min-max.

Sepal.Length� �Min. 4.300�Median 5.800�Mean 5.843�Max. 7.900

SD 0.828

Para una Iris con el largo del sépalo

más corto:

Para una Iris con el largo del sépalo

más largo:

34 of 73

Comparación de métodos

35 of 73

Transformaciones para lograr Normalidad

  • Si la media es mayor que la mediana entonces hay sesgo a derecha (Sesgo+)
  • Si la media es menor que la mediana entonces hay sesgo a izquierda (Sesgo-)

Los histogramas de la diapo anterior, existía un leve sesgo positivo:

> print(sesgo.ori)�[1] 0.1569923�> print(sesgo.mm)�[1] 0.1569923�> print(sesgo.z)�[1] 0.1569923�> print(sesgo.d)�[1] 0.1569923

Podemos reducir este sesgo a partir de transformaciones:

  1. Raíz cuadrada
  2. Logaritmos
  3. Inversa de la Raíz Cuadrada

> print(sesgo.tr.sq)�[1] 0.052761�> print(sesgo.tr.ln)�[1] -0.05237737

36 of 73

Discretización

  • Es una técnica que permite dividir el rango de una variable continua en intervalos.
  • Vamos de valores continuos a un número reducido de etiquetas.
  • Esto conduce a una representación concisa y fácil de utilizar.

37 of 73

Discretización: Características

La discretización puede ser caracterizada según cómo se realiza:

  • Si utiliza la clase como información
    • Si la utiliza será supervisada
    • Si no la utiliza será no supervisada

  • Según la orientación en la que realice las recursivas particiones:
    • Top-Down: Parte de algunos pocos puntos de spliting y trata de separar todo el rango
    • Bottom-Up: Considera a todos los puntos como posibles separadores del rango

Si se realiza una discretización para cada sub-rango de manera recursiva se obtiene una Jerarquía.

38 of 73

Discretización: Binning

  • La técnica es similar a la que utilizamos para manejo de ruido: suavizados.
  • Es Top-Down.
  • Se basa en un número específico de bins.
  • Los criterios de agrupamiento pueden ser por:
    • Igual-Frecuencia: La misma cantidad de observaciones en un bin.
    • Igual-Ancho: Definimos rangos o intervalos de clases para cada bin.

A su vez para cada uno de los agrupamientos podemos hacer:

  • Reemplazo por media
  • Reemplazo por mediana

No se utiliza la información de la clase, por lo tanto es no supervisado.

39 of 73

Binning: Ejemplos

Supongamos que vamos a discretizar X en 3 categorías.

X = {1, 1, 1, 1, 1, 2, 2, 11, 11, 12, 12, 44}

Igual ancho

Bajo: 0 ≤ X < 15

Medio: 15 ≤ X < 30

Alto: 30 ≤ X < 45

Igual frecuencia

n = 12

bins = 3

n/bins = 4

K-means

Identifica lo que parece ser la partición intuitivamente correcta

40 of 73

Discretización: Otros no supervisados

  • Rank: El ranking de un número es su tamaño relativo a otros valores de una variable numérica. Primero, ordenamos la lista de valores, luego asignamos la posición de un valor como su rango.
    • Los mismos valores reciben el mismo rango pero la presencia de valores duplicados afecta a las filas de valores posteriores (por ejemplo, 1,2,3,3,4).
    • Rango es un sólido método de binning con un inconveniente importante, los valores pueden tener rangos diferentes en diferentes listas.

41 of 73

Discretización: Otros no supervisados

  • Quantiles (median, quartiles, percentiles, ...): Quantiles también son métodos binning muy útiles pero como Rank, un valor puede tener cuantil diferente si la lista de valores cambia.
  • Math functions: Por ejemplo, FLOOR(LOG(X)) es un método binning efectivo para las variables numéricas con distribución altamente sesgada (por ejemplo, ingreso).

summary(x)� Min. 1st Qu. Median Mean 3rd Qu. Max. � 69 12958 23680 30513 44262 88312

x = sample(10:100000, size = 100, replace = T, prob = seq(1.0, 0.0001,-0.00001))

unique(floor(log(x)))�[1] 11 10 8 9 5 7 6 4

42 of 73

Discretización basada en Entropía

  • Es supervisada y Separación Bottom-Up
  • Explora la distribución de información en la clase para el cálculo y determinación del split-point
  • Para un dataset D →{A1,..,AN} el método para discretizar A es:

  1. Cada Valor de A se considera como un posible split-point para hacer una discretización binaria.
  2. Calculo la Entropía para la Clase

  • Calcula la Entropía para la Clase y el split-point a evaluar

  • Calculo Information Gain para esa partición, como:

43 of 73

Discretización basada en Entropía: Ejemplo

Discretizar la variable de temperatura usando el algoritmo basado en entropía.

Paso 1: Calculamos Entropía para la variable objetivo.

Paso 2: Calculamos Entropía para la variable objetivo dado un bin.

Paso 3: Calculamos Ganancia de Información} (GI) dado un bin.

44 of 73

Variables Flags

  • Algunos métodos analíticos, como la regresión, requieren que los predictores sean numéricos.
  • Cuando tenemos descriptores categóricos, podemos recodificar la variable categórica en una o más variables Dummy o Flags.

If sex = female = then sex_flag = 0;

if sex = male then sex_flag = 1.

north_flag: If region = north then north_flag = 1; otherwise north_flag = 0.

east_flag: If region = east then east_flag = 1; otherwise east_flag = 0.

south_flag: If region = south then south_flag = 1; otherwise south_flag = 0.

Variables con dos categorías

Variables con N categorías

45 of 73

Tratamiento de datos faltantes

46 of 73

Datos Faltantes

  • El problema de los missing data está presente en el análisis de datos desde los orígenes del almacenamiento.

  • Este problema de missing data se vuelve incluso un dilema propio del proceso de KDD donde los volúmenes de datos se incrementan y con ello la probabilidad de inconsistencias y faltantes.

47 of 73

Datos faltantes

  • Los datos no siempre están disponibles.
    • Muchas tuplas no tienen ningún valor registrado para varios atributos.
      • ¿Cuál es el ingreso de un cliente?
  • Los datos faltantes pueden deberse a:
    • Mal funcionamiento del un equipo.
    • Tiene inconsistencias con otros datos grabados y, por lo tanto, es eliminado.
    • Datos no ingresados debido a malentendidos.
    • Ciertos datos pueden no ser considerados importantes en el momento de la entrada
    • No se registra un historial o cambios de los datos

Las opciones al enfrentarnos con datos faltantes son: eliminar registros o trabajar con métodos de imputación.

48 of 73

Razones de la inconsistencia

  • Factores propios del procedimiento.

Formularios mal diseñados, errores de programación, etc.

  • Negativa a responder.

Ej: Cuestiones relacionadas con la edad, ¿cuánto gana? afiliación política, religión, etc.

  • Respuestas inaplicables.

Ej: ¿Cuánto gasto en juguetes para sus hijos el último año?...no tengo hijos cuack!

49 of 73

Problemas de trabajar con faltantes

  • Los datos faltantes (DF) dificultan el análisis de datos.
  • Un manejo inapropiado de DF en el análisis puede introducir sesgos y puede resultar en conclusiones engañosas.
  • También pueden limitar la generalización del conocimiento alcanzado.

Hay tres tipos de problemas que se asocian con los DF en minería de datos:

  1. Pérdida de eficiencia.
  2. Complicaciones en el análisis y el manejo de datos
  3. Sesgos que resultan de las diferencias entre los datos completos y los faltantes.

50 of 73

Tipos de datos faltantes

Existen diferentes mecanismos de faltantes, los tipos estándar de DF son:

  • Outliers tratados como datos faltantes: Cuando se conocen los límites de las diferentes variables del dataset, los datos que caen fuera del rango definido se deben etiquetar como faltantes.

  • Datos faltantes al azar. Missing At Random MAR
  • La probabilidad de que la variable Y tenga un dato faltante depende de X, pero no de Y.
  • Es decir, el patrón de los datos faltantes se puede predecir a partir de otras variables de la base de datos.

51 of 73

Tipos de datos faltantes

  • Datos faltantes completamente al azar. Missing completely at random MCAR
  • La probabilidad de que la variable Y tenga un dato faltante es independiente de X.
  • Los datos existentes en Y son una muestra al azar de los valores de Y

  • Datos faltantes que dependen de un predictor no observado. Non-Ignorable missing data.
  • El dato faltante se podría estimar a partir de otra variable, pero que no fue registrada.
  • Se puede intentar modelar la variable con datos faltantes a partir de las presentes en el dataset.

52 of 73

Métodos para tratar con datos faltantes

  • Utilizar solo registros completos: Esto va a depender de cómo es el origen del faltante.
    • Se recomienda que se utilice solo en los casos en que el mecanismo de faltante sea MCAR.
  • Borrar casos seleccionados o variables: La eliminación de registros ante la presencia de faltantes puede utilizarse cuando hay un patrón no aleatorio de datos faltantes.
    • Si la eliminación de un subconjunto disminuye significativamente la utilidad de los datos, la eliminación del caso puede no ser efectiva.
  • Imputación de datos: Son métodos de relleno de faltantes.
  • Aproximaciones basadas en modelado: Múltiples imputaciones

53 of 73

Imputación de datos

  • Son métodos de relleno de datos ante la presencia de faltantes.
  • Según (Hair, 1998), “es el proceso de estimar datos faltantes de una observación a partir de valores válidos de otras variables”
  • Se debe tener precaución al emplear métodos de imputación, ya que pueden generar sesgos importantes entre los datos reales y los imputados.
  • Los métodos de imputación generalmente usados son:
    • Sustitución de casos
    • Sustitución de medias
  • Imputaciones: Hot deck y Cold deck
  • Imputaciones utilizando regresiones
  • Imputaciones múltiples

54 of 73

Imputación de Datos Faltantes

  • Sustitución de casos. Se reemplaza con valores no observados. Debería ser realizado por un experto en esos datos.

  • Sustitución de Medias. Se reemplaza utilizando el promedio calculado de los valores presentes. Debe verificarse que los datos ajusten a una distribución normal, si los datos están sesgados es mejor utilizar la mediana.

Hay tres desventajas en el uso de la media:

  • La varianza estimada de la nueva variable no es válida porque está atenuada por los valores repetidos
  • Se distorsiona la distribución
  • Las correlaciones que se observen estaran deprimidas debido a la repetición de un solo valor constante.

55 of 73

Imputación: Cold Deck

Cold Deck

  • Selecciona valores o usar relaciones obtenidas de fuentes distintas de la base de datos actual.
  • Se sustituye un valor constante derivado de fuentes externas o de investigaciones previas.
  • Tiene las mismas desventajas de aplicar la media.

56 of 73

Imputación: Hot Deck

Hot Deck: Reemplaza los faltantes con valores obtenidos de registros que son los más similares.

Ventajas de hot deck:

  • Conceptualmente simple
  • Conserva los niveles de medición adecuados para las variables
  • Finaliza el proceso de imputación con un conjunto completo de datos.

Desventajas:

  • la dificultad para definir qué es similar.

57 of 73

Imputación utilizando regresiones

  • Se utiliza el análisis de regresión para para predecir valores faltantes a partir variables relacionadas en el conjunto de datos.
  • Se pueden utilizar regresiones simples o múltiples.
  • Se identifican las variables independientes y dependiente.

58 of 73

Reducción de Dimensionalidad

59 of 73

Reducción de Dimensionalidad

¿Cuál es el problema?

  • Tenemos muchos atributos en nuestro dataset respecto a la cantidad de instancias, pueden existir demasiados grados de libertad, por lo que los patrones extraídos pueden ser poco robustos.
  • La maldición de la dimensionalidad

¿Qué pasa con valores muy grandes de d?

d=2

d=3

d=1

60 of 73

Covarianza

La covarianza de un conjunto de datos con p variables puede ser representada a partir de una matriz de p x p llamada matriz de varianzas y covarianzas:

Cálculo de covarianzas:

El resto de la matriz tiene las covarianzas

La diagonal tiene las varianza de cada feature

61 of 73

Correlación

La correlación es una versión estandarizada de la covarianza:

  • La correlación está acotada entre -1 y 1.
  • Siempre que la covarianza es positiva, la correlación es positiva y viceversa.

  • Mientras que la correlación no tiene unidades físicas, la covarianza sí.

62 of 73

Combinación Lineal

mi.iris$p1 = 0.5*mi.iris$Sepal.Length + 0.5*mi.iris$Sepal.Width

mi.iris$p2 = 0.5*mi.iris$Petal.Length + 0.5*mi.iris$Petal.Width

Una combinación lineal de dos o más columnas es la suma de sus componentes multiplicados por escalares.

63 of 73

Análisis de Componentes Principales

El análisis de componentes principales (PCA) se emplea cuando deseamos obtener una representación más simple (y en menor dimensión) para un conjunto de variables correlacionadas.

Para examinar las relaciones entre un conjunto de p variables correlacionadas, transformamos el conjunto original de variables a un nuevo conjunto no correlacionado usando una rotación ortogonal en el espacio p-dimensional.

Estas nuevas variables serán llamadas componentes principales.

Son obtenidas en orden decreciente de importancia, de modo que la primer componente resume la mayor cantidad de variabilidad de las variables originales.

Otra observación importante sobre el PCA es que depende de las escalas en las que las variables son medidas.

64 of 73

Componentes Principales

  • Las CP son combinaciones lineales de las variables originales.
  • Específicamente, son las combinaciones que tienen la máxima varianza posible y al mismo tiempo no están correlacionados entre sí (claro, son ortogonales).
  • El coeficiente de correlación entre los distintos componentes es 0.
  • Pueden existir tantos componentes principales como variables en el dataset.

65 of 73

Análisis de Componentes Principales

¿Qué pasa con la varianza cuando proyectamos los datos sobre el eje vertical?

¿Y en el horizontal?

66 of 73

Análisis de Componentes Principales

1

2

3

4

El segundo eje es ortogonal al primero

67 of 73

Varianza

  • A medida que voy generando componentes principales, cada vez tengo menos libertad para elegir el siguiente porque el coeficiente de correlación entre todos tiene que ser 0.
  • Si se mide la suma de las varianzas originales (estandarizadas) y la suma de la varianza de los CP a medida que agrego nuevos, la varianza explicada es cada vez menor.

68 of 73

¿Cómo se obtienen las CP?

Las CP las podemos obtener:

  • A partir de la matriz de Correlaciones
  • A partir de la matriz de Covarianzas

(Hay que normalizar)

Matriz de correlaciones

Elegancia Comodidad Deportividad

Elegancia 1.0000000 0.2029821 0.4371275

Comodidad 0.2029821 1.0000000 -0.6460583

Deportividad 0.4371275 -0.6460583 1.0000000

Conjunto de datos

La forma de encontrar las CP es a través de los Autovectores y Autovalores de la matriz de correlaciones o de covarianzas

69 of 73

Autovalores y Autovectores

Autovectores

Muestran el grado de correlación entre las CP y las variables originales.

[,1] [,2] [,3]

[1,] 0.290 0.838 0.463

[2,] -0.604 0.535 -0.590

[3,] 0.742 0.109 -0.661

Autovalores

Muestran cuánta varianza es capturada por esa componente

[1] 1.696 1.186 0.117

Es el vector que describen la dirección

Explica cuánto se aleja

Existe una combinación lineal (loadings) entre las variables originales que y las componentes.

CP1 = 0.290 * elegancia - 0.604 * comodidad + 0.742 * deportividad

70 of 73

Interpretación

Loadings:

Comp.1 Comp.2 Comp.3

Elegancia 0.290 0.838 0.463

Comodidad -0.604 0.535 -0.590

Deportividad 0.742 0.109 -0.661

Comp.1 Comp.2 Comp.3

0.66976320 0.30416297 0.02607383

0.6697632 0.9739262 1.00000000

% de Varianza capturada

97%

Corte en Varianzas mayores a 1

Biplot

71 of 73

Consideraciones

  • Análisis de componente principal: Es una técnica estadística utilizada para examinar las interrelaciones entre un conjunto de variables con el fin de identificar la estructura subyacente de esas variables.
  • Se trata de un análisis no paramétrico y la respuesta es única e independiente de cualquier hipótesis sobre la distribución de datos.
  • Estas dos propiedades pueden ser consideradas como puntos débiles, así como fortalezas.
  • La reducción de datos con ACP a menudo incurre en una pérdida de información.

72 of 73

Ejemplo

# Descomposición en Autovalores y Autovectores

# Calculamos la matriz de correlaciones

X = cor(iris[1:4])

# Obtenemos los autovalores y autovectores

eigen.X = eigen(X)

# Varianza explicada por cada una de las componentes

print(eigen.X$values)

# Proporción de Varianza explicada

print(eigen.X$values/sum(eigen.X$values))

# Proporción acumulada de Varianza explicada

print(cumsum(eigen.X$values/sum(eigen.X$values)))

# Loadings

print(eigen.X$vectors)

73 of 73

Bibliografía

  • Jiawei Han, Micheline Kamber, Jian Pei. 2012. Tercera edición. Data Mining: Concepts and Techniques. Cap. 2 y Cap. 3
  • García, S., Luengo, J., & Herrera, F. (2016). Data preprocessing in data mining. Springer. (Cap. 5)
  • Zuur, A. F., Ieno, E. N., & Elphick, C. S. (2010). A protocol for data exploration to avoid common statistical problems. Methods in Ecology and Evolution, 1(1), 3–14. [pdf]