Selección y preparación de un juego de datos

Índice


1 Introducción


1.1 Presentación

El objetivo global es seleccionar uno o varios juegos de datos, realizar las tareas de preparación y análisis exploratorio con el objetivo de disponer de datos listos para aplicar algoritmos de clustering, asociación y clasificación.

1.2 Competencias

Las competencias que se trabajan en esta prueba son:

  • Uso y aplicación de las TIC en el ámbito académico y profesional.
  • Capacidad para innovar y generar nuevas ideas.
  • Capacidad para evaluar soluciones tecnológicas y elaborar propuestas de proyectos teniendo en cuenta los recursos, las alternativas disponibles y las condiciones de mercado.
  • Conocer las tecnologías de comunicaciones actuales y emergentes así como saberlas aplicar convenientemente para diseñar y desarrollar soluciones basadas en sistemas y tecnologías de la información.
  • Aplicación de las técnicas específicas de ingeniería del software en las diferentes etapas del ciclo de vida de un proyecto.
  • Capacidad para aplicar las técnicas específicas de tratamiento, almacenamiento y administración de datos.
  • Capacidad para proponer y evaluar diferentes alternativas tecnológicas para resolver un problema concreto.

1.3 Objetivos

En esta práctica abordamos un caso real de minería de datos donde hay que trabajar todo el ciclo de vida del proyecto. Desde el objetivo del proyecto hasta la implementación del conocimiento encontrado pasando por la preparación, limpieza de los datos, conocimiento de los datos, generación del modelo, interpretación y evaluación.

2 Enunciado


Todo estudio analítico debe nacer de una necesidad por parte del Negocio o de una voluntad de dotarle de un conocimiento contenido en los datos y que solo podremos obtener a través de una colección de buenas prácticas basadas en la Minería de Datos.

El mundo de la analítica de datos se sustenta en 3 ejes:

  1. Uno de ellos es el profundo conocimiento que deberíamos tener del Negocio al que tratamos de dar respuestas mediante los estudios analíticos.

  2. El otro gran eje es sin duda las capacidades analíticas que seamos capaces de desplegar y en este sentido, las dos prácticas de esta asignatura pretenden que el estudiante realice un recorrido sólido por este segundo eje.

  3. El tercer eje son los Datos. Las necesidades del Negocio deben concretarse con preguntas analíticas que a su vez sean viables responder a partir de los datos de que disponemos. La tarea de analizar los datos es sin duda importante, pero la tarea de identificarlos y obtenerlos va a ser para un analista un reto permanente.

Como primera parte del estudio analítico que nos disponemos a realizar, se pide que complete los siguientes pasos:

  1. Seleccionar un juego de datos y justificar su elección. El juego de datos deberá tener capacidades para que se le puedan aplicar algoritmos supervisados, algoritmos no supervisados y reglas de asociación.

  2. Realizar un análisis exploratorio del juego de datos seleccionado.

  3. Realizar tareas de limpieza y acondicionado para poder ser usado en procesos de modelado.

  4. Realizar métodos de discretización

  5. Aplicar un estudio PCA sobre el juego de datos. A pesar de no estar explicado en el material didáctico, se valorará si en lugar de PCA investigáis por vuestra cuenta y aplicáis SVD (Single Value Decomposition).


Los datos escogidos provienen de una base de datos de la web: http://www.ics.uci.edu/~mlearn/MLSummary.html, exactamente de un repositorio sobre la clasificación de vinos dependiendo de sus cualidades. Fue creado por Forina, M a partir de los resultados de un análisis químico de vinos cultivados en la misma región en Italia pero derivados de tres clases diferentes.

## 'data.frame':    178 obs. of  14 variables:
##  $ Clase               : int  1 1 1 1 1 1 1 1 1 1 ...
##  $ Alcohol             : num  14.2 13.2 13.2 14.4 13.2 ...
##  $ Malic acid          : num  1.71 1.78 2.36 1.95 2.59 1.76 1.87 2.15 1.64 1.35 ...
##  $ Ash                 : num  2.43 2.14 2.67 2.5 2.87 2.45 2.45 2.61 2.17 2.27 ...
##  $ Alcalinity of ash   : num  15.6 11.2 18.6 16.8 21 15.2 14.6 17.6 14 16 ...
##  $ Magnesium           : int  127 100 101 113 118 112 96 121 97 98 ...
##  $ Total phenols       : num  2.8 2.65 2.8 3.85 2.8 3.27 2.5 2.6 2.8 2.98 ...
##  $ Flavanoids          : num  3.06 2.76 3.24 3.49 2.69 3.39 2.52 2.51 2.98 3.15 ...
##  $ Nonflavanoid phenols: num  0.28 0.26 0.3 0.24 0.39 0.34 0.3 0.31 0.29 0.22 ...
##  $ Proanthocyanins     : num  2.29 1.28 2.81 2.18 1.82 1.97 1.98 1.25 1.98 1.85 ...
##  $ Color intensity     : num  5.64 4.38 5.68 7.8 4.32 6.75 5.25 5.05 5.2 7.22 ...
##  $ Hue                 : num  1.04 1.05 1.03 0.86 1.04 1.05 1.02 1.06 1.08 1.01 ...
##  $ OD280               : num  3.92 3.4 3.17 3.45 2.93 2.85 3.58 3.58 2.85 3.55 ...
##  $ Proline             : int  1065 1050 1185 1480 735 1450 1290 1295 1045 1045 ...
 Clase
Alcohol
Malic acid
  Ash
Alcalinity of ash Magnesium Total phenols Flavanoids Nonflavanoid phenols Proanthocyanins Color intensity
  Hue
 OD280
Proline
Min. :1.000 Min. :11.03 Min. :0.740 Min. :1.360 Min. :10.60 Min. : 70.00 Min. :0.980 Min. :0.340 Min. :0.1300 Min. :0.410 Min. : 1.280 Min. :0.4800 Min. :1.270 Min. : 278.0
1st Qu.:1.000 1st Qu.:12.36 1st Qu.:1.603 1st Qu.:2.210 1st Qu.:17.20 1st Qu.: 88.00 1st Qu.:1.742 1st Qu.:1.205 1st Qu.:0.2700 1st Qu.:1.250 1st Qu.: 3.220 1st Qu.:0.7825 1st Qu.:1.938 1st Qu.: 500.5
Median :2.000 Median :13.05 Median :1.865 Median :2.360 Median :19.50 Median : 98.00 Median :2.355 Median :2.135 Median :0.3400 Median :1.555 Median : 4.690 Median :0.9650 Median :2.780 Median : 673.5
Mean :1.938 Mean :13.00 Mean :2.336 Mean :2.367 Mean :19.49 Mean : 99.74 Mean :2.295 Mean :2.029 Mean :0.3619 Mean :1.591 Mean : 5.058 Mean :0.9574 Mean :2.612 Mean : 746.9
3rd Qu.:3.000 3rd Qu.:13.68 3rd Qu.:3.083 3rd Qu.:2.558 3rd Qu.:21.50 3rd Qu.:107.00 3rd Qu.:2.800 3rd Qu.:2.875 3rd Qu.:0.4375 3rd Qu.:1.950 3rd Qu.: 6.200 3rd Qu.:1.1200 3rd Qu.:3.170 3rd Qu.: 985.0
Max. :3.000 Max. :14.83 Max. :5.800 Max. :3.230 Max. :30.00 Max. :162.00 Max. :3.880 Max. :5.080 Max. :0.6600 Max. :3.580 Max. :13.000 Max. :1.7100 Max. :4.000 Max. :1680.0

Como se puede comprobar, esta base de datos está pensada para problemas de clasificación supervisada que pretende clasificar cada tipo de vino según su clase (del 1 al 3). Como en este ejemplo vamos a usar un método no supervisado, transformaremos el problema supervisado original en uno no supervisado. Para consegirlo no usaremos la columna Clase, que es la variable que se quiere predecir. Por lo tanto, intentaremos encontrar agrupaciones usando los 14 atributos que caracterizan a cada vino.

Los datos que vamos a utilizar para la clasificación serán: Alcohol, Malic acid, Ash, Alcalinity of ash, Magnesium, Total phenol, Flavanoids, Nonflavanoid phenols, Proanthocyanins, Color intensity, Hue, OD280, Proline.

Primero tenemos que explorar y visualizar los datos. El objetivo de esta tarea es analizar las distribuciones, correlaciones y anomalías de los datos mencionadso anteriormente.

A raiz de las gráficas mostradas, no he encontrado ninguna información anómala en los datos analizados.

Respecto a la correlación, muestro las siguientes gráficas.

La clase del vino tiene un correlación negativa con Total phenois, Flavanoids y OD280 que nos puede ayudar a identificar un variedad.

