Você está na página 1de 36

07/10/2014

Anlise de Componentes Principais

Funes Ortogonais Empricas

Michelle Simes Reboita

Conceitos Iniciais

Varivel aleatria uma varivel


cujo valor um resultado numrico
associado ao resultado de
uma experincia aleatria.

De acordo com PESTANA e


VELOSA (2010, pg. 326), Em geral,
o que contamos ou medimos resulta
de uma experincia aleatria, em
que o acaso intervm, pelo menos
na fase de escolha da amostra,
varia com o resultado da
experincia. por isso natural dizer
que uma varivel aleatria.

PESTANA, D., VELOSA, S. (2010) Introduo


Probabilidade e Estatstica, Volume I, 4
edio, Fundao Calouste Gulbenkian.

1
07/10/2014

Conceitos Iniciais

Estatstica Multivariada consiste


num conjunto de mtodos
estatsticos utilizados em situaes
nas quais vrias variveis so
medidas simultneamente, em cada
elemento amostral. Em geral, as
variveis so correlacionadas entre
si e quanto maior o nmero de
variveis, mais complexa torna-se a
anlise por mtodos comuns de
estatstica univariada.

MINGOTI, S. A. (2005) Anlise de Dados


Atravs de Mtodos de Estatstica Multivariada
Uma Abordagem Aplicada. Ed. UFMG.

Anlise de Componentes Principais (ACP)

O que e para que serve?

Porque a ACP tambm chamada de


Funo Ortogonal Emprica?

Como calculamos a ACP?


ACP?
PCA?
EOF?
PCA?
EOF?

2
07/10/2014

Anlise de Componentes Principais (ACP)

O que e para que serve?

A ACP uma tcnica estatstica multivariada que


transforma linearmente um conjunto de p variveis
num conjunto com um nmero menor de variveis
ACP?
PCA? (k), que explica uma grande parcela das informaes
EOF?
PCA? (variabilidade) do conjunto inicial.
EOF?

Anlise de Componentes Principais (ACP)

Porque a ACP tambm chamada de


Funo Ortogonal Emprica?

A ACP (ou PCA em ingls) foi introduzida por


Karl Pearson em 1901.
ACP? A tcnica tornou-se popular para a anlise de
PCA? dados atmosfricos com o paper de Lorenz
EOF?
PCA?
(1956), o qual chamou a tcnica de Funes
EOF?
Ortogonais Empricas (EOF em ingls).
Ambas nomenclaturas so comumente
usadas e referem-se ao mesmo conjunto de
procedimentos.

3
07/10/2014

Anlise de Componentes Principais (ACP)

Como calculamos a ACP?

O clculo da ACP envolve lgebra


linear (matriz de covarincia,
autovalores e autovetores)
ACP?
PCA?
EOF? det (A- I) =0 (autovalor)
PCA?
EOF? (A- I)K =0 (autovetor)

Sendo:
A a matriz de covarincia
I a matriz identidade
os autovalores
K os autovetores

Anlise de Componentes Principais (ACP)

Nosso estudo ser dividido em 3 partes:

1) aprender passo-a-passo os clculos


envolvidos na ACP;
ACP?
PCA? 2) aplicar a ACP a um exemplo de variveis
EOF?
PCA? distintas e
EOF?
3) usar um raciocnio similar para aplicao
da ACP num campo espacial, ou seja,
onde temos uma varivel em pontos de
grade e observaes no tempo.

4
07/10/2014

Anlise de Componentes Principais (ACP)


Parte I: clculos envolvidos na ACP

Para essa parte vamos resolver passo-a-passo o exemplo


disponvel no site do GEM
http://www.icess.ucsb.edu/gem/eof.htm

Tabela 1: temperatura 1. Calcular a matriz de covarincia


mnima (oC) para dois
postos vizinhos A matriz de covarincia construda
X1 X2
calculando a covarincia entre pares de
Dias Posto-1 Posto-2 variveis. No caso como h duas variveis
1 10 10.7 a matriz assume a forma:
2 10.4 9.8
3 9.7 10 s s
4 9.7 10.1 S = 11 12
5 11.7 11.5 s21 s22
6 11 10.8
7 8.7 8.8 n xi ,k x j ,k xi ,k x
sij =
j ,k
8 9.5 9.3
[n(n 1)]
9 10.1 9.4
10 9.6 9.6
k=1 at n
i uma varivel
11 10.5 10.4
j outra varivel
12 9.2 9
Na matriz de covarincia obtemos
13 11.3 11.6
valores repetidos, pois S12 = S21
14 10.1 9.8
15 8.5 9.2
Mdia 10 10 Para resolver S11, S12 e S22
organizamos os dados como:
n = 15

5
07/10/2014

Tabela 1: temperatura Calculando S11


mnima (oC) para dois Isso significa que i e j na expresso sero a mesma
postos vizinhos varivel.
X1 X2
Dias Posto-1 Posto-2
1 10 10.7
X1,1:15 X1,1:15 X1 X1 n xi ,k x j , k xi , k x
sij = j ,k
2
3
10.4
9.7
9.8
10
10 10 100 [n(n 1)]
10.4 10.4 108.16
4 9.7 10.1
9.7 9.7 94.09 k=1 at n
5 11.7 11.5
9.7 9.7 94.09 i uma varivel
6 11 10.8 j outra varivel
11.7 11.7 136.89
7 8.7 8.8
11 11 121
8 9.5 9.3
8.7 8.7 75.69
9 10.1 9.4 Substitumos os valores da
9.5 9.5 90.25 tabela esquerda na
10 9.6 9.6
10.1 10.1 102.01 expresso acima:
11 10.5 10.4
9.6 9.6 92.16
12 9.2 9
10.5 10.5 110.25
15(1511.2) (150.150)
13 11.3 11.6 s11 = = 0.7986
9.2 9.2 84.64 [15(15 1)]
14 10.1 9.8
11.3 11.3 127.69
15 8.5 9.2
10.1 10.1 102.01
Mdia 10 10
8.5 8.5 72.25

