miércoles, 12 de abril de 2017

Analisis multivariado










UNIVERSIDAD MAYOR DE SAN ANDRES
POSTGRADO EN MATEMÁTICA
DIPLOMADO EN OPTIMIZACIÓN MATEMÁTICA
(Primera versión-2016)


MODULO:  ANÁLISIS DE DATOS MULTIVARIADO
INTEGRANTES

Teodoro Cuti
Olga Patty
Edgar Gonzales
Juan Patiño
Guillermo Manning

TEMA: 

"UN ANÁLISIS DE LOS FACTORES CONTAMINANTES DE NUESTRO AMBIENTE"
 (PROYECTO PRIMERA FASE )
 
La Paz-Bolivia
12-Abril-2017

  1. INTRODUCCIÓN

En todo espacio siempre estará un determinado nivel de dióxido de carbono, así mismo el fluir del viento, por otra parte una sensación térmica, lo que se quiere ver con la realización de este trabajo el nivel de relación que se tiene entre estas variables. Por otra parte el documento está estructurado inicialmente con una sección introductoria, luego conceptualizamos en su naturalidad a las variables, posteriormente se refleja los datos y el análisis de los componentes principales para luego terminar estableciendo conclusiones.
Se ha elegido un experimento realizado en base a un dispotivo llamado arduino, el cual es un dispositivo electrónico que tiene un microprocesador con capacidades para procesar datos, los datos lo proporcionar sus puertos, y a la ves conectado a sensores adecuados, y un dispositivo de almacenamiento, se convierte en un datalogger (sistema para almacenamiento de datos). 
El experimento de a partir de iniciar cerca de un fogón, e irlo alejando, se van recolectando datos para el posterior tratamiento de datos ACP.

  1. ESTADÍGRAFOS

  • DATOS X
> X<-read.table("DATALOG2.txt",header=T, sep="")
> head(X)

X1= Distancia [cm] 
X2= Temperatura [ºC]
X3= Humedad [%HR]
X4= CO2 [ppm]

#   X1 X2 X3 X4
1   2  45  15  59
2   2  44  16  59
3   2  44  16  59
4   3  43  17  58
5   3  43  17  58
6   4  42  17  58
7   4  42  18  58
8   5  42  19  57
9   5  41  19  57
10  6  40  19  57
11  6  40  20  80
12  7  39  19  56
13  7  39  20  56
14  8  38  20  56
15  8  38  21  56
16  8  39  21  55
17  9  39  22  55
18  9  38  23  55
19  9  37  24  55
20 10  37  23  55
21 10  37  24  54
22 10  37  24  54
23 10  38  25  50
24 10  37  26  50
25 11  35  35  50
26 11  35  35  50
27 12  34  35  50
28 12  33  37  50
29 13  33  37  50
30 13  31  37  50
31 14  31  38  50
32 15  31  37  50
33 15  30  38  45
34 15  27  38  45
35 16  27  37  45
36 17  27  37  45
37 18  27  40  45
38 18  26  40  45
39 18  26  42  45
40 19  26  42  45
41 20  25  42  45
42 21  20  42  45
43 21  20  43  43
44 21  19  48  43
45 21  19  45  43
46 22  17  48  43
47 22  17  48  43
48 22  15  48  58
49 22  13  49  42
50 22  14  50  42
51 23  13  50  42
52 23  13  51  42
53 23  13  51  42
54 23  12  51  42
55 23  12  52  38
56 23  12  53  38
57 25  12  60  20
58 25  11  60  20
59 25  11  60  18
60 26  11  60  10
61 26  11  60  10
62 27  11  60  10
63 27  11  60  10
Como se puede ver 63 observaciones con 4 variables X1, X2, X3, X4, las mismas representan distancia, temperatura, humedad, CO2 respectivamente.
  • GRAFICO DATOS X
> matplot(X, type="l")


  • VECTOR DE MEDIAS X