Respecto a la limpieza de datos, no ha sido realizada ninguna tarea de limpieza, exceptuando una pequeña tranformación de la columna “Clase” para mostrar los gráficos anteriores. Esa transformación ha consistido una conversión de int a Factor.


4.1 Realización de los métodos de discretización - Valores no discretizar


4.1.1 Kmeans

La función kmeans() agrupa las observaciones en K clusters distintos, donde el número K lo determina el analista antes de ejecutar del algoritmo. El método K-means clustering (MacQueen, 1967) encuentra los K mejores clusters, entendiendo como mejor cluster aquel cuya varianza interna (intra-cluster variation) sea lo más pequeña posible. Se trata por lo tanto de un problema de optimización, en el que se reparten las observaciones en K clusters de forma que la suma de las varianzas internas de todos ellos sea lo menor posible. Para poder solucionar este problema es necesario definir un modo de cuantificar la varianza interna.

Cargamos los datos y nos quedamos unicamente con las 11 columnas que definen a cada vino

x <- wine_data[,2:14]

Para la selección del número de clústers también existen criterios objetivos los cuales están basados en la optimización de un criterio de ajuste.

Los criterios de ajustes en el kmeans() se basan en los conceptos de sumas de cuadrados entre grupos (betweens) y dentro de grupos (withins). Hay que tener en cuenta que la suma de cuadrados entre grupos (betweenss) más las sumas de cuadrados dentro de grupos (tot.withinss) nos proporciona la suma de cuadrados totales (tots).

Una segmentación ‘óptima’ es aquella donde los individuos pertenecientes a un mismo grupo son lo más homogéneos posible y los individuos pertenecientes a distintos grupos son lo más heterogéneos posible. Dicha segmentación coincidirán con aquella que, teniendo un número de grupos razonable, posee una suma de cuadrados entre suficientemente grande y, por tanto, una suma de cuadrados dentro lo suficientemente pequeña. Es decir, la varianza dentro de grupos debe ser reducida (individuos dentro de un mismo grupo tiene que ser similares) y la varianza entre grupos debe ser grande (individuos de distintos grupos tienen que ser distintos). También, tenemos que tener en cuenta que a medida que el número de grupos aumenta la suma de cuadrados entre aumenta y, por tanto, la suma de cuadrados dentro disminuye, por tanto, el analista a de decidir cuando el aumento de la suma de cuadrados entre o, alternativamente, la disminución de la suma de cuadrados dentro no son lo suficientemente pronunciados.

Como inicialmente no conocemos el número óptimo de clústers, probamos con varios valores

Mostramos en un gráfica los valores de las siluetas media de cada prueba para comprobar que número de clústers es el mejor

El mejor valor que se obtiene es k=2.

Otro forma de evaluar cual es el mejor número de clústers es considerar el mejor modelo, aquel que ofrece la menor suma de los cuadrados de las distancias de los puntos de cada grupo con respecto a su centro (withinss), con la mayor separacion entre centros de grupos (betweenss). Como se puede comprobar es una idea conceptualmente similar a la silueta. Una manera común de hacer la selección del número de clústers consiste en aplicar el método elbow (codo), que no es más que la selección del número de clústers en base a la inspección de la gráfica que se obtiene al iterar con el mismo conjunto de datos para distintos valores del número de clústers. Se seleccionará el valor que se encuentra en el “codo” de la curva

En este caso el número óptimo de clústers son 4 que es cuando la curva comienza a estabilizarse.

También se puede usar la función kmeansruns del paquete fpc que ejecutá el algoritmo kmeans con un conjunto de valores y selecciona el valor del número de clústers que mejor funcione de acuerdo a dos criterios la silueta media (“asw”) y Calinski-Harabasz (“ch”).

Podemos comprobar el valor con el que se ha obtenido el mejor resultado y también mostrar el resultado obtenido para todos los valores de k usando ambos criterios

## [1] 10
## [1] 2

Los resultados son muy parecidos a los que hemos obtenido anteriormente. Con el criterio de la silueta media se obtienen dos clústers y con el Calinski-Harabasz se obtienen 10.

Como se ha comprobado, conocer el número óptimo de clústers no es un problema fácil. Tampoco lo es la evaluación de los modelos de agregación.

Como en el caso que estudiamos sabemos que los datos pueden ser agrupados en 3 clases, vamos a ver como se ha comportado el kmeans en el caso de pedirle 5 clústers. Para eso comparamos visualmente los campos dos a dos, con el valor real que sabemos está almacenado en el campo “quality” del dataset original.

##  [1] "Clase"                "Alcohol"              "Malic acid"
##  [4] "Ash"                  "Alcalinity of ash"    "Magnesium"
##  [7] "Total phenols"        "Flavanoids"           "Nonflavanoid phenols"
## [10] "Proanthocyanins"      "Color intensity"      "Hue"
## [13] "OD280"                "Proline"

Esta última gráfica, que volveremos a mostrar a continuación, muestra como se puede ordenar los datos más corelacionados con la clase de vino en diferentes grupos diferenciados. Los otros grupos sin embargo se entremezclan algo más.

Una vez finalizado, sacamos la tabla de resultados

##
##      1  2  3
##   1  9 16 24
##   2  0 29  2
##   3 23  0  0
##   4  0 22 21
##   5 27  4  1

Ahora vamos a evaluar cada una de las clasificación acorde a su valor en Purity (la pureza es una medida del grado en que los grupos contienen una sola clase) y su Rand index calcula cuán similares son los grupos (devueltos por el algoritmo de agrupamiento) a las clasificaciones de referencia

## [1] "NUMERO DE CLUSTERS"
##  [1]  2  3  4  5  6  7  8  9 10 11 12 13 14
## [1] "PUREZA"
##  [1] 0.9213483 0.7022472 0.5955056 0.4494382 0.4157303 0.3651685 0.3314607
##  [8] 0.3314607 0.3033708 0.2584270 0.2584270 0.2808989 0.2471910
## [1] "Rand index"
##  [1] 0.3694075 0.3711137 0.3028973 0.2431718 0.2414768 0.2161288 0.1903763
##  [8] 0.2104945 0.1690028 0.1551428 0.1462680 0.1755417 0.1375397

Como se puede observar, si vamos nuestra evaluación con el grado de pureza de los grupos, la división en dos clústers es la que ha obtenido un mejor resultado. En cambio si utilizamos Rand index obtenemos un mejor resultado con 3 Clusters.

Con toda la información recopilada, puedo afirmar que la clasificación planteada no ha obtenido buenos resultados. La información recopilada no permite crear un modelo para predecir la calidad de un vino. Según la pureza de los resultados, intentar clasificar los vinos en buenos y malos dependiendo si su calidad es mayor o menos a 5 sería una opción más factible pero como he planteado el ejercicio no se puede realizar una predicción aceptable.

4.1.2 Método de partición en intervalos de la misma amplitud

El método de partición en intervalos de igual amplitud es el método más sencillo que consiste en el algoritmo siguiente.