n = 15 =150 =150 =1511.2

Tabela 1: temperatura
mnima (oC) para dois
postos vizinhos Matriz de covarincia

s11 s12
Dias Posto-1 Posto-2 S=
1 10 10.7
s21 s22
2 10.4 9.8
3 9.7 10 s12 e s21 so iguais
4 9.7 10.1
5 11.7 11.5
6 11 10.8
7 8.7 8.8

0,7986 0,6793
8 9.5 9.3
9 10.1 9.4
S=
0,6793 0,7343
10 9.6 9.6
11 10.5 10.4
12 9.2 9
13 11.3 11.6
14 10.1 9.8
15 8.5 9.2

n = 15

6
07/10/2014

2. Calcular os autovalores (razes caractersticas, ou ainda, razes latentes)

Os autovalores podem ser obtidos resolvendo-se um determinante (tambm chamado


de equao caracterstica):
onde
S a matriz de covarincia,
S I = 0 I a matriz identidade e
os autovalores que sero determinados.
Como estamos trabalhando com duas
variveis, teremos 2 autovalores (1, 2).
Sendo:

0,7986 0,6793 1 0 0
S = I= I =
0,6793 0,7343 0 1 0
Subtraindo S de I, tem-se:

0,7986 0,6793
S 2 x 2 I 2 x 2 =
0,6793 0,7343 Com a resoluo do
polinmio,
Resolvendo o determinante e igualando a zero, tem-se:
os valores de que
(0,7986- )(0,7343- )-(0,6793)(0,6793) = 0 satisfazem a equao so:
1=1,4465 e 2=0,0864
0.124963 1.5329 + 2 = 0

3. Calcular os autovetores (ou vetores caractersticos)

Para cada autovalor existe um autovetor associado. Esses vetores so obtidos:

[S I ]vij = 0
Essa expresso pode ser reescrita como:

= um vetor coluna
que ter o nmero
de linhas igual ao
de autovalores
Matriz de covarincia autovalores

Vamos resolver a equao acima para cada valor de .

7
07/10/2014

=
Para 1=1,4465

1
0,7986 0,6793
0,9538
Mas ainda no o autovetor
0,6793 0,7343 = 1,4465 de 1=1,4465.

Resolvendo o sistema atravs de


O autovetor obtido dividindo as
multiplicao de matrizes:
componentes do vetor pelo seu
0,7986 + 0,6793 = 1,4465 comprimento (tambm chamado de
0,6793 + 0,7343 = 1,4465 norma ou intensidade).

0,6793 = 0,6479 = 0,95378 A norma de um vetor dada por:


0, 7122 = 0,6793 = 0,95381
= +
= 0,9538
Assim, o nosso autovetor de 1 :
Considerando o vetor:
1 1
0,9538 0,9538 0,7236
=
e fazendo
1 = = 0,6902

0,9538
=1, logo
1 + 0,9538 1,90973
= 0,9538 autovetor

Em resumo: Tirando a Prova .

Autovalores: Para saber se os clculos realizados


esto corretos podemos fazer o
1=1,4465 2=0,0864 seguinte:

Autovetores:
V 'S V =
0,7236 0,6902
v1 = v2 =
0,6902 0,7236 Isto , se determinarmos a matriz
transposta dos autovetores (V),
multiplicarmos pela matriz de
Os autovetores originam a matriz: covarincia (S) e pela matriz dos auto-
vetores (V) o resultado obtido uma
matriz diagonal com os autovalores ().
0,7236 0,6902
[
V = v1 v2 = ] 0,7236
0,6902 OBS: V deve ser uma matriz
ortonormal, isto , a matriz transposta
de V coincide com a inversa de V.
Os autovetores vo originar as
componentes principais.
O nmero de autovetores igual ao 1,4465 0
nmero de variveis utilizadas (no caso, 0 0,0864
o nmero de postos).

8
07/10/2014

Como os autovetores so ortogonais entre si (fazem ngulo de 90 entre si), da o


nome funes ortogonais empricas.

y
0,7236 0,6902
v1 = v2 = 0.8
0,6902 0,7236
0.6

0.4

0.2

0
x
-0.2

-0.4

-0.6

-0.8

-0.5 0 0.5

Varincia Explicada pelas Componentes Principais

A varincia explicada por cada componente principal determinada dividindo-se


cada autovalor pela soma deles.

! "#
= =
$%& '

No nosso exemplo:

1 + 2 = 100% Fazendo-se o mesmo para a


1,4465 + 0,0864 = 1,5329 segunda componente, a
varincia explicada 5,64%
Primeira componente

1,5329 100% Isto , a primeira componente explica


1,4465 x 94,36% da varincia dos dados,
x = 94,36% enquanto a segunda, apenas 5,64%.

9
07/10/2014

Z-scores (na Meteorologia chamamos ndices)