> Xmed<-colMeans(X)
> head(Xmed)
                                   Distancia.cm.                         Temperatura.ºC.                    Humedad..HR.              CO2.ppm.
                                   14.51562                    28.35938                                35.87500                        46.48438

  • MATRIZ DE COVARIANZAS X
> n<-dim(X) [1]
> SX<-cov(X)*(n-1)/n
> head(SX)
                                   Distancia.cm.                         Temperatura.ºC.                    Humedad..HR.             CO2.ppm.
Distancia.cm.             59.31226                        -87.98218                           109.0332                    -84.54663
Temperatura.ºC.       -87.98218                       135.32397                         -163.6426                    125.48218
Humedad..HR.        109.03320                       -163.64258                           208.8281                  -165.75195
CO2.ppm.                -84.54663                        125.48218                         -165.7520                    181.12476

  • MATRIZ DE CORRELACIONES
> CX<-cor(X)
> head(CX)
                                   Distancia.cm.                         Temperatura.ºC.                    Humedad..HR.           CO2.ppm.
Distancia.cm.             1.0000000                  -0.9820534                             0.9796976                  -0.8157089
Temperatura.ºC.       -0.9820534                  1.0000000                            -0.9734518                    0.8015041
Humedad..HR.           0.9796976                 -0.9734518                              1.0000000                  -0.8522662
CO2.ppm.                 -0.8157089                  0.8015041                            -0.8522662                    1.0000000

  • MATRIZ DE DATOS CENTRADO Y

> Y<-scale(X,scale=F)
> head(Y)
                                   Distancia.cm.                         Temperatura.ºC.                    Humedad..HR.           CO2.ppm.
[1,]                              -12.51562                   16.64062                                -20.875                       12.51562
[2,]                              -12.51562                   16.64062                               -20.875                        12.51562
[3,]                              -12.51562                               15.64062                               -19.875                        12.51562
[4,]                              -12.51562                   15.64062                               -19.875                        12.51562
[5,]                              -11.51562                   14.64062                               -18.875                        11.51562
[6,]                              -11.51562                   14.64062                               -18.875                        11.51562

> matplot(Y, type="l")



  • VECTOR DE MEDIAS DE Y
> Ymed<-colMeans(Y)
> head(Ymed)
                                   Distancia.cm.                         Temperatura.ºC.                    Humedad..HR.                       CO2.ppm.
                                                0                                 0                                             0                                  0

  • MATRIZ DE COVARIANZAS Y

> SY<-cov(Y)*(n-1)/n
> head(SY)
                                   Distancia.cm.                         Temperatura.ºC.                    Humedad..HR.                       CO2.ppm.
Distancia.cm.                         59.31226                    -87.98218                   109.0332                                -84.54663
Temperatura.ºC.                  -87.98218                   135.32397                  -163.6426                                125.48218
Humedad..HR.                    109.03320                  -163.64258                    208.8281                               -165.75195
CO2.ppm.                            -84.54663                   125.48218                  -165.7520                                 181.12476

  • MATRIZ DE DATOS ESTANDARIZADA Z

> Z<-scale(X)
> head(Z)
                                   Distancia.cm.                         Temperatura.ºC.                    Humedad..HR.                       CO2.ppm.
[1,]                               -1.612355                  1.419262                                -1.433218                               0.9226647
[2,]                               -1.612355                  1.419262                                -1.433218                                0.9226647
[3,]                               -1.612355                  1.333973                                -1.364561                                0.9226647
[4,]                               -1.612355                  1.333973                                -1.364561                                0.9226647
[5,]                               -1.483527                  1.248684                                -1.295904                                0.8489437
[6,]                               -1.483527                  1.248684                                -1.295904                                0.8489437

> matplot(Z, type="l")



  • VECTOR DE MEDIAS Z

> Zmed<-colMeans(Z)
> head(Zmed)
  Distancia.cm. Temperatura.ºC.    Humedad..HR.        CO2.ppm.
  -9.757820e-19   -1.301043e-18    9.324139e-18   -8.673617e-19

  • MATRIZ DE COVARIANZAS Z

