Beruflich Dokumente
Kultur Dokumente
1 / 52
Introduccin
En los tiempos modernos es usual tener gran cantidad de datos y es necesario contar con
herramientas para manejarlos.
2 / 52
Componentes principales
Es una herramienta para reducir el nmero de variables originales por nuevas variables o
componentes incorrelacionadas.
3 / 52
Introduccin
4 / 52
Introduccin
If some roots are not distinct, I can still pick corresponding eigenvectors to be
orthogonal.
5 / 52
Propiedades
1 Var (a 0i X) = a 0i a i = i .
3 Cov (a 0i X, a 0j X) = a 0i a j = a 0i j a j = j a 0i a j = 0.
6 / 52
Ejemplo
Supongamos que tenemos dos variables cuantitativas X1 y X2 como se muestra a continua-
cin. Queremos encontrar un eje sobre el cual proyectar los puntos de tal manera que las
sombras tengan la mayor variabilidad.
1
0
x2
1
2
2 1 0 1 2 3
x1
7 / 52
Ejemplo
Proyectando los puntos sobre los vectores (1, 0)T , (0, 1)T y (1/ 2, 1/ 2)T .
Var= 0.92
0.4
1
0.3
Density
0
0.2
x2
0.1
2
0.0
2 1 0 1 2 3 3 2 1 0 1 2 3 4
0.30
0.3
0.20
Density
Density
0.2
0.10
0.1
0.00
0.0
3 2 1 0 1 2 4 2 0 2 4
8 / 52
Propsito
9 / 52
Ejemplo 1
10 / 52
Ejemplo 1
40 50 60 70 80 90
peso
150 160 170 180 190
altura
12
11
muneca
10
9
40
35
biceps
30
25
40 50 60 70 80 90 100 9 10 11 12
11 / 52
Ejemplo 1
sum(diag(Sigma))
## [1] 360.5417
12 / 52
Ejemplo 1
ei <- eigen(Sigma)
ei
## $values
## [1] 325.1349702 30.8091070 4.3076215 0.2899759
##
## $vectors
## [,1] [,2] [,3] [,4]
## [1,] 0.81049522 0.47697293 0.33927752 0.022024447
## [2,] 0.52109937 -0.85221951 -0.04660443 -0.002319266
## [3,] 0.05465892 0.04305245 -0.12686657 -0.989476509
## [4,] 0.26184984 0.21063052 -0.93092624 0.142988748
sum(ei$values)
## [1] 360.5417
13 / 52
Ejemplo 1
## [1] 4
ei <- eigen(var(dt.s))
ei
## $values
## [1] 3.40781664 0.37981249 0.13515565 0.07721522
##
## $vectors
## [,1] [,2] [,3] [,4]
## [1,] -0.5229877 -0.0001370885 0.4515021 0.7229313
## [2,] -0.4613002 -0.8346529032 -0.2363538 -0.1862619
## [3,] -0.4985496 0.4607270199 -0.7282171 0.0942266
## [4,] -0.5149118 0.3018031239 0.4582385 -0.6586336
sum(ei$values)
## [1] 4
14 / 52
Ejemplo 1
## Standard deviations:
## [1] 1.8460273 0.6162893 0.3676352 0.2778763
##
## Rotation:
## PC1 PC2 PC3 PC4
## peso -0.5229877 0.0001370885 -0.4515021 0.7229313
## altura -0.4613002 0.8346529032 0.2363538 -0.1862619
## muneca -0.4985496 -0.4607270199 0.7282171 0.0942266
## biceps -0.5149118 -0.3018031239 -0.4582385 -0.6586336
15 / 52
Ejemplo 1
summary(mod)
## Importance of components:
## PC1 PC2 PC3 PC4
## Standard deviation 1.8460 0.61629 0.36764 0.2779
## Proportion of Variance 0.8519 0.09495 0.03379 0.0193
## Cumulative Proportion 0.8519 0.94691 0.98070 1.0000
16 / 52
Ejemplo 8.2
17 / 52
Ejemplo 8.2
## Importance of components:
## Comp.1 Comp.2
## Standard deviation 10.0080644 0.915776619
## Proportion of Variance 0.9916966 0.008303434
## Cumulative Proportion 0.9916966 1.000000000
##
## Loadings:
## Comp.1 Comp.2
## Var 1 -0.999
## Var 2 0.999
18 / 52
Ejemplo 8.2
## Importance of components:
## Comp.1 Comp.2
## Standard deviation 1.183216 0.7745967
## Proportion of Variance 0.700000 0.3000000
## Cumulative Proportion 0.700000 1.0000000
##
## Loadings:
## Comp.1 Comp.2
## Var 1 0.707 -0.707
## Var 2 0.707 0.707
19 / 52
Ejemplo 2 de Torsten & Hothorn (2011)
The data frets give the head lengths and head breadths (mm) for each of the first two
adult sons in 25 families. Here we shall use only the head lengths (l1 and l2).
20 / 52
Ejemplo 2 de Torsten & Hothorn (2011)
## l1 b1 l2 b2
## 1 191 155 179 145
## 2 195 149 201 152
## 3 181 148 185 149
## 4 183 153 188 149
## 5 176 144 171 142
## 6 208 157 192 152
21 / 52
Ejemplo 2 de Torsten & Hothorn (2011)
colMeans(dt)
## l1 l2
## 185.72 183.84
var(dt)
## l1 l2
## l1 95.29333 69.66167
## l2 69.66167 100.80667
22 / 52
Ejemplo 2 de Torsten & Hothorn (2011)
## Importance of components:
## Comp.1 Comp.2
## Standard deviation 12.6907660 5.2154059
## Proportion of Variance 0.8555135 0.1444865
## Cumulative Proportion 0.8555135 1.0000000
##
## Loadings:
## Comp.1 Comp.2
## l1 0.693 -0.721
## l2 0.721 0.693
23 / 52
Ejemplo 2 de Torsten & Hothorn (2011)
names(head_pca)
24 / 52
Ejemplo 2 de Torsten & Hothorn (2011)
25 / 52
Ejemplo 2 de Torsten & Hothorn (2011)
Para calcular el valor de las componentes para una persona con x1 = 191 y x2 = 179 se
hace:
26 / 52
Ejemplo 2 de Torsten & Hothorn (2011)
Suponga que se desean estimar las componentes para dos nuevas observaciones que estn
el el objeto new.dt.
Cmo predecir las componentes automticamente?
## Comp.1 Comp.2
## [1,] 0.1695614 -7.160674
## [2,] 8.2678168 8.945793
27 / 52
Ejemplo 2 de Torsten & Hothorn (2011)
180
170
160
28 / 52
Ejemplo 2 de Torsten & Hothorn (2011)
5
10
30 20 10 0 10 20
y1
29 / 52
Ejemplo 3 de Torsten & Hothorn (2011)
30 / 52
Ejemplo 3 de Torsten & Hothorn (2011)
31 / 52
Ejemplo 3 de Torsten & Hothorn (2011)
require(MVA)
head(heptathlon)
32 / 52
Ejemplo 3 de Torsten & Hothorn (2011)
Vamos a transformar los tiempos para que entre ms alto su valor mejor el desempeo.
33 / 52
Ejemplo 3 de Torsten & Hothorn (2011)
highjump
longjump
run200m
run800m
hurdles
javelin
shot
1
0.6
highjump 1 0.44 0.49 0.78 0 0.59
0.4
0.2
longjump 1 0.07 0.7
0.4
0.8
run800m 1
34 / 52
Ejemplo 3 de Torsten & Hothorn (2011)
Diagramas de dispersin.
1.50 1.65 1.80 0 1 2 3 4 36 40 44
3
hurdles
2
1
0
1.70
highjump
1.50
16
shot
13
10
0 1 2 3 4
run200m
7.0
longjump
6.0
5.0
36 40 44
javelin
40
run800m
20
0
0 1 2 3 10 12 14 16 5.0 6.0 7.0 0 10 20 30 40
35 / 52
Ejemplo 3 de Torsten & Hothorn (2011)
highjump
longjump
run200m
run800m
hurdles
javelin
shot
1
0.6
highjump 1 0.46 0.39 0.66 0.35 0.15
0.4
0.2
longjump 1 0.29 0.52
0.4
0.8
run800m 1
36 / 52
Ejemplo 3 de Torsten & Hothorn (2011)
3.5
hurdles
2.5
1.5
1.80
highjump
1.70
16
shot
13
10
0 1 2 3 4
run200m
6.5
longjump
5.5
36 40 44
javelin
40
30
run800m
20
1.5 2.5 3.5 10 12 14 16 5.5 6.0 6.5 7.0 20 25 30 35 40
37 / 52
Ejemplo 3 de Torsten & Hothorn (2011)
## Standard deviations:
## [1] 2.0793370 0.9481532 0.9109016 0.6831967 0.5461888 0.3374549 0.2620420
##
## Rotation:
## PC1 PC2 PC3 PC4 PC5
## hurdles -0.4503876 0.05772161 -0.1739345 0.04840598 -0.19889364
## highjump -0.3145115 -0.65133162 -0.2088272 -0.55694554 0.07076358
## shot -0.4024884 -0.02202088 -0.1534709 0.54826705 0.67166466
## run200m -0.4270860 0.18502783 0.1301287 0.23095946 -0.61781764
## longjump -0.4509639 -0.02492486 -0.2697589 -0.01468275 -0.12151793
## javelin -0.2423079 -0.32572229 0.8806995 0.06024757 0.07874396
## run800m -0.3029068 0.65650503 0.1930020 -0.57418128 0.31880178
## PC6 PC7
## hurdles 0.84665086 -0.06961672
## highjump -0.09007544 0.33155910
## shot -0.09886359 0.22904298
## run200m -0.33279359 0.46971934
## longjump -0.38294411 -0.74940781
## javelin 0.07193437 -0.21108138
## run800m -0.05217664 0.07718616
38 / 52
Ejemplo 3 de Torsten & Hothorn (2011)
a1 <- hep_pca$rotation[, 1]
a1
39 / 52
Ejemplo 3 de Torsten & Hothorn (2011)
The center and the scaling used by prcomp internally can be extracted from the hep_pca
via
40 / 52
Ejemplo 3 de Torsten & Hothorn (2011)
Para obtener la primera componente y1 para las deportistas:
predict(hep_pca)[, 1]
42 / 52
Ejemplo 3 de Torsten & Hothorn (2011)
Tabla de resumen
summary(hep_pca)
## Importance of components:
## PC1 PC2 PC3 PC4 PC5 PC6
## Standard deviation 2.0793 0.9482 0.9109 0.68320 0.54619 0.33745
## Proportion of Variance 0.6177 0.1284 0.1185 0.06668 0.04262 0.01627
## Cumulative Proportion 0.6177 0.7461 0.8646 0.93131 0.97392 0.99019
## PC7
## Standard deviation 0.26204
## Proportion of Variance 0.00981
## Cumulative Proportion 1.00000
43 / 52
Ejemplo 3 de Torsten & Hothorn (2011)
Cuntas componentes se deben usar?
screeplot(hep_pca, type='l', lwd=3, main='', ylim=c(0, 5))
5
4
3
Variances
2
1
0
1 2 3 4 5 6 7
44 / 52
Ejemplo 3 de Torsten & Hothorn (2011)
## [1] -0.9931168
45 / 52
Ejemplo 3 de Torsten & Hothorn (2011)
0
y1
Score
46 / 52
Ejemplo 3 de Torsten & Hothorn (2011)
Ubicacin de las atletas en el plano factorial usando plot_obspc de model.
model::plot_obspc(hep_pca, col='blue')
Hui
0.5 Dim
Fle
Sch Gre Kyt Jeo
Sab
Ger
0.0 Hag
Joy
Wij
PC2
0.5
Laj Ruo
1.0
Sch
1.5
Bra
Yup
2.0 Bro
4 2 0 2 4
PC1
47 / 52
Ejemplo 3 de Torsten & Hothorn (2011)
Variables en el plano factorial usando plot_varpc de model.
model::plot_varpc(hep_pca, col='blue')
1.0
run800m
0.5
run200m
hurdles
PC2
0.0 shot
longjump
javelin
0.5
highjump
1.0
PC1
48 / 52
Ejemplo 3 de Torsten & Hothorn (2011)
El Biplot reune los dos grficos en 1.
biplot(hep_pca)
4 2 0 2 4
0.4
4
run800m
HuiIng (TAI)
0.2
Choubenkova (URS)
John (GDR)
2
Mulliner (GB)
Bouraga (URS) Hautenauve (BEL)
Behmer (GDR)
Dimitrova
Fleming (BUL)
(AUS)
run200m Greiner
Schulz (USA)
(GDR) Kytola (FIN)JeongMi (KOR)
0
longjump
shot Hagger (GB)
PC2
JoynerKersee (USA)
Wijnsma (HOL)
javelin Ruotsalainen
Lajbnerova (CZE)(FIN)
0.2
2
highjump Scheider (SWI)
Braun (FRG)
0.4
4
Yuping (CHN)
Brown (USA)
PC1
49 / 52
Funciones bsicas para componentes principales
50 / 52
Respuestas a preguntas interesantes
51 / 52
Recursos adicionales
52 / 52