Dado un atributo X numérico con valor mínimo y máximo , se siguen los pasos siguientes:

  1. Fijar un número k de intervalos que hay que alcanzar.

  2. Dividir el rango de valores ( , ) en k intervalos {( ), …, ( , ) tales que y

Se trata de hacer que la distancia entre el máximo y el mínimo de cada intervalo sea la misma: ( - )/k.

A partir de los datos obtenidos de las frecuencias agrupadas, para dividir las diferentes clases debemos saber

## [1] "Máximo"
## [1] 3
## [1] "Mínimo"
## [1] 1

Con esta distribución podemos realizar un intervalo de 1 obteniendo la siguiente información:

[1-2)[2-3)[3-4)
597148

Comentar que el primer intervalo corresponde a valores de 1 a 2 el dos no inclusivo. Respecto a los datos, únicamente comentar que es la mejor agrupación posible. El resto de agrupaciones no son viables ya que no tendrián una distribución tan equitativa.

Si realizo la agrupación de por ejemeplo el Alcohol en 8 unidades me encuentro la siguiente gráfica.

## [1] "Máximo"
## [1] 162
## [1] "Mínimo"
## [1] 70
## [1] 11.5
[69,81)[81,93)[93,105)[105,117)[117,129)[129,141)[141,153)[153,165)
954613315411

4.1.3 Método de partición en intervalos de igual frecuencia

A pesar de que R no posee una función para realizar una tabla de frecuencias agrupadas, nos brinda todas las herramientas para el diseño de una función que realice o supla esta eventual necesidad. La función creada en este trabajo la nombramos como Tabla.F (), la cual posee dos argumentos, el primero es un vector de datos cualquiera y el segundo es el punto medio de unidad de medida; la función genera los gráficos de histograma, el polígono de frecuencias absolutas y la ojiva para la distribución. La función fue probada con 4 vectores aleatorios de distribución normal, arrojando las salidas deseadas.

##    Var1 Freq  Fa        fr        Fr  MC
## 1 [0,1)    0   0 0.0000000 0.0000000 0.5
## 2 [1,2)   59  59 0.3314607 0.3314607 1.5
## 3 [2,3)   71 130 0.3988764 0.7303371 2.5
## 4 [3,4)   48 178 0.2696629 1.0000000 3.5
## 5 [4,5)    0 178 0.0000000 1.0000000 4.5
## 6 [5,6)    0 178 0.0000000 1.0000000 5.5
## 7 [6,7)    0 178 0.0000000 1.0000000 6.5
## 8 [7,8)    0 178 0.0000000 1.0000000 7.5

##        Var1 Freq  Fa          fr        Fr  MC
## 1   [69,81)    9   9 0.050561798 0.0505618  75
## 2   [81,93)   54  63 0.303370787 0.3539326  87
## 3  [93,105)   61 124 0.342696629 0.6966292  99
## 4 [105,117)   33 157 0.185393258 0.8820225 111
## 5 [117,129)   15 172 0.084269663 0.9662921 123
## 6 [129,141)    4 176 0.022471910 0.9887640 135
## 7 [141,153)    1 177 0.005617978 0.9943820 147
## 8 [153,165)    1 178 0.005617978 1.0000000 159

4.1.4 Método de distribución lineal. Análisis Discriminante Lineal

Análisis Discriminante Lineal (ADL, o LDA por sus siglas en inglés) es una generalización del discriminante lineal de Fisher, un método utilizado en estadística, reconocimiento de patrones y aprendizaje de máquinas para encontrar una combinación lineal de rasgos que caracterizan o separan dos o más clases de objetos o eventos. La combinación resultante puede ser utilizada como un clasificador lineal, o, más comúnmente, para la reducción de dimensiones antes de la posterior clasificación.

En el ADL para dos clases se considera un conjunto de observaciones {}{} (también llamadas características, atributos, variables o medidas) para cada muestra de un objeto o evento con clase conocida y. Este conjunto de muestras es conocido como conjunto de entrenamiento. El problema de clasificación consiste en encontrar a un buen estimador para la clase y de cualquier ejemplo con la misma distribución (no necesariamente del conjunto de entrenamiento) dada solamente una observación {}{}.6 :338

ADL enfrenta el problema asumiendo que las funciones de densidad de las probabilidades condicionales { p({}|y=0)}{p({} |y=0)} y {p({}|y=1)}{p({}|y=1)} siguen una distribución normal con parámetros de media y covarianza {({}{0 },{0})}{({}{0},{0})}{({}{1},{ 1})}{({}{1},{1})}, respectivamente

## Call:
## lda(wine_data$Clase ~ ., data = wine_data)
##
## Prior probabilities of groups:
##         1         2         3
## 0.3314607 0.3988764 0.2696629
##
## Group means:
##    Alcohol `Malic acid`      Ash `Alcalinity of ash` Magnesium
## 1 13.74475     2.010678 2.455593            17.03729  106.3390
## 2 12.27873     1.932676 2.244789            20.23803   94.5493
## 3 13.15375     3.333750 2.437083            21.41667   99.3125
##   `Total phenols` Flavanoids `Nonflavanoid phenols` Proanthocyanins
## 1        2.840169  2.9823729               0.290000        1.899322
## 2        2.258873  2.0808451               0.363662        1.630282
## 3        1.678750  0.7814583               0.447500        1.153542
##   `Color intensity`       Hue    OD280   Proline
## 1          5.528305 1.0620339 3.157797 1115.7119
## 2          3.086620 1.0562817 2.785352  519.5070
## 3          7.396250 0.6827083 1.683542  629.8958
##
## Coefficients of linear discriminants:
##                                 LD1           LD2
## Alcohol                -0.403399781  0.8717930699
## `Malic acid`            0.165254596  0.3053797325
## Ash                    -0.369075256  2.3458497486
## `Alcalinity of ash`     0.154797889 -0.1463807654
## Magnesium              -0.002163496 -0.0004627565
## `Total phenols`         0.618052068 -0.0322128171
## Flavanoids             -1.661191235 -0.4919980543
## `Nonflavanoid phenols` -1.495818440 -1.6309537953
## Proanthocyanins         0.134092628 -0.3070875776
## `Color intensity`       0.355055710  0.2532306865
## Hue                    -0.818036073 -1.5156344987
## OD280                  -1.157559376  0.0511839665
## Proline                -0.002691206  0.0028529846
##
## Proportion of trace:
##    LD1    LD2
## 0.6875 0.3125
##         LD1       LD2
## 1 -4.700244 1.9791383
## 2 -4.301958 1.1704129
## 3 -3.420720 1.4291014
## 4 -4.205754 4.0028715
## 5 -1.509982 0.4512239
## 6 -4.518689 3.2131376

En este caso, y según muestra las gráficas, el análisis discriminante ha podido encontrar un patrón dentro de los datos y clasificarlos eficazmente.


4.2 Realización de los métodos de discretización - Normalizado


La normalización significa ajustar los valores medidos en diferentes escalas respecto a una escala común, a menudo previo a un proceso de realizar promedios. En R se pueden escalar las variables de una base de datos por dedio de el siguiente procedimiento.

Para poder considerar que, cuanto más próximo a cero es el coeficiente de regresión de un predictor, menor su influencia sobre la variable respuesta en comparación al resto, es necesario estandarizar todos los predictores antes de ajustar. La función scale(center = TRUE, scale = TRUE) permite hacerlo

 Clase
Alcohol
Malic acid
  Ash
Alcalinity of ash Magnesium Total phenols Flavanoids Nonflavanoid phenols Proanthocyanins Color intensity
  Hue
 OD280
Proline
Min. :-1.21053 Min. :-2.42739 Min. :-1.4290 Min. :-3.66881 Min. :-2.663505 Min. :-2.0824 Min. :-2.10132 Min. :-1.6912 Min. :-1.8630 Min. :-2.06321 Min. :-1.6297 Min. :-2.08884 Min. :-1.8897 Min. :-1.4890
1st Qu.:-1.21053 1st Qu.:-0.78603 1st Qu.:-0.6569 1st Qu.:-0.57051 1st Qu.:-0.687199 1st Qu.:-0.8221 1st Qu.:-0.88298 1st Qu.:-0.8252 1st Qu.:-0.7381 1st Qu.:-0.59560 1st Qu.:-0.7929 1st Qu.:-0.76540 1st Qu.:-0.9496 1st Qu.:-0.7824
Median : 0.07974 Median : 0.06083 Median :-0.4219 Median :-0.02375 Median : 0.001514 Median :-0.1219 Median : 0.09569 Median : 0.1059 Median :-0.1756 Median :-0.06272 Median :-0.1588 Median : 0.03303 Median : 0.2371 Median :-0.2331
Mean : 0.00000 Mean : 0.00000 Mean : 0.0000 Mean : 0.00000 Mean : 0.000000 Mean : 0.0000 Mean : 0.00000 Mean : 0.0000 Mean : 0.0000 Mean : 0.00000 Mean : 0.0000 Mean : 0.00000 Mean : 0.0000 Mean : 0.0000
3rd Qu.: 1.37000 3rd Qu.: 0.83378 3rd Qu.: 0.6679 3rd Qu.: 0.69615 3rd Qu.: 0.600395 3rd Qu.: 0.5082 3rd Qu.: 0.80672 3rd Qu.: 0.8467 3rd Qu.: 0.6078 3rd Qu.: 0.62741 3rd Qu.: 0.4926 3rd Qu.: 0.71116 3rd Qu.: 0.7864 3rd Qu.: 0.7561
Max. : 1.37000 Max. : 2.25341 Max. : 3.1004 Max. : 3.14745 Max. : 3.145637 Max. : 4.3591 Max. : 2.53237 Max. : 3.0542 Max. : 2.3956 Max. : 3.47527 Max. : 3.4258 Max. : 3.29241 Max. : 1.9554 Max. : 2.9631

4.2.1 kmeans - Normalizado

## [1] "NUMERO DE CLUSTERS"
##  [1]  2  3  4  5  6  7  8  9 10 11 12 13 14
## [1] "PUREZA"
##  [1] 0.9044944 0.9662921 0.8146067 0.7022472 0.6910112 0.6067416 0.5224719
##  [8] 0.4213483 0.4606742 0.4325843 0.3820225 0.3033708 0.3988764
## [1] "Rand index"
##  [1] 0.3887242 0.8974950 0.7189110 0.6543869 0.5875022 0.5506708 0.4596389
##  [8] 0.3832720 0.3825302 0.3535008 0.3261156 0.2519717 0.3258983

Como se puede observar, si vamos nuestra evaluación con el grado de pureza de los grupos, la división en 3 clústers es la que ha obtenido un mejor resultado. Si utilizamos Rand index obtenemos un mejor resultado con 3 Clusters.

Con toda la información recopilada, puedo afirmar que la clasificación planteada mejores resultados que con los valores normales. Por lo tanto, la clasificación con los valores normalizados són más eficaces.

4.2.2 Método de partición en intervalos de la misma amplitud -Normalizado

A partir de los datos obtenidos para dividir las diferentes clases debemos saber

## [1] "Máximo"
## [1] 1.37
## [1] "Mínimo"
## [1] -1.210529

Con esta distribución podemos realizar un intervalo de 1 obteniendo la siguiente información:

[-1.41,-0.411)[-0.411,0.589)[0.589,1.59)
597148

Comentar que el primer intervalo corresponde a valores de 1 a 2 el dos no inclusivo. Respecto a los datos, únicamente comentar que es la mejor agrupación posible. El resto de agrupaciones no son viables ya que no tendrián una distribución tan equitativa.

Si realizo la agrupación de por ejemeplo el Alcohol en 5 unidades me encuentro la siguiente gráfica.

## [1] "Máximo"
## [1] 2.253415
## [1] "Mínimo"
## [1] -2.427388
[-2.63,-1.63)[-1.63,-0.627)[-0.627,0.373)[0.373,1.37)[1.37,2.37)
1047525217

Si que he observado que, a pesar que en el valor clase no he obtenido mejores resultados, en el resto han mejorado, pudiendo crear grupos más equitativos.

4.2.3 Método de partición en intervalos de igual frecuencia

##             Var1 Freq  Fa        fr        Fr         MC
## 1  [-2.21,-1.21)    0   0 0.0000000 0.0000000 -1.7105289
## 2 [-1.21,-0.211)   59  59 0.3314607 0.3314607 -0.7105289
## 3 [-0.211,0.789)   71 130 0.3988764 0.7303371  0.2894711
## 4   [0.789,1.79)   48 178 0.2696629 1.0000000  1.2894711
## 5    [1.79,2.79)    0 178 0.0000000 1.0000000  2.2894711
## 6    [2.79,3.79)    0 178 0.0000000 1.0000000  3.2894711
## 7    [3.79,4.79)    0 178 0.0000000 1.0000000  4.2894711
## 8    [4.79,5.79)    0 178 0.0000000 1.0000000  5.2894711

##             Var1 Freq  Fa         fr         Fr        MC
## 1  [-2.63,-1.63)   10  10 0.05617978 0.05617978 -2.127388
## 2 [-1.63,-0.627)   47  57 0.26404494 0.32022472 -1.127388
## 3 [-0.627,0.373)   52 109 0.29213483 0.61235955 -0.127388
## 4   [0.373,1.37)   52 161 0.29213483 0.90449438  0.872612
## 5    [1.37,2.37)   17 178 0.09550562 1.00000000  1.872612
## 6    [2.37,3.37)    0 178 0.00000000 1.00000000  2.872612
## 7    [3.37,4.37)    0 178 0.00000000 1.00000000  3.872612
## 8    [4.37,5.37)    0 178 0.00000000 1.00000000  4.872612

Al igual que el anterior, los grupos generados han sido más igualados para

4.2.4 Método de distribución lineal. Análisis Discriminante Lineal

## Call:
## lda(normalizado$Clase ~ ., data = normalizado)
##
## Prior probabilities of groups:
##  -1.21052889135896 0.0797354359577757   1.36999976327451
##          0.3314607          0.3988764          0.2696629
##
## Group means:
##                       Alcohol `Malic acid`        Ash `Alcalinity of ash`
## -1.21052889135896   0.9166093   -0.2915199  0.3246886          -0.7359212
## 0.0797354359577757 -0.8892116   -0.3613424 -0.4437061           0.2225094
## 1.36999976327451    0.1886265    0.8928122  0.2572190           0.5754413
##                      Magnesium `Total phenols`  Flavanoids
## -1.21052889135896   0.46192317      0.87090552  0.95419225
## 0.0797354359577757 -0.36354162     -0.05790375  0.05163434
## 1.36999976327451   -0.03004191     -0.98483874 -1.24923710
##                    `Nonflavanoid phenols` Proanthocyanins
## -1.21052889135896             -0.57735640       0.5388633
## 0.0797354359577757             0.01452785       0.0688079
## 1.36999976327451               0.68817813      -0.7641311
##                    `Color intensity`        Hue      OD280    Proline
## -1.21052889135896          0.2028288  0.4575567  0.7691811  1.1711967
## 0.0797354359577757        -0.8503999  0.4323908  0.2446043 -0.7220731
## 1.36999976327451           1.0085728 -1.2019916 -1.3072623 -0.3715295
##
## Coefficients of linear discriminants:
##                               LD1          LD2
## Alcohol                -0.3274906  0.707744750
## `Malic acid`            0.1846135  0.341153776
## Ash                    -0.1012536  0.643569825
## `Alcalinity of ash`     0.5169574 -0.488847900
## Magnesium              -0.0309001 -0.006609312
## `Total phenols`         0.3868085 -0.020160425
## Flavanoids             -1.6592953 -0.491436530
## `Nonflavanoid phenols` -0.1861596 -0.202977648
## Proanthocyanins         0.0767491 -0.175764297
## `Color intensity`       0.8231206  0.587061123
## Hue                    -0.1869798 -0.346430951
## OD280                  -0.8218561  0.036340126
## Proline                -0.8474810  0.898426186
##
## Proportion of trace:
##    LD1    LD2
## 0.6875 0.3125
##         LD1       LD2
## 1 -4.700244 1.9791383
## 2 -4.301958 1.1704129
## 3 -3.420720 1.4291014
## 4 -4.205754 4.0028715
## 5 -1.509982 0.4512239
## 6 -4.518689 3.2131376


4.3 Realización de los métodos de discretización - Normalizado 0-1


He ajustado el valor de cada variables al rango de 0-1 comentado en el enunciado.

5 kMEANS normalizado 0-1

## [1] "NUMERO DE CLUSTERS"
##  [1]  2  3  4  5  6  7  8  9 10 11 12 13 14
## [1] "PUREZA"
##  [1] 0.9213483 0.7022472 0.5955056 0.5505618 0.5337079 0.4213483 0.3258427
##  [8] 0.3314607 0.3089888 0.2808989 0.2471910 0.2752809 0.2471910
## [1] "Rand index"
##  [1] 0.3694075 0.3711137 0.3028973 0.3115880 0.2909023 0.2348107 0.1898495
##  [8] 0.1849848 0.1769406 0.1787948 0.1414446 0.1595540 0.1421043

Como se puede observar, los resultados han sido identicos por el método escogido para la normalización 0 -1 que sin ella. Por lo tanto, el proceso escogido no proporicona ni proporcionara mejores reusltados.


6 Conclusiones.


Ha raíz del análisis, he llegado a la conclusión que, mediante la normalización utilizada con la función scale() he conseguido una mejor clasificación que con las valriables sin descretización.


7 Singular Value Decomposition in R


Base R proporciona la función svd () para realizar este método. El resultado ha sido:

## $d
##  [1] 10886.690915   493.795405    57.449407    30.459806    18.552995
##  [6]    14.704006    11.326847     5.558498     4.493588     4.154117
## [11]     3.060170     2.595233     1.981392     1.213701
##
## $u
##               [,1]           [,2]          [,3]          [,4]
##   [1,] -0.09853851 -0.00188809795 -0.1436858451  0.0027332960
##   [2,] -0.09687255  0.04927679085 -0.1004155681 -0.0049667158
##   [3,] -0.10921158  0.07617467651  0.0280166149 -0.0265183672
##   [4,] -0.13624371  0.12418836638 -0.0173957438  0.0259198161
##   [5,] -0.06835390 -0.06590880738 -0.0543287644 -0.0388289571
##   [6,] -0.13349260  0.11982831533 -0.0450515061  0.0127623087
##   [7,] -0.11872811  0.11274987025  0.0009489049 -0.0169441040
##   [8,] -0.11945488  0.06417560111 -0.0661181414 -0.0339073743
##   [9,] -0.09639291  0.05216783397 -0.0341436107  0.0026628794
##  [10,] -0.09640746  0.04937030346 -0.0065335988  0.0395389894
##  [11,] -0.13889548  0.14658293441  0.0333686913 -0.0410196097
##  [12,] -0.11780877  0.11142577824  0.0357202309 -0.0336488106
##  [13,] -0.12139182  0.13303738616  0.0545431364 -0.0188802806
##  [14,] -0.10590102  0.09017780456 -0.0376803595  0.0103850745
##  [15,] -0.14222794  0.16386576517 -0.0380828165  0.0423613368
##  [16,] -0.12072723  0.08537795513 -0.0270745367  0.0290883921
##  [17,] -0.11808192  0.06127841636 -0.0219364691 -0.0159786727
##  [18,] -0.10434769  0.03504007486 -0.0146874700  0.0003881771
##  [19,] -0.15443086  0.18210594493  0.0188126300  0.0403940692
##  [20,] -0.07835491 -0.03309843536 -0.1215941691  0.0135606639
##  [21,] -0.07253513 -0.06854894889 -0.1596057082  0.0187519768
##  [22,] -0.07137140 -0.02537988052 -0.0149808823 -0.0196685954
##  [23,] -0.09552642  0.04111137581 -0.0202852662 -0.0608506170
##  [24,] -0.09363957  0.04761500951  0.0197791871 -0.0614015431
##  [25,] -0.07815066  0.00366200812  0.0369393325 -0.0775914308
##  [26,] -0.07708921 -0.05646675675 -0.0137836378 -0.0966557773
##  [27,] -0.11003317  0.09532081790  0.0234215376 -0.0370007983
##  [28,] -0.11825280  0.11473709280  0.0375133245 -0.0644084283
##  [29,] -0.08465179 -0.00074437742 -0.0112931508 -0.0466684869
##  [30,] -0.09547282  0.05098426942 -0.0037398428 -0.0263298775
##  [31,] -0.11834015  0.09833090183  0.0988705285 -0.0590159960
##  [32,] -0.13936388  0.14543274314  0.0461089681 -0.0138252078
##  [33,] -0.09145489  0.02425682844 -0.0290381857 -0.0510997806
##  [34,] -0.11410281  0.02763447947 -0.0932021232 -0.0322895816
##  [35,] -0.10109846  0.03703900275 -0.0182346891 -0.0558387713
##  [36,] -0.08503529  0.01359803911  0.0371486582 -0.0391670295
##  [37,] -0.08148261 -0.01297219887 -0.0923647896 -0.0088033707
##  [38,] -0.10188037  0.06329984459  0.0187832508 -0.0503935328
##  [39,] -0.09412274  0.04408824827 -0.0301370782 -0.0475408102
##  [40,] -0.07072719 -0.07606788913 -0.2102244904  0.0387716319
##  [41,] -0.07380765 -0.04750974469 -0.1153394185  0.0284388898
##  [42,] -0.09541380  0.06141177934  0.0669340342 -0.0441766381
##  [43,] -0.10099692  0.05609270303 -0.0346842815 -0.0090730377
##  [44,] -0.06317165 -0.04846789472 -0.0440501972 -0.0060114965
##  [45,] -0.08190993 -0.00665115701 -0.0549866659 -0.0147348908
##  [46,] -0.09974304  0.03116596260 -0.0151654060 -0.0141781201
##  [47,] -0.09827406  0.04631885849 -0.0222304048 -0.0165424624
##  [48,] -0.09096658  0.02919143800 -0.0279701724  0.0125872801
##  [49,] -0.09783382  0.04198541157  0.0155206560  0.0022220661
##  [50,] -0.11612644  0.08083817007 -0.0051976474  0.0704945188
##  [51,] -0.10591203  0.08807462903 -0.0299432024  0.0567341465
##  [52,] -0.11643140  0.10952308947  0.0463566424 -0.0276304889
##  [53,] -0.10976645  0.05989009090 -0.0833293516  0.0389527334
##  [54,] -0.12668687  0.09524785827 -0.0381746597 -0.0024813359
##  [55,] -0.09798748  0.01415488403 -0.0933330682  0.0087789674
##  [56,] -0.10344677  0.03053092680 -0.0139930644 -0.0121699773
##  [57,] -0.08978014 -0.00760693593 -0.0989272774  0.0277579283
##  [58,] -0.11697106  0.09549143371  0.0034576898 -0.0085351732
##  [59,] -0.11840375  0.08736719228 -0.0210237299  0.0092918029
##  [60,] -0.04840168 -0.05398981364 -0.1146328397 -0.0117258090
##  [61,] -0.06314408 -0.04339348756 -0.0698928537 -0.0180142536
##  [62,] -0.04215988 -0.09732703028 -0.0652599417  0.0653311996
##  [63,] -0.05851599 -0.04314599115 -0.0037353499 -0.0219334669
##  [64,] -0.03929029 -0.08034176441  0.0209138467 -0.0189108934
##  [65,] -0.03354053 -0.12869154625 -0.0661818136 -0.0326959336
##  [66,] -0.06293574 -0.03924578927 -0.0192262810 -0.0122547915
##  [67,] -0.04666704 -0.04155304163  0.0113617109  0.0236489717
##  [68,] -0.04740381 -0.04149902337  0.0795938098 -0.0147815155
##  [69,] -0.06962743 -0.04473302078 -0.0843652407 -0.0330691448
##  [70,] -0.06714246 -0.13159601740 -0.2816974564 -0.0388041919
##  [71,] -0.08050263 -0.00365245065  0.0068496632 -0.0618201339
##                 [,5]          [,6]          [,7]          [,8]
##   [1,] -0.0344759565 -0.0298472461  0.0210756005 -0.0118228601
##   [2,] -0.1000849492  0.0575660852 -0.0271727938 -0.0776822669
##   [3,]  0.0158074342 -0.0303074832  0.0888160659  0.1086731768
##   [4,]  0.0046527172 -0.0536839855  0.0563242172 -0.0012063032
##   [5,]  0.0258961606 -0.0266171324  0.0782787684 -0.0886985118
##   [6,]  0.0040067669 -0.0092956263  0.0060069348  0.0069488894
##   [7,] -0.0684303086  0.0581073004 -0.0493287600  0.0305410694
##   [8,]  0.0608401730  0.0456745008 -0.0120352769 -0.1210098055
##   [9,] -0.1427467340  0.0258694795 -0.0594155069  0.0205684495
##  [10,] -0.0916551975 -0.0861450045 -0.0001693952 -0.0608059666
##  [11,]  0.0436940965  0.0150650648  0.0282829691  0.0836871117
##  [12,] -0.0061432764  0.0405255035 -0.0916959684 -0.0060372224
##  [13,] -0.0267995664  0.0243572407 -0.0397340088  0.0220719669
##  [14,] -0.1951475287  0.0251432054 -0.0180029653  0.1526495624
##  [15,] -0.0762265214 -0.0009461006  0.0272134724  0.1727482431
##  [16,]  0.0431551600 -0.0382848902  0.0076528419 -0.0968972599
##  [17,]  0.0720786322 -0.0316232715  0.0115973455 -0.0255076433
##  [18,]  0.0445243102 -0.0864011168  0.0173225145 -0.0814194453
##  [19,]  0.0439639391 -0.0657785273  0.0224834434 -0.0254766959
##  [20,] -0.0737549212  0.0366561833  0.0957555356 -0.1102422499
##  [21,] -0.0814937496 -0.0717248538  0.0339050838 -0.0670977024
##  [22,] -0.0347718178  0.0539801509  0.1400003070 -0.0497898180
##  [23,] -0.0550826791  0.0241853863 -0.0074237065 -0.0548373262
##  [24,] -0.0019544797  0.0041159277 -0.0243323916 -0.0678668886
##  [25,] -0.0378610937 -0.0118849209 -0.0071142118 -0.0766271603
##  [26,]  0.1289468390 -0.0637550988  0.0583173245 -0.0839134638
##  [27,] -0.0301513361  0.0178737314 -0.0149201008 -0.0616474356
##  [28,]  0.0391615061  0.0688891997 -0.0697729385 -0.0110729258
##  [29,] -0.0304848543 -0.0295279666  0.0149746074 -0.0791803990
##  [30,] -0.0796896269  0.0201592524 -0.0438053515  0.0176632981
##  [31,]  0.0791196396 -0.0765363832  0.0107331930  0.0577620860
##  [32,]  0.0945492856 -0.0427723812  0.0107190053  0.0107006624
##  [33,] -0.0250963339  0.0254643596 -0.0251924538  0.0177490105
##  [34,]  0.1173764512 -0.0307330709 -0.0140310965 -0.1206428377
##  [35,]  0.0517458137  0.0165648723 -0.0278804462 -0.0576605456
##  [36,] -0.0138852864 -0.0611559269  0.0259300572 -0.0598237858
##  [37,] -0.0391195244 -0.0027206848 -0.0215817318 -0.1095620495
##  [38,]  0.0347050963  0.0185781844 -0.0422651685 -0.0385592363
##  [39,] -0.0228114836  0.0322744652 -0.0541296676 -0.0420283113
##  [40,] -0.1263960112  0.0822186525  0.1553349586 -0.0709215716
##  [41,] -0.0796513677 -0.0919379929  0.0619613930 -0.0196502157
##  [42,] -0.0197153857  0.1039401550  0.0965233974 -0.0618241842
##  [43,] -0.0931131498 -0.0159470860  0.0302187011 -0.0768022109
##  [44,] -0.0743519118  0.0715806664  0.1382031352 -0.0888167698
##  [45,] -0.0385698283 -0.0513848161  0.0432033838 -0.0193989334
##  [46,] -0.0017410936  0.0967775136  0.1119151070 -0.1478893965
##  [47,] -0.1001166809  0.0797733228  0.1096328765  0.0107517415
##  [48,] -0.0978258421 -0.0587944297  0.0265045066 -0.0083731034
##  [49,] -0.0264603816 -0.0380133391  0.0192976824  0.0459631369
##  [50,] -0.0121876062 -0.1091476825  0.0480497166 -0.0390936529
##  [51,] -0.1021061054 -0.0471748150  0.0437386384  0.1561823431
##  [52,] -0.0245967771 -0.0102369065 -0.0151644564  0.0558434480
##  [53,] -0.0741615929 -0.0622636446  0.0565806942 -0.0581135987
##  [54,]  0.0587297346 -0.0013659323  0.0027701352 -0.0414953289
##  [55,] -0.0035068471 -0.0281444056 -0.0017892529 -0.0821725776
##  [56,]  0.0634089121 -0.0779779660  0.0376917241  0.0412536920
##  [57,] -0.0610176130 -0.0573571702  0.0183863334 -0.0431152921
##  [58,]  0.0148877153 -0.0150955075  0.0290004243 -0.0481172764
##  [59,] -0.0035470744 -0.0745236489  0.0263569870 -0.0102867996
##  [60,] -0.1192052553  0.1247065770 -0.2191771879 -0.0155816594
##  [61,]  0.0136580565  0.0519754405 -0.1610018327 -0.0833185985
##  [62,] -0.0517501695 -0.0326903744 -0.1049770162 -0.1177396454
##  [63,] -0.0720119969  0.0192701122 -0.1437726920 -0.0850779961
##  [64,] -0.1218815116 -0.1305631462  0.0121757045  0.0124909657
##  [65,] -0.0175554204 -0.0165849428 -0.0714924822 -0.0779571615
##  [66,] -0.0260247017 -0.0681339638 -0.0277187744  0.0823022412
##  [67,] -0.2244401882 -0.1005155469 -0.0262233795  0.0954968007
##  [68,] -0.0841939488 -0.0717530260 -0.0672380153 -0.0856593778
##  [69,]  0.0103110732  0.0471980640 -0.1766416748 -0.1014185361
##  [70,]  0.1312889980  0.0036257828 -0.0485636908  0.1642462484
##  [71,]  0.1291592640  0.0637302805 -0.1181342502  0.0824521131
##                 [,9]        [,10]         [,11]         [,12]        [,13]
##   [1,]  0.1565940825 -0.004288133 -0.0148817854 -0.0157925402  0.048047627
##   [2,]  0.0371083540 -0.086080861 -0.0689478646 -0.0377750248  0.014220850
##   [3,]  0.0330246358  0.068984419 -0.0136257075 -0.0978533118  0.020531244
##   [4,] -0.0268526156 -0.138642729  0.0677761178  0.0495041860  0.090310292
##   [5,] -0.0138807799  0.104804451  0.1609985184 -0.0878534916  0.013041029
##   [6,] -0.1002695080 -0.028633907 -0.0141143817  0.0079911855  0.017144641
##   [7,]  0.1298158185 -0.006271077 -0.0154804000 -0.0729578883  0.072177556
##   [8,]  0.1024360952 -0.054005344 -0.0048011638 -0.0064943886  0.027698463
##   [9,] -0.0559743819  0.099314877  0.0402032053  0.0422262281  0.039069818
##  [10,]  0.0875454090 -0.027823432 -0.0001880244  0.0371453505  0.002300259
##  [11,] -0.0149912419  0.012415299 -0.0615806536  0.0870711434 -0.071176607
##  [12,]  0.0240179145  0.090010407 -0.0216630066  0.0300089102 -0.013271354
##  [13,] -0.0075215185  0.026453283 -0.0234142531 -0.0341895533 -0.023907470
##  [14,] -0.1425669887  0.114271254 -0.0346994390 -0.1347431478 -0.009425533
##  [15,] -0.0567852682 -0.011068998 -0.0663888674 -0.0860907411 -0.045173462
##  [16,] -0.0150602183 -0.013011053 -0.0025899595 -0.0684856544 -0.128804277
##  [17,] -0.0722157463  0.117537183  0.0264224918  0.0153289961  0.023222828
##  [18,] -0.1134645763  0.102264122  0.0171827018  0.0345800020 -0.040204736
##  [19,] -0.1198916985 -0.037542311 -0.1381510454  0.0445293600 -0.105418887
##  [20,]  0.0375854626  0.033992241 -0.0119970281 -0.0606960140  0.038249451
##  [21,]  0.0982410750  0.021060368  0.0514256894  0.0453844471 -0.003623311
##  [22,]  0.1488402622  0.054526973  0.0706324892 -0.1036746131 -0.041007127
##  [23,]  0.1356645585 -0.040089129 -0.0533510824 -0.0062992098  0.031231601
##  [24,]  0.1307126974 -0.048726784  0.0190318395 -0.0706435326  0.017393283
##  [25,]  0.1354252176  0.023745158  0.0453266927 -0.0472003787  0.031962719
##  [26,]  0.0392259195  0.118465841  0.1379634991 -0.1426390164  0.026214313
##  [27,] -0.0180091477 -0.047838985 -0.0211175219 -0.0906585295  0.107904458
##  [28,] -0.0033380340  0.004413632  0.0331242567  0.0905644288  0.026748547
##  [29,]  0.0135840614  0.034023785  0.0794043455 -0.0965512131 -0.032842717
##  [30,]  0.1393325192 -0.006122742  0.0901649107  0.0211312755  0.036073502
##  [31,] -0.0806313982  0.105301144  0.0582632734  0.0189232402 -0.018667749
##  [32,] -0.0255110410  0.005397755 -0.0540481335  0.1034067621 -0.034348178
##  [33,] -0.0080837619  0.119510019  0.0289209459 -0.0136368014 -0.047927408
##  [34,] -0.0252688879 -0.016014378  0.0776054338 -0.0058044075 -0.076748832
##  [35,]  0.0050857381  0.088465985  0.0233511199 -0.0375163554  0.027277449
##  [36,]  0.0776958091  0.052858349  0.0294689153  0.0632146182  0.011476490
##  [37,] -0.0451350005  0.055443983  0.0458862661 -0.1917919991  0.035542146
##  [38,] -0.0589233942  0.068457780  0.0515476269 -0.0466902832 -0.003039260
##  [39,] -0.0521392869  0.053635380 -0.0178534968  0.0568775941 -0.044592127
##  [40,]  0.0493948433  0.024378569  0.0615083073 -0.0690798947  0.057690487
##  [41,]  0.0401344064  0.029078213  0.0751394548  0.0146412748  0.029437493
##  [42,]  0.0023970931  0.063735788  0.0011771705  0.1486122391 -0.009069503
##  [43,] -0.0261774866 -0.065363742 -0.0486503356 -0.0603769437  0.144661122
##  [44,]  0.0086422880  0.083425747  0.1036923454  0.0478775104  0.023913986
##  [45,]  0.0414093155 -0.011494949  0.0633547316  0.0977576921  0.054133929
##  [46,]  0.0296315280 -0.007180821  0.0742968514  0.1004564706  0.023912884
##  [47,] -0.0107723502 -0.008037848  0.0637090999  0.0508968109 -0.007245070
##  [48,]  0.0085958368  0.017238545  0.0106925633  0.1011886290  0.063767254
##  [49,] -0.0113145927  0.139888948  0.0859884999  0.0397820705 -0.016594223
##  [50,]  0.0318665652  0.044639956 -0.0774106659  0.0906989656 -0.111790775
##  [51,]  0.0330988497  0.057212201 -0.0698719854 -0.0267199825 -0.080371041
##  [52,]  0.0866214460  0.062247028 -0.0778662340 -0.0936877894 -0.030555621
##  [53,] -0.1047453433 -0.132542777  0.0367997523 -0.0128332853  0.013233422
##  [54,] -0.0262401356 -0.035455943  0.0475585183 -0.0619960998 -0.031703911
##  [55,]  0.0530406447  0.031942156 -0.0181139654  0.0875042601  0.057284116
##  [56,]  0.0463907270  0.058327925  0.1319668055  0.0675512444  0.026540430
##  [57,]  0.0319648313  0.001399830  0.1138965651  0.0645307084  0.050919279
##  [58,] -0.0839086219 -0.014852235 -0.0277670505 -0.0810231209  0.001342913
##  [59,] -0.1159458005 -0.016717722 -0.0092527466  0.0236525462  0.102473730
##  [60,] -0.0870478776 -0.095562203  0.1268167879  0.1221658991 -0.035208592
##  [61,] -0.1422147454 -0.041315990  0.0830449545 -0.0844049125 -0.121823933
##  [62,] -0.1054307461  0.049517587  0.0889897014  0.0542316918 -0.084775036
##  [63,] -0.0525147946  0.005577029 -0.0145707192  0.1421104067 -0.084428357
##  [64,] -0.1485205046 -0.121281050  0.0447943377  0.0326101593 -0.077058388
##  [65,] -0.0611302296  0.061465918 -0.0011156385 -0.1385495665 -0.185300154
##  [66,] -0.1077426390  0.035275895 -0.0804723568 -0.1480483597 -0.040145993
##  [67,] -0.0317730941 -0.067471253 -0.0949699745  0.0932327211 -0.049485915
##  [68,]  0.1490190755 -0.102528642 -0.0881190596  0.1010352183 -0.089012565
##  [69,] -0.1682413575 -0.079503949  0.1462423396 -0.0167317450  0.048418073
##  [70,]  0.2018355874 -0.034621668  0.0104934752  0.1203738222 -0.117154256
##  [71,]  0.0204193385  0.136797133 -0.0466165699  0.0340587016  0.054069721
##                [,14]
##   [1,]  0.0523477559
##   [2,]  0.0251417880
##   [3,] -0.0240183986
##   [4,]  0.0144224347
##   [5,] -0.0024461132
##   [6,]  0.0637994392
##   [7,] -0.0083166435
##   [8,]  0.0246953714
##   [9,] -0.0016717193
##  [10,] -0.0207104262
##  [11,] -0.0420125498
##  [12,] -0.0578376829
##  [13,] -0.0439449743
##  [14,]  0.0623440717
##  [15,] -0.0049509666
##  [16,] -0.0565587828
##  [17,]  0.0073825450
##  [18,]  0.0712920130
##  [19,]  0.0502213084
##  [20,] -0.0856169953
##  [21,]  0.0176202986
##  [22,] -0.1057357267
##  [23,]  0.0128771001
##  [24,] -0.0554493162
##  [25,] -0.0533045902
##  [26,]  0.0322425980
##  [27,]  0.0309518038
##  [28,] -0.0108392168
##  [29,] -0.0194830663
##  [30,] -0.0306160967
##  [31,] -0.0654664371
##  [32,] -0.0258540437
##  [33,]  0.0631819834
##  [34,]  0.1382127716
##  [35,] -0.0445100195
##  [36,] -0.0173335349
##  [37,] -0.0380200237
##  [38,] -0.0683172752
##  [39,] -0.0002118564
##  [40,] -0.0493715630
##  [41,]  0.0903302768
##  [42,]  0.0039363209
##  [43,] -0.0544346018
##  [44,]  0.0248616597
##  [45,]  0.0696785614
##  [46,]  0.0180504277
##  [47,] -0.0125807199
##  [48,]  0.0114185294
##  [49,] -0.0115765616
##  [50,]  0.0675130572
##  [51,] -0.0739622812
##  [52,] -0.1090397672
##  [53,]  0.0683717190
##  [54,]  0.0382828738
##  [55,]  0.0124088128
##  [56,] -0.0730213262
##  [57,]  0.0182145227
##  [58,] -0.0133853413
##  [59,] -0.0302172550
##  [60,] -0.0312335179
##  [61,]  0.1324188440
##  [62,]  0.1224774882
##  [63,] -0.0198954996
##  [64,] -0.1260366576
##  [65,] -0.0361864935
##  [66,] -0.0311599493
##  [67,]  0.0141915254
##  [68,] -0.0231420866
##  [69,]  0.1183328818
##  [70,] -0.0633568702
##  [71,]  0.0101483868
##  [ reached getOption("max.print") -- omitted 107 rows ]
##
## $v
##               [,1]         [,2]         [,3]         [,4]         [,5]
##  [1,] -0.001964560 -0.030745253  0.103071470  0.154886701  0.034536666
##  [2,] -0.014962755 -0.114147533  0.265445241  0.054684312 -0.795971658
##  [3,] -0.002544743 -0.028115074  0.113000944  0.167784351 -0.041241733
##  [4,] -0.002708026 -0.022165752  0.064025935 -0.008600708 -0.040448657
##  [5,] -0.021383080 -0.228185536  0.899176041 -0.200782111  0.276331541
##  [6,] -0.115577491 -0.957363969 -0.259918143  0.008449486  0.048275035
##  [7,] -0.002744217 -0.015056951  0.017266933 -0.098542382 -0.242730215
##  [8,] -0.002528320 -0.008064311 -0.014014647 -0.201793611 -0.318764084
##  [9,] -0.000391490 -0.004271729  0.018815584  0.010701973 -0.004067318
## [10,] -0.001889715 -0.011601969  0.005268865 -0.063613123 -0.148016930
## [11,] -0.006069745 -0.034080132  0.155708025  0.894423515 -0.074276447
## [12,] -0.001109173 -0.007910805  0.009348268 -0.070532808 -0.073480394
## [13,] -0.003060511 -0.019672226  0.027135830 -0.211765156 -0.299708067
## [14,] -0.992913878  0.118630745  0.005146981 -0.002029741  0.003798098
##               [,6]         [,7]          [,8]         [,9]           [,10]
##  [1,]  0.190375086 -0.227727752  0.3998970353 -0.221092747 -0.587030382734
##  [2,]  0.278210527 -0.382160419 -0.0113206147 -0.047820477  0.194663360670
##  [3,]  0.687850510  0.689852877 -0.0372784042 -0.015748427  0.002758555084
##  [4,] -0.003584720  0.019519536 -0.1458952786 -0.075351058  0.039734585741
##  [5,] -0.124675266  0.030629734 -0.0185746415  0.008207431  0.032827564052
##  [6,] -0.004406763  0.008011648 -0.0057694781  0.001691689  0.000002126682
##  [7,] -0.216763351  0.223277873  0.0114761432 -0.412611005 -0.580084958106
##  [8,] -0.397950239  0.404765256 -0.1625418214 -0.386128360  0.199252123215
##  [9,]  0.029779657 -0.032025055  0.0124782421 -0.030239407  0.004222150839
## [10,] -0.189177741  0.250738235  0.8696127352  0.176806103  0.243473784154
## [11,] -0.368976023  0.110661125 -0.0792816107  0.103515360 -0.004327982632
## [12,] -0.026154608 -0.066495644  0.0104229709 -0.030145003  0.007848028042
## [13,] -0.137062658  0.174820371 -0.1660499659  0.761375889 -0.423390361872
## [14,]  0.001543615 -0.000457320  0.0006514551 -0.000116643 -0.000641096335
##               [,11]         [,12]          [,13]          [,14]
##  [1,] -0.5608433660 -0.0714574101  0.04526400841  0.00610602077
##  [2,]  0.0734425727  0.0765058061  0.06794353110 -0.01021227688
##  [3,] -0.0116105633  0.0138251542 -0.07377532711 -0.01149032619
##  [4,]  0.0175751981 -0.9456155403  0.19759673888 -0.17667466386
##  [5,]  0.0256514300  0.0601365762 -0.00611304648  0.00030316948
##  [6,]  0.0004376850  0.0034991455 -0.00041313181  0.00209759329
##  [7,]  0.5696931722  0.0399863424 -0.00615498698 -0.03056942627
##  [8,] -0.5544926195  0.0713611223  0.03592392607  0.07836000099
##  [9,]  0.0699616542 -0.2109200295 -0.16435469005  0.95921934643
## [10,]  0.1206935094 -0.1127384897  0.02660240565 -0.02167422039
## [11,]  0.0047882271  0.0022293467 -0.05993421474 -0.00416737314
## [12,] -0.0516901410 -0.1595908161 -0.95713443964 -0.19759158243
## [13,] -0.1574484746 -0.0408583635  0.00793860074  0.04244830865
## [14,] -0.0005247023  0.0001257698  0.00006728993  0.00006578451

8 PCA


La función prcomp() es una de las múltiples funciones en R que realizan PCA. Por defecto, prcomp() centra las variables para que tengan media cero, pero si se quiere además que su desviación estándar sea de uno, hay que indicar scale = TRUE.

## [1] "sdev" "rotation" "center" "scale" "x"

Los elementos center y scale almacenados en el objeto pca contienen la media y desviación típica de las variables previa estandarización (en la escala original).

##              Alcohol           Malic acid                  Ash
##           13.0006180            2.3363483            2.3665169
##    Alcalinity of ash            Magnesium        Total phenols
##           19.4949438           99.7415730            2.2951124
##           Flavanoids Nonflavanoid phenols      Proanthocyanins
##            2.0292697            0.3618539            1.5908989
##      Color intensity                  Hue                OD280
##            5.0580899            0.9574494            2.6116854
##              Proline
##          746.8932584
##              Alcohol           Malic acid                  Ash
##            0.8118265            1.1171461            0.2743440
##    Alcalinity of ash            Magnesium        Total phenols
##            3.3395638           14.2824835            0.6258510
##           Flavanoids Nonflavanoid phenols      Proanthocyanins
##            0.9988587            0.1244533            0.5723589
##      Color intensity                  Hue                OD280
##            2.3182859            0.2285716            0.7099904
##              Proline
##          314.9074743

El número máximo de componentes principales se corresponde con el mínimo(n-1,p)

##                               PC1          PC2         PC3         PC4
## Alcohol              -0.144329395  0.483651548 -0.20738262  0.01785630
## Malic acid            0.245187580  0.224930935  0.08901289 -0.53689028
## Ash                   0.002051061  0.316068814  0.62622390  0.21417556
## Alcalinity of ash     0.239320405 -0.010590502  0.61208035 -0.06085941
## Magnesium            -0.141992042  0.299634003  0.13075693  0.35179658
## Total phenols        -0.394660845  0.065039512  0.14617896 -0.19806835
## Flavanoids           -0.422934297 -0.003359812  0.15068190 -0.15229479
## Nonflavanoid phenols  0.298533103  0.028779488  0.17036816  0.20330102
## Proanthocyanins      -0.313429488  0.039301722  0.14945431 -0.39905653
## Color intensity       0.088616705  0.529995672 -0.13730621 -0.06592568
## Hue                  -0.296714564 -0.279235148  0.08522192  0.42777141
## OD280                -0.376167411 -0.164496193  0.16600459 -0.18412074
## Proline              -0.286752227  0.364902832 -0.12674592  0.23207086
##                              PC5         PC6         PC7         PC8
## Alcohol              -0.26566365  0.21353865 -0.05639636  0.39613926
## Malic acid            0.03521363  0.53681385  0.42052391  0.06582674
## Ash                  -0.14302547  0.15447466 -0.14917061 -0.17026002
## Alcalinity of ash     0.06610294 -0.10082451 -0.28696914  0.42797018
## Magnesium             0.72704851  0.03814394  0.32288330 -0.15636143
## Total phenols        -0.14931841 -0.08412230 -0.02792498 -0.40593409
## Flavanoids           -0.10902584 -0.01892002 -0.06068521 -0.18724536
## Nonflavanoid phenols -0.50070298 -0.25859401  0.59544729 -0.23328465
## Proanthocyanins       0.13685982 -0.53379539  0.37213935  0.36822675
## Color intensity      -0.07643678 -0.41864414 -0.22771214 -0.03379692
## Hue                  -0.17361452  0.10598274  0.23207564  0.43662362
## OD280                -0.10116099  0.26585107 -0.04476370 -0.07810789
## Proline              -0.15786880  0.11972557  0.07680450  0.12002267
##                              PC9        PC10        PC11        PC12
## Alcohol              -0.50861912  0.21160473  0.22591696 -0.26628645
## Malic acid            0.07528304 -0.30907994 -0.07648554  0.12169604
## Ash                   0.30769445 -0.02712539  0.49869142 -0.04962237
## Alcalinity of ash    -0.20044931  0.05279942 -0.47931378 -0.05574287
## Magnesium            -0.27140257  0.06787022 -0.07128891  0.06222011
## Total phenols        -0.28603452 -0.32013135 -0.30434119 -0.30388245
## Flavanoids           -0.04957849 -0.16315051  0.02569409 -0.04289883
## Nonflavanoid phenols -0.19550132  0.21553507 -0.11689586  0.04235219
## Proanthocyanins       0.20914487  0.13418390  0.23736257 -0.09555303
## Color intensity      -0.05621752 -0.29077518 -0.03183880  0.60422163
## Hue                  -0.08582839 -0.52239889  0.04821201  0.25921400
## OD280                -0.13722690  0.52370587 -0.04642330  0.60095872
## Proline               0.57578611  0.16211600 -0.53926983 -0.07940162
##                             PC13
## Alcohol               0.01496997
## Malic acid            0.02596375
## Ash                  -0.14121803
## Alcalinity of ash     0.09168285
## Magnesium             0.05677422
## Total phenols        -0.46390791
## Flavanoids            0.83225706
## Nonflavanoid phenols  0.11403985
## Proanthocyanins      -0.11691707
## Color intensity      -0.01199280
## Hue                  -0.08988884
## OD280                -0.15671813
## Proline               0.01444734

Analizar con detalle el vector de loadings que forma cada componente puede ayudar a interpretar que tipo de información recoge cada una de ellas. Por ejemplo, la primera componente es el resultado de la siguiente combinación lineal de las variables originales:

  • Alcohol -0.144329395
  • Malic acid 0.245187580
  • Ash 0.002051061
  • Alcalinity of ash 0.239320405
  • Magnesium -0.141992042
  • Total phenols -0.394660845
  • Flavanoids -0.422934297
  • Nonflavanoid phenols 0.298533103
  • Proanthocyanins -0.313429488
  • Color intensity 0.088616705
  • Hue -0.296714564
  • OD280 -0.376167411
  • Proline -0.286752227

Los pesos asignados en la primera componente Color intensity es la más elevada, al contrario de Flavanoids que és la más pequeña. Esto significa que la primera componente recoge mayoritariamente la información correspondiente a Color intensity.

La función prcomp() calcula automáticamente el valor de las componentes principales para cada observación (principal component scores) multiplicando los datos por los vectores de loadings. El resultado se almacena en la matriz x.

##            PC1        PC2        PC3        PC4        PC5        PC6
## [1,] -3.307421  1.4394023 -0.1652728  0.2150246  0.6910933  0.2232504
## [2,] -2.203250 -0.3324551 -2.0207571  0.2905387 -0.2569299  0.9245123
## [3,] -2.509661  1.0282507  0.9800541 -0.7228632 -0.2503270 -0.5477310
## [4,] -3.746497  2.7486184 -0.1756962 -0.5663856 -0.3109644 -0.1141091
## [5,] -1.006070  0.8673840  2.0209873  0.4086131  0.2976180  0.4053761
## [6,] -3.041674  2.1164309 -0.6276254  0.5141870 -0.6302409 -0.1230834
##              PC7         PC8         PC9        PC10       PC11
## [1,]  0.59474883 -0.06495586 -0.63963836  1.01808396  0.4502932
## [2,]  0.05362434 -1.02153432  0.30797798  0.15925214  0.1422560
## [3,]  0.42301218  0.34324787  1.17452129  0.11304198  0.2858665
## [4,] -0.38225899 -0.64178311 -0.05239662  0.23873915 -0.7574476
## [5,]  0.44282531 -0.41552831 -0.32589984 -0.07814604  0.5244656
## [6,]  0.40052393 -0.39378261  0.15171810 -0.10170891 -0.4044444
##               PC12         PC13
## [1,]  0.5392891439 -0.066052305
## [2,]  0.3871456499  0.003626273
## [3,]  0.0005819316  0.021655423
## [4,] -0.2413387757 -0.368444194
## [5,] -0.2160546934 -0.079140320
## [6,] -0.3783653606  0.144747017
## [1] 178  13

Mediante la función biplot() se puede obtener una representación bidimensional de las dos primeras componentes. Es recomendable indicar el argumento scale = 0 para que las flechas estén en la misma escala que las componentes.

La imagen especular, cuya interpretación es equivalente, se puede obtener invirtiendo el signo de los loadings y de los principal component scores.

Una vez calculadas las componentes principales, se puede conocer la varianza explicada por cada una de ellas, la proporción respecto al total y la proporción de varianza acumulada.

##  [1] 0.99809123049190 0.00173591562471 0.00009495895755 0.00005021735618
##  [5] 0.00001236368469 0.00000846213034 0.00000280681456 0.00000152308053
##  [9] 0.00000112783044 0.00000072141581 0.00000037806027 0.00000021201375
## [13] 0.00000008253928

##  [1] 0.9980912 0.9998271 0.9999221 0.9999723 0.9999847 0.9999931 0.9999960
##  [8] 0.9999975 0.9999986 0.9999993 0.9999997 0.9999999 1.0000000

En este caso, la primera componente explica el 1% de la varianza observada en los datos y la segunda el 0.0017%.