> SZ<-cov(Z)*(n-1)/n
> head(SZ)
                                                Distancia.cm.                    Temperatura.ºC.                         Humedad..HR.               CO2.ppm.
Distancia.cm.                         0.9843750                -0.9667088                   0.9643898                  -0.8029634
Temperatura.ºC.                    0.9667088                  0.9843750                   -0.9582416                  0.7889806
Humedad..HR.                       0.9643898                -0.9582416                   0.9843750                  -0.8389495
CO2.ppm.                              -0.8029634                0.7889806                   -0.8389495                  0.9843750

  • DIAGRAMA DE DISPERSION
> pairs(Z)

  • DIAGRAMA DE BURBUJAS

> symbols(Z[,1:2],circles = abs(Z[,3]))


  • DIAGRAMA DE ESTRELLAS

> stars(Z)


  • DIAGRAMA DE CARA DE CHERNOFF

> faces2(Z)



  • DIAGRAMA DE CURVAS DE ANDREWS

> andrews(Z, clr=3, type=2)



  1. ANÁLISIS DE COMPONENTES PRINCIPALES

> D<-eigen(S)
> str(D)

  • VECTOR DE LAMBDAS
                              
$values
[1]                    538.609926                40.998593                  3.750615                    1.229978

  • LA VARIABILIDAD TOTAL SERÁ
> sum(D$values)
[1] 584.5891
  • PROPORCION DE VARIAVILIDAD DE CADA COMPONENTE

                              
 [1]                          0.9213                   0.07                           0.006                          0.002
[1]                           92%                       7%                             0.6%                          0.2%

Entonces se puede explicar con un 92%, tomando solo una variable Y1 y el resto con 7.8% (Y1,Y2,Y3,Y4)

  • MATRIZ DE COMPONENTES
                              
$vectors
                                    [,1]                             [,2]                              [,3]                              [,4]
[1,]                   0.3226744                  -0.2298945                 0.1074679                  0.911855488
[2,]                  -0.4852248                   0.4000289                -0.6921855                   0.354136977
[3,]                   0.6146615                  -0.2890178               -0.7040205                 -0.207400783
[4,]                 -0.5316289                   -0.8388052               -0.1169831                 -0.009564784
> mod1<-princomp(covmat=S)
> str(mod1)
  • RAIZ  CUADRADA DE EIGENVALUES
                              
                        $sdev
                        Comp.1                      Comp.2                      Comp.3                      Comp.4
23.207971                  6.403014                    1.936650                    1.109044

  • CORRELACIONES
> diag(1/sqrt(diag(SX)))%*%mod1$loadings%*%diag(mod1$sdev)

                              

                        [,1]                              [,2]                              [,3]                              [,4]
[1,]                   0.9723653                  -0.1911352                 0.02702450                0.1313114040
[2,]                   -0.9680389                 0.2201854                  -0.11523552               0.0337623411
[3,]                   0.9871399                  -0.1280603                 -0.09435003               -0.0159171220
[4,]                   -0.9167625                 -0.3990770                 -0.01683393               -0.0007881972

La primera componente esta correlacionada con Xi, porque están altamente correlacionadas con las Xi con la primera componente Y1, por lo tanto se resume en una sola variable

  • COMPONENTES PRINCIPALES DE VARIABLES ESTANDARIZADAS

mod2<-princomp(covmat=R)
> str(mod2)
                                      

$sdev
                                   Comp.1                      Comp.2                      Comp.3                      Comp.4
1.9255244                  0.5041768                  0.1480415                  0.1274568

                              
 [1]                              3.7076442                  0.2541942                  0.0219162                   0.0162455

  • LA VARIABILIDAD TOTAL SERÁ
> sum(D$values)
[1]        4
  • PROPORCION DE VARIAVILIDAD DE CADA COMPONENTE

                              
 [1]                          0.9269                   0.063                         0.005                          0.004
[1]                           92%                       6%                             0.5%                          0.4%