Escores
As Componentes Principais
0,7236 0,6902
X1 X2 Z1 Z2
[ ]
V = v1 v2 =
0,7236
Dias Posto-1 Posto-2
0,6902 1 10 10.7 14.621 14.645
2 10.4 9.8 14.29 14.27
formam combinaes lineares para
3 9.7 10 13.921 13.931
nos cederem informaes sintetizadas
(vamos entender isso melhor nos 4 9.7 10.1 13.99 14.003
prximos exemplos) 5 11.7 11.5 16.404 16.397

z1 = 0,7236(xi ,k ) + 0,6902(x j ,k )
6 11 10.8 15.414 15.407
7 8.7 8.8 12.369 12.373
8 9.5 9.3 13.293 13.287

z 2 = 0,6902(xi ,k ) + 0,7236(x j ,k ) 9 10.1 9.4 13.796 13.773


10 9.6 9.6 13.573 13.573
11 10.5 10.4 14.776 14.773
Com base na tabela ao lado teramos:
12 9.2 9 12.869 12.862
13 11.3 11.6 16.183 16.193
z1,1 = [0,7236(10) + 0,6902(10,7 )] = 14,621 14 10.1 9.8 14.073 14.062
15 8.5 9.2 12.501 12.524
z1, 2 = [0,7236(10,4) + 0,6902(9,8)] = 14,29
Mdia 10 10

Tabela 1: temperatura
Praticando no Matlab mnima (oC) para dois
postos vizinhos

X1 X2
Agora que j sabemos os clculos envolvidos na Posto-1 Posto-2
anlise de componentes principais, vamos refazer 10 10.7
10.4 9.8
o exemplo usando as funes do Matlab.
9.7 10
9.7 10.1
%crie a matriz de dados mostrada ao lado 11.7 11.5
mat =[ digite os valores aqui ]; 11 10.8
8.7 8.8
%matriz de covarincia
9.5 9.3
S=cov(mat)
10.1 9.4

%Lamb = autovalores e E = autovetores 9.6 9.6


[E,lamb]=eigs(S,min(size(S))); 10.5 10.4
9.2 9
%para o sinal de E ser similar ao do exemplo 11.3 11.6
E=E*-1; 10.1 9.8
8.5 9.2

10
07/10/2014

%Calculando a variabilidade explicada por cada CP


V=diag(lamb);
s=sum(V);
var_exp=(V/s)*100

%Escores
z1=(E(1,1)*mat(:,1))+(E(2,1)*mat(:,2))
z2=(E(2,1)*mat(:,1))+(E(2,2)*mat(:,2))

Anlise de Componentes Principais (ACP)


Parte II: aplicao da ACP e interpretao dos resultados

Para essa parte vamos utilizar


exemplos do livro de Mingoti (2005)

11
07/10/2014

Exemplo 1 Dados relativos s empresas.


X1 X2 X3
A tabela mostra dados relativos Empresa Ganho Ganho Patrimnio
a 12 empresas no que se Bruto Lquido
E1 9893 564 17689
refere a 3 variveis (medidas
E2 8776 389 17359
em unidades monetrias):
E3 13572 1103 18597
ganho bruto (X1), ganho
E4 6455 743 8745
lquido (X2) e patrimnio E5 5129 203 14397
acumulado (X3), num E6 5432 215 3467
determinado perodo. Faa a E7 3807 385 4679
ACP desse exemplo e explique E8 3423 187 6754
os resultados. ACP servir E9 3708 127 2275

para detectarmos qual E10 3294 297 6754


E11 5433 432 5589
empresa mais e qual
E12 6287 451 8972
menos lucrativa atravs da
relao das 3 variveis dadas.

1. Digite a matriz no Matlab e a chame da mat;

2. Calcule a matriz de covarincia.

>> S=cov(mat)

S=
9.5506e+06 7.0612e+05 1.4978e+07
7.0612e+05 76270 9.3392e+05
1.4978e+07 9.3392e+05 3.4408e+07

>> round(S) %para ver melhor o formato dos resultados


ans =
9550609 706121 14978233
706121 76270 933915
14978233 933915 34408113

12
07/10/2014

3. Calcular os autovalores e autovetores

>> [E,lamb]=eigs(S,min(size(S)));
>> lamb

lamb =
4.1474e+07 0 0
0 2.5395e+06 0
0 0 21093

>> round(lamb)
ans =

41474391 0 0
0 2539507 0
0 0 21093

>> E
E=

0.4251 0.89971 0.099096


0.027661 0.096517 -0.99495
0.90472 -0.42569 -0.016142

Uma vez que temos os autovetores


E1 E2 E3
0.4251 0.89971 0.099096
0.027661 0.096517 -0.99495
0.90472 -0.42569 -0.016142

Nossas trs componentes principais do problema so:

Y1= 0,4251(ganho bruto) + 0.027661(ganho lquido) + 0.90472 (patrimnio)

Y2= 0.89971(ganho bruto) + 0.096517(ganho lquido) -0.42569 (patrimnio)

Y3= 0.099096 (ganho bruto) -0.99495 (ganho lquido) -0.016142 (patrimnio)

13
07/10/2014

4. Variabilidade explicada por cada componente principal

V=diag(lamb);
s=sum(V);
var_exp=(V/s)*100

var_exp =

94.185
5.767
0.047899

Interpretao das Componentes Principais

Y1= 0,4251(ganho bruto) + 0.027661(ganho lquido) + 0.90472 (patrimnio)

Y2= 0.89971(ganho bruto) + 0.096517(ganho lquido) -0.42569 (patrimnio)

Y3= 0.099096 (ganho bruto) -0.99495 (ganho lquido) -0.016142 (patrimnio)

1 Componente: um ndice de desempenho global da empresa. O coeficiente de


maior grandeza numrica desta componente relativo ao patrimnio e o de menor
o ganho lquido. Quanto maior o valor de ganho bruto, ganho lquido e
patrimnio, maior ser o valor numrico da empresa.

2 Componente: uma comparao entre as variveis ganho bruto e patrimnio,


pois elas so as que apresentam maior valor (em mdulo) e sinais opostos.

3 Componente: mostra que a varivel patrimnio, por seu menor valor (em
mdulo), no tem importncia na prtica

14
07/10/2014

Lembrando que o objetivo da ACP reduzir o nmero de variveis e ter uma


expresso que as combine, logo a parte financeira das empresas pode ser
analisada atravs da 1 CP (que explica 94% da variabilidade dos dados).

Com a 1 CP podemos calcular os escores.

Y1= 0,4251(ganho bruto) + 0.027661(ganho lquido) + 0.90472 (patrimnio)

z1=(E(1,1)*mat(:,1))+(E(2,1)*mat(:,2))+(E(3,1)*mat(:,3))
z1 =

20225
19447
22625
10676
15211
5451.8
5862.2
7570.8
3638
7519
7378
10802

Empresa Escores 1 CP
Pelos valores calculados, pode-se
E1 20225
perceber que as 3 empresas com
melhores desempenhos so: E3, E2 19447
E1 e E2. E3 22625

A empresa E9 a com pior E4 10676


desempenho econmico. E5 15211
E6 5451.8
E7 5862.2
E8 7570.8
E9 3638
E10 7519
E11 7378
E12 10802

15
07/10/2014

Exemplo 2

Oito marcas de coxinha de galinha foram avaliadas por 5 julgadores em relao a


4 atributos: sabor (X1), aroma (X2), qualidade da massa (X3) e qualidade do
recheio (X4). Cada julgador atribuiu sua nota numa escala de 1 a 5, sendo que
notas maiores esto sendo relacionadas com melhor qualidade da coxinha.

X1 X2 X3 X4
Os dados observados Marca Sabor Aroma Massa Recheio
esto na tabela ao lado, M1 2.75 4.03 2.8 2.62
sendo que os valores M2 3.9 4.12 3.4 3.52
M3 3.12 3.97 3.62 3.05
de entrada na tabela
M4 4.58 4.86 4.34 4.82
para cada marca e cada
M5 3.97 4.34 4.28 4.98
atributo referem-se
M6 3.01 3.98 2.9 2.82
mdia das notas dos 5
M7 4.19 4.65 4.42 4.77
juzes. M8 3.82 4.12 3.62 3.71
Mdia 3.67 4.26 3.68 3.79
Desvio- 0.638 0.332 0.651 0.954
Padro

1. Digite a matriz no Matlab e a chame da mat;

2. Calcule a matriz de covarincia.

>> S=cov(mat)

S=

0.40691 0.18221 0.35736 0.55048


0.18221 0.11044 0.17964 0.27138
0.35736 0.17964 0.4242 0.58974
0.55048 0.27138 0.58974 0.91057

16
07/10/2014

3. Calcular os autovalores e autovetores

>> [E,lamb]=eigs(S,min(size(S)));
>> lamb

lamb =

1.7368 0 0 0
0 0.064885 0 0
0 0 0.027914 0
0 0 0 0.022476

>> E

E=

0.45577 -0.81609 -0.11215 0.33718


0.22347 -0.21494 -0.26914 -0.91182
0.47701 0.45642 -0.71779 0.22118
0.71749 0.28191 0.63227 -0.07724

Uma vez que temos os autovetores


E1 E2 E3 E4
0.45577 -0.81609 -0.11215 0.33718
0.22347 -0.21494 -0.26914 -0.91182
0.47701 0.45642 -0.71779 0.22118
0.71749 0.28191 0.63227 -0.07724

Nossas trs componentes principais do problema so:

Y1= 0.45577 (sabor) + 0.22347 (aroma) + 0.47701 (massa) + 0.71749 (recheio)

Y2= -0.81609 (sabor) -0.21494(aroma) + 0.45642 (massa) + 0.28191 (recheio)

Y3= -0.11215 (sabor) -0.26914(aroma) -0.71779 (massa) + 0.63227 (recheio)

Y4= 0.33718 (sabor) -0.91182 (aroma) + 0.22118 (massa) -0.07724 (recheio)

17
07/10/2014

4. Variabilidade explicada por cada componente principal

V=diag(lamb);
s=sum(V);
var_exp=(V/s)*100

var_exp =

93.776
3.5033
1.5071
1.2135

Juntas, as duas primeiras componentes principais representam 97,3% da


varincia total dos dados originais.

Interpretao das Componentes Principais

Y1= 0.45577 (sabor) + 0.22347 (aroma) + 0.47701 (massa) + 0.71749 (recheio)

Y2= -0.81609 (sabor) -0.21494(aroma) + 0.45642 (massa) + 0.28191 (recheio)

Y3= -0.11215 (sabor) -0.26914(aroma) -0.71779 (massa) + 0.63227 (recheio)

Y4= 0.33718 (sabor) -0.91182 (aroma) + 0.22118 (massa) -0.07724 (recheio)

1 Componente: um ndice global da qualidade da coxinha de acordo com o


ponto de vista dos 5 julgadores. Quanto maior o valor numrico dessa
componente, melhor a qualidade da coxinha. Todas as quatro variveis so
importantes nesse ndice, mas a qualidade do recheio se destaca.

2 Componente: uma comparao entre o ndice de qualidade referente ao


sabor e aroma (indicados com valores negativos) e massa e recheio (indicados
com valores positivos). Quando essa componente assume valores altos positivos,
significa que a qualidade da massa e do recheio supera a qualidade do sabor e
aroma e vice-versa para valores negativos da componente. Quando essa
componente apresenta valores prximos de zero, a indicao que a qualidade do
sabor e aroma semelhante a qualidade da massa e do recheio.

18
07/10/2014

Interpretao das Componentes Principais

Y1= 0.45577 (sabor) + 0.22347 (aroma) + 0.47701 (massa) + 0.71749 (recheio)

Y2= -0.81609 (sabor) -0.21494(aroma) + 0.45642 (massa) + 0.28191 (recheio)

Y3= -0.11215 (sabor) -0.26914(aroma) -0.71779 (massa) + 0.63227 (recheio)

Y4= 0.33718 (sabor) -0.91182 (aroma) + 0.22118 (massa) -0.07724 (recheio)

3 Componente: uma comparao entre recheio e um ndice de qualidade do


sabor, aroma e massa.

4 Componente: uma comparao entre um ndice de qualidade composto de


saber e massa, com um ndice composto de aroma e recheio.

Lembrando que o objetivo da ACP reduzir o nmero de variveis e ter uma


expresso que as combine, logo a parte financeira das empresas pode ser
analisada atravs da 1 CP (que explica 94% da variabilidade dos dados).

Com a 1 CP podemos calcular os escores.

Y1= 0,4251(ganho bruto) + 0.027661(ganho lquido) + 0.90472 (patrimnio)

>> z1=(E(1,1)*mat(:,1))+(E(2,1)*mat(:,2))+(E(3,1)*mat(:,3))+(E(4,1)*mat(:,4))

z1 =

5.3694
6.8456
6.2243
8.702
8.394
5.6679
8.5273
7.0504

19
07/10/2014

Marca Escores Posio


Pelos valores calculados, pode-se 1 CP
perceber que a Marca M4 possui M1 5.3694 8
coxinha de melhor qualidade M2 6.8456 5
enquanto a Marca M1 a de
qualidade. M3 6.2243 6
M4 8.702 1
M5 8.394 3
M6 5.6679 7
M7 8.5273 2
M8 7.0504 4

Observao:

Os exemplos apresentados calcularam as CP com base na matriz de

covarincia, entretanto, tambm possvel obter as CPs atravs da

matriz de correlao. Ver Mingoti (2005) para maiores detalhes.

20
07/10/2014

Outra Metodologia para a Obteno das CP

Mtodo da Decomposio do Valor Singular


Singular Value Decomposition (SVD)

A SVD baseada no teorema da lgebra linear que diz que uma matriz
retangular A pode ser quebrada (decomposta) no produto de 3 matrizes: uma
matriz ortogonal U, uma matriz diagonal S e na transposta de uma matriz
ortogonal V:

Amn = U mm S mnVnnT

Matriz ortonormal:

O produto da matriz U por sua transposta tem que ser igual a matriz identidade
U * U = I

Obtendo os Autovalores Autovalores


=12, =10 e =0
No mtodo das CP apresentado
anteriormente, os autovalores eram
obtidos com base na matriz de Chama-se de valor singular:
covarincia. Aqui eles sero obtidos
com base na matriz proveniente da
operao: s=
Portanto, se em algum estudo lhe for
fornecido o valor singular, elevem o
mesmo ao quadrado para obterem o
autovalor.

Detalhes da SVD em Barker (2005): SVD Tutorial

No Matlab existe a funo

[U,S,V]=svd(A,0)

Se o objetivo for saber os autovalores


Uma vez obtida ATA, o mtodo para elevem os valores de S ao quadrado.
obteno dos autovalores igual ao OBS: se aplicarmos o mtodo apresentado
apresentado anteriormente. anteriormente e o da SVD a um mesmo conjunto de
dados, os autovalores so diferentes em ambos.

21
07/10/2014

Obtendo os Autovetores OBSERVAES:

Procedimento bastante similar com o


apresentado anteriormente. Entretanto, Autovalores calculados com SVD so
no vamos explor-lo aqui. diferentes do mtodo da matriz de
covarincia.
Autovetores do exemplo
Fiz alguns testes comparando os
resultados de ambos os mtodos, em
alguns casos os autovetores obtidos
so iguais, mas em outros diferentes.

Os passos seguintes so similares


aos apresentados anteriormente.

Exemplo no Matlab
OBS: svd e svds so funes similares, mas svds uma forma reduzida

A= A=
3 1 1 3 1 1
-1 3 1 -1 3 1
>> [U,S,V]=svd(A) >> [U,S,V]=svds(A)
U= U=
-0.70711 -0.70711 -0.70711 0.70711
-0.70711 0.70711 -0.70711 -0.70711
S= S=
3.4641 0 0 3.4641 0
0 3.1623 0 0 3.1623
V= V=
-0.40825 -0.89443 -0.18257 -0.40825 0.89443
-0.8165 0.44721 -0.36515 -0.8165 -0.44721
-0.40825 5.2736e-016 0.91287 -0.40825 -3.1402e-016

22
07/10/2014

Autovalores
lamb=diag(S).^2

lamb =

12
10

Define os autovetores
E=V

E=

-0.40825 -0.89443 -0.18257


-0.8165 0.44721 -0.36515
-0.40825 5.2736e-16 0.91287

Definio do Nmero
de Componentes Principais
a ser Utilizado nos Estudos

23
07/10/2014

Tabela 1: temperatura
mnima (oC) para dois Nos exemplos apresentados, o nmero de CP foi
postos vizinhos sempre igual ao nmero de variveis. Mas o
objetivo da PCA no reduzir o nmero de
Dias Posto-1 Posto-2 variveis?
1 10 10.7
2 10.4 9.8
3 9.7 10
Reduzir um conjunto de dados contendo um
4 9.7 10.1
grande nmero de variveis para um
5 11.7 11.5
conjunto contendo um nmero bem menor de
6 11 10.8
novas variveis. Estas, por sua vez, devem
7 8.7 8.8
representar uma grande frao da
8 9.5 9.3
variabilidade contida nos dados originais.
9 10.1 9.4
10 9.6 9.6
11 10.5 10.4
12 9.2 9
Como fazer isso?
13 11.3 11.6
14 10.1 9.8 Atravs do critrio das razes latentes
15 8.5 9.2 (autovalores) ou do teste Scree.
CP1 = 0,7236( Posto1) + 0,6902( Posto 2)
CP 2 = 0,6902( Posto1) + 0,7236( Posto 2)

Critrio das razes latentes Teste Scree: consiste na representao


(autovalores): so extradas as grfica dos autovalores na ordem de
componentes cujos autovalores extrao de seus autovetores
so maiores do que um. associados. A forma da curva resultante
usada para avaliar o ponto de corte.

Nesse caso, s se desprezaria uma CP.


Se considerarmos as 3 primeiras CP O grfico abaixo ilustra melhor a
explicamos 85,2% da varincia. interpretao do teste Scree, pois
devemos desprezar as CPs que ficam
em linha reta.
importante ressaltar que o nmero
de componentes extradas pode
variar, dependendo do critrio de
extrao empregado.

Aqui se manteria apenas as 2 primeiras CPs.

24
07/10/2014

No exemplo da qualidade da coxinha de galinha:

CP Autovalor Explicao (%)


1 1.7368 93.776
2 0.064885 3.5033
3 0.027914 1.5071
4 0.022476 1.2135

Pelo teste das razes latentes s consideraramos para o estudo a primeira


CP, pois s nessa que o autovalor apresenta valor superior a 1. Essa CP
seria suficiente, pois explica mais de 93% da varincia dos dados.

Observaes Importantes para Dados Meteorolgicos

Padronizao dos Dados

Quando existe uma discrepncia muito acentuada entre as varincias das


variveis originais (causada pela diferena das unidades de medidas das
mesmas), cada componente passa a ser muito dominada por uma varivel em
particular, tornando as CPs sem muita utilidade prtica.

Deste modo, para obter combinaes lineares com coeficientes de ponderao


mais equilibrados necessria uma transformao nos dados, para equilibrar
mais as varincias.

Uma das transformaes mais comuns aquela em que cada varivel


padronizada pela sua mdia e desvio-padro, sendo a tcnica de CPs aplicada
matriz de covarincia das variveis padronizadas

xx
Pad =

onde x o dado original, ) a mdia e o desvio-padro da srie de dados.

25
07/10/2014

Tendncia e Ciclo Sazonal

Antes da ACP tambm recomendvel a remoo de:

Tendncia linear e

do ciclo sazonal das sries temporais.

Resumo de como calcular as CP

1. Padronizar os dados, como muitas vezes, as variveis possuem


unidades diferentes, devemos padroniz-las

xx
Pad =

2. Remover a tendncia linear dos dados e tambm o ciclo sazonal
3. Gerar a matriz de covarincia (ou correlao)
4. Obter os autovalores e autovetores (autovetores originam as CPs)
5. Obter a quantidade de varincia explicada por cada autovalor
6. Definir o nmero de CPs utilizadas no estudo
7. Calcular os z-escores das CPs de interesse.

26
07/10/2014

Anlise de Componentes Principais (ACP)


Parte III: aplicao da ACP em campos espaciais

Aqui vamos fazer uma anlise para uma nica varivel


atmosfrica distribuda em pontos de grade regular e
com observaes ao longo do tempo.
Nesse tipo de anlise comum o emprego do nome
Funo Ortogonal Emprica.

Funo Ortogonal Emprica sigla EOF em ingls

Permite encontrar padres espaciais de variabilidade (como a


varivel se comporta no tempo) de uma dada varivel, e
fornece uma medida da importncia de cada padro.

27
07/10/2014

Valor positivo
Mo (2000)
Valor negativo
Calculou a EOF para dados de
Modo Anular Sul altura geopotencial em 500 hPa.
Obteve 3 padres de
variabilidade, ou seja, trs
comportamentos frequentes
da altura geopotencial.

PSA1 - Pacific South America Pattern

The first 3 EOFs (Figs. 1ac) are


PSA2 the same for all seasons together
or for theSH winter (JuneAugust).
They explain 20%, 13%, and 11%
of the total variance respectively.

O Climate Prediction Center tambm calcula a EOF para dados de


altura geopotencial, mas utiliza a altura de 700 hPa

Essa a primeira
componente principal, ou
tambm chamada de
primeira EOF.

Valores em azul indicam


anomalias negativas de
altura geopotencial
enquanto valores positivos
indicam anomalias
positivas isso um
padro de variabilidade da
atmosfera, j que em
outros perodos a
atmosfera mostra padro
contrrio.

28
07/10/2014

EOF computada com a Temperatura da Superfcie do Mar

EOF1 ENOS EOF2 El Nio Modoki

P N P
N

Ashok et al. (2007)

Com o auxlio do Matlab vamos calcular a EOF para:

- dados de TSM

-dados de altura geopotencial em 700 hPa.

Nesses exemplos, como h maior nmero de dados recomendado o uso da


SVD (vamos us-la).

Inicialmente temos que organizar a matriz de dados no formato mostrado.

29
07/10/2014

Funo Ortogonal Emprica sigla EOF em ingls

Vamos transformar nossa matriz tri-dimensional var(lon,lat,tempo), numa matriz bi-


dimensional (tempo, posio)

Tempo 1 Tempo 2 Tempo 3


As bolinhas
representam
lat

lat

lat
os pontos de
observaes
lon lon lon

Pontos de Grade
Tempo
Portanto, a nova matriz :

Num dos exemplos anteriores, as linhas da matriz eram as empresa e as colunas


informaes referentes a elas. Agora, temos nas linhas o tempo e o que ocorre em cada
tempo est nas colunas (as colunas so nossas varivei s x1, x2 ...xn). Com base nessas
variveis vamos descobrir padres que mais se repetem no tempo.

Exemplo 1

Usar a EOF no campo de SST mensal (dado OISST V2) entre dezembro de 1981
a agosto de 2014.

Parte 1 Vamos fazer a anlise removendo o ciclo sazonal e comparar os


resultados com o de Ashok et al. (2007).
Aqui vamos executar o script eof_sst_mes_1.m

Parte 1 Vamos refazer a anlise, mas sem remover o ciclo sazonal para ver o
que acontece com as componentes principais.
Usar o script eof_sst_mes_2.m
Variveis importantes que
saem no programa:

V1 = autovalores
EOFs1 = autovetores
EC1 = coeficientes temporais

30
07/10/2014

Parte 1 EOF calculada com dados sem ciclo sazonal

Var explicada = 59% Figuras obtidas com os autovetores


EOF1
0.005

20 oN 0

-0.005

10 oN
-0.01

-0.015
0o
-0.02

10 oS -0.025

-0.03
20 oS
-0.035

150oE 165 oE 180 oW 165 oW 150 oW 135oW 120 oW 105oW 90oW 75 oW

Var explicada = 17%


EOF2
0.02

o
20 N 0.01

10 oN 0

-0.01
o
0
-0.02

10 oS
-0.03

20 oS -0.04

150 oE 165oE 180 oW 165 oW 150oW 135 oW 120 oW 105oW 90oW 75oW

A diferena nas nossas EOFs que no fomos tanto a oeste quanto Ashok et al. (2007)

Que informao foi plotada para gerar os campos espaciais?

Vamos relembrar a primeira componente principal do exemplo da coxinha de galinha:

Y1= 0.45577 (sabor) + 0.22347 (aroma) + 0.47701 (massa) + 0.71749 (recheio)

Para o caso da SST, as variveis sabor, aroma etc., passam a ser os pontos de
grade.

A primeira componente principal ter o nmero de elementos no seu autovetor (E1)


que igual ao nmero de pontos de grade.

A segunda componente principal ter o nmero de elementos no seu autovetor (E2)


que igual ao nmero de pontos de grade.

O grfico espacial obtido apenas com o plote dos elementos contidos no autovetor.

31
07/10/2014

Parte 2 Var explicada = 99,78%


EOF1
-0.0075

Se formos computar a EOF o


20 N
-0.008

-0.0085

sem remover o ciclo anual o


10 N
-0.009

-0.0095

dos dados, o padro 0


o -0.01

-0.0105

associado ao ENOS s o
10 S
-0.011

-0.0115

aparece na terceira EOF e o


20 S
-0.012

com uma varincia muito o


150 E
o
165 E
o
180 W
o
165 W
o
150 W 135 W
o o
120 W
o
105 W
o
90 W
o
75 W
-0.0125

pequena (0,03%). EOF2 Var explicada = 0,17%


o 0.025
20 N
0.02

0.015
o
10 N 0.01

0.005
o
0 0

-0.005
o
10 S -0.01

Essa a mdia anual da TSM. -0.015

o -0.02
20 S
-0.025

o o o o o o o o o o
150 E 165 E 180 W 165 W 150 W 135 W 120 W 105 W 90 W 75 W

EOF3
Var explicada = 0,03%
0.03

o
20 N 0.02

o
10 N 0.01

o 0
0

-0.01
o
10 S
-0.02
o
20 S
-0.03

o o o o o o o o o o
150 E 165 E 180 W 165 W 150 W 135 W 120 W 105 W 90 W 75 W

Exemplo 2

Usar a EOF no campo de altura geopotencial mensal da R2 do NCEP no nvel de


700 hPa entre janeiro de 1979 a junho de 2014.

Vamos seguir a metodologia do NCEP:

http://www.cpc.ncep.noaa.gov/products/precip/CWlink/daily_ao_index/history/met
hod.shtml

Entretanto vamos usar a R2 ao invs da R1

No Matlab basta executar o script: Variveis importantes que


saem no programa:
eof_hgt700_mes
V1 = autovalores
EOFs1 = autovetores
EC1 = coeficientes temporais

32
07/10/2014

1 EOF 0.02
0.015
0.01
0.005
44,1% 0
-0.005
Figuras obtidas com os autovetores (EOFs1)

-0.01
-0.015
-0.02
-0.025
-0.03
-0.035
-0.04
0.02
0.015
2 EOF 0.01
0.005
0
15,8% -0.005
-0.01
-0.015
-0.02
-0.025
-0.03
S
72 o -0.035
S -0.04
54 o
-0.045
S
36 o
-0.05
-0.055
-0.06
S
18 o

-0.065
-0.07
-0.075
-0.08
0.02
3 EOF 0.015
0.01
0.005
14,7% 0
-0.005
-0.01
-0.015
-0.02
-0.025
-0.03
S
72 o -0.035
-0.04
-0.045
S
54 o

-0.05
Varincia
S
36 o

-0.055
S
18 o -0.06
Explicada -0.065
-0.07
-0.075
Mo (2000)
-0.08

Com a SVD
0.02
0.015
1
0.01

Existe diferena em 0.5


0.005
0
calcular a EOF com -0.005
as frmulas que 0 -0.01

aprendemos e com -0.015


-0.5 -0.02
a SVD? -0.025

-1
-0.03
-0.035
-0.04
Existem pequenas
-1 -0.5 0 0.5 1

diferenas em
relao aos valores
obtidos e em alguns COM a ACP A diferena do
0.04
casos, o sinal obtido 0.035 sinal positivo e
0.03
nas duas tcnicas 0.025 negativo em
0.02
oposto. 0.015
funo da
0.01
0.005
metodologia da
Isso no altera a 0 CP e da SVD.
-0.005
interpretao dos -0.01
-0.015
resultados. -0.02
Isso no altera a
-0.025
-0.03
interpretao dos
-0.035 resultados.
-0.04

33
07/10/2014

Na pgina do Climate Prediction Center, alm da figura da 1 EOF


fornecido o valor do ndice mensal da EOF.

O que esse ndice e para que ele serve?

O ndice nos diz qual o padro (cara) da EOF num determinado ms.

Se estivermos considerando a 1 EOF,


1 EOF
ndice positivo = ao padro com
anomalias positivas de altura
geopotencial em latitudes mdias e
0.02
0.015 anomalias negativas nas cercanias da
0.01 Antrtica.
0.005
0
-0.005
-0.01
-0.015 ndice negativo = ao padro com
-0.02
-0.025 anomalias negativa de altura
-0.03 geopotencial em latitudes mdias e
-0.035
-0.04 anomalias positivas nas cercanias da
Antrtica.

Isso na verdade so os Z-SCORES


Os ndices so obtidos pelo mtodo
da SVD:

Amn = U mm S mnVnnT
Coef = U*S

1
O ndice que calculamos (azul)
0
no reproduz perfeitamente o do
CPC/NOAA (vermelho) porque
-1
estamos considerando 6 CP e
-2
no sabemos quantas eles
EOF1-MI
-3
EOF1-CPC consideram.
-4
0 50 100 150 200 250 300 350 400 450
Alm disso, usamos a R2

34
07/10/2014

ndice Positivo
ndice Negativo

No ms de maio de 1989
No ms de julho de 1995
(tempo 125)
(tempo 199)
CPC/NOAA = 2,7
CPC/NOAA = -3,0
Michelle = 2,4
Michelle = -3,0

Mdia de 05/89 mdia da srie total Mdia de 07/95 mdia da srie total
155
155
130
18oS
130
105 18oS
105
36oS 80
36oS 80
55
54oS
54oS
55
30
72oS 30
72oS
5
5
-20
-20
-45
-45
-70
-70
-95
-95
-120
-120
-145
-145
-170
-170

ndice Positivo = anomalias negativas ndice Negativo = anomalias positivas de


de altura geopotencial na Antrtica e altura geopotencial na Antrtica e
positivas em latitudes mdias negativas em latitudes mdias

Referncias

Notas de aula da professora Leila http://www.icess.ucsb.edu/gem/met__obser.htm

Jackson, J. E. 1991: A Users guide to Principal Components. John Willey & Sons, NY.

Lorenz, E.N., 1956. Empirical orthogonal functions and statistical weather prediction. Science Report
1, Statistical Forecasting Project, Department of Meteorology, MIT (NTIS AD 110268), 49 pp.

Reboita, M. S., Krusche, N., 2000: ANLISE DE COMPONENTES PRINCIPAIS DA OCORRNCIA


DE NEVOEIROS EM RIO GRANDE, RS, NO PERODO DE 1990 A 1999. CBMET.

Reboita, M. S., PINTO, S. S., Krusche, N., 2004: INTER-RELAO ENTRE SRIES
METEOROLGICAS E OCEANOGRFICAS MEDIDAS NA BIA DE FUNDEIO ARGOS 32056, NO
PERODO DE 2001 A 2002. CBMET.

35
07/10/2014

http://web.mit.edu/be.400/www/SVD/Singular_Value_Decomposition.htm

http://people.revoledu.com/kardi/tutorial/LinearAlgebra/SVD.html

http://www.ling.ohio-
state.edu/~kbaker/pubs/Singular_Value_Decomposition_Tutorial.pdf

36

Você também pode gostar