Es por cuanto que se puede explicar con un 92%, tomando solo una variable Y1 y el resto con 6.9% (Y1,Y2,Y3,Y4)

$loadings

                                   Comp.1                      Comp.2                      Comp.3                      Comp.4
Distancia.cm.             0.511                          -0.300                                                            0.805
Temperatura.ºC.        -0.508                           0.349                        -0.666                         0.421
Humedad..HR.           0.514                           -0.151                        -0.734                       -0.417
CO2.ppm.                  -0.466                          -0.875                        -0.126      

  • CORRELACION
CorrZ<-I%*%mod2$loadings%*%diag(mod2$sdev)

                              

                                   [,1]                                [,2]                              [,3]                               [,4]
[1,]                              0.9831331                  -0.15130697               -0.005679233             0.102582774
[2,]                              -0.9780035                 0.17582638                -0.098598170             0.053596171
[3,]                              0.9897470                  -0.07588659               -0.108694821                         -0.053175254
[4,]                              -0.8972199                 -0.44116526               -0.018651450                         -0.004675298

La primera componente esta correlacionada con Zi, porque están altamente correlacionadas con las Zi con la primera componente Y1, por lo tanto se resume en una sola variable

  • CRITERIO DE VARIABILIDAD ACUMULADA

    • PORCENTAJE DE VARIABILIDAD DE CADA COMPONENTE

> cumsum(mod3$sdev^2/sum(mod3$sdev^2))*100
                                   Comp.1                      Comp.2                      Comp.3                      Comp.4
 92.13479                   99.14802                    99.78960                    100.00000

Se muestra que con la Comp1 se tiene un 92%, el cual es > al 90%, por lo tanto, puede ser aplicado para un análisis confirmatorio

  • CRITERIO DE GRAFICO
> plot(mod3)

La grafica describe claramente la importancia que tiene la componente 1 en relación a las demás.

  • CRITERIO DE LA MEDIA

> mod3$sdev^2>mean(mod3$sdev^2)
Comp.1                      Comp.2                      Comp.3                      Comp.4
                                   TRUE                          FALSE                       FALSE                        FALSE


Nos indica que solo la componente 1 bastaría como representación

> abline(h=mean(mod3$sdev^2),col="red", lwd=2)


  • CIRCULO DE CORRELACIONES



Se observa que la mayoría está altamente correlacionada con la primera componente

  • COMPONENTES PRINCIPALES CON FACTOMINER


La grafica nos representa a las variables, donde observamos el porcentaje de variabilidad de cada componente, componente uno , con un 92% y los demás con un 7%, asi también se observa que las variables están correlacionas en un porcentaje mayor con la primera componente.

La grafica nos describe las filas de las observaciones, donde la mayoría se concentran en el centroide, y también muestra datos que están lejanos al centroide, de los cuales es probable que sean datos atípicos. También podemos observar el porcentaje de variabilidad de la componente uno con un 92% y de los demás componentes en un 7%


  1. CONCLUSIONES

El objetivo del proyecto se cumplió, y se llegó a las siguientes conclusiones
  • La técnica implementada en este estudio, nos permitió reducir la matriz de datos en una nueva con una sola variable, debido a su representatividad de la componente del 92%
  • La técnica también permitió la observación de posibles valores atípicos existentes, de los cuales, el experto o expertos serán quienes tomen la decisión final de su aceptación o rechazo
  • Con el ejercicio de esta prueba, la técnica como tal, permite identificar posibles datos atípicos, y lo más importante, la reducción de variables de estudio, el cual nos permitió observar durante este proceso el potencial y la utilidad de esta técnica.

  1. REFERENCIAS
[1] Ordoñez, J. A. B., & Masera, O. (2001). Captura de carbono ante el cambio climático. Madera y bosques, 7(1), 3-12.
[2] Cuadras, C. M. (2007). Nuevos métodos de análisis multivariante. CMC Editions.





































































































































































































































































2 comentarios: