Explorați Cărți electronice
Categorii
Explorați Cărți audio
Categorii
Explorați Reviste
Categorii
Explorați Documente
Categorii
(1) ...
w a x ... a x
n1 1
nn n
n
X2
X1
Xn
x1
x2
x11
x12
x1n
x 21
x 22
x2n
xT 1
xT 2
Tabelul 1
xTn
xn
x1 j
x2 j
X j =coloana j din Tabelul 1
...
x
Tj
X j E( X j )
varianta lui X j :
1 T
( xtj X j ) (1jn)
n 1 t 1
Var ( X j ) reprezinta gradul de imprastiere a valorilor caracteristicii x j in raport cu media
Var ( X j )
Xj
matricea de covarianta a vectorilor X 1 ,..., X n :
( ij )1i , j n
1 T
( xti X i )( xtj X j ) .
n 1 t 1
Aplicam transformarea (1) celor t linii ale tabelei 1:
wt1 a11 xt1 ... a1n xtn
(2) ...
,
1tT
w a x ... a x
n1 t1
nn tn
tn
ij Cov( X i , X j )
W2
W1
Wn
w1
w2
w11
w12
w1n
w21
w22
w2 n
wT 1
wT 2
wTn
wn
1
2
Tabelul 2
w1 j
w2 j
Wj
...
w
Tj
Vom nota W1 ,...,Wn vectorii T-dimensionali corespunzatori celor n coloane din Tabelul
2. In mod concentrat, relatiile din (2) se scriu:
n
(4) ...
w a x ... a x
ji T 1
jn Tn
Tj
a j1
Notam a j ... , pentru 1jn . Atunci relatiile (4) se scriu vectorial:
a jn
n
(5) W j a ji X 1 ... a jn X n a jk X k
k 1
Consideram matricea X ( xtj )1t T ,1 j n a datelor din Tabelul 1.Atunci relatia (5) se scrie
in forma matriciala :
(6) W j Xa j , 1jn
Variabilitatea datelor initiale nu este la fel de semnificativa in toate directiile (relativ la
toate variabilele x1 ,...,xn ), existand directii in care variabilitatea este neglijabila.
Variabilitatea caracteristicii x j este data de varianta Var ( X j ) a vectorului X j format
din valorile caracteristicii x j masurate pentru cele T obiecte.
Prin transformarea (1), vectorii X 1 ,..., X n se transforma in vectorii W1 ,...,Wn .
Variabilitatea componentelor principale
w1 ,...,wn este data de variantele
Var(W1 ),...,Var(Wn ) .
Cu cat variabilitatea unei componente este mai mare, cu atat cunoastem mai bine datele
masurate pentru acea caracteristica (se disting mai bine unele de altele, sunt mai
vizibile). De aceea determinarea componentelor principale w1 ,...,wn se va face astfel
incat variantele Var(W1 ),...,Var(Wn ) sa fie cat mai mari (daca se poate, maximale).
Determinarea componentelor principale w1 ,...,wn revine la determinarea matricii A.
Astfel se ajunge la n probleme de maxim (cate una pentru fiecare componenta w j )
maxVar(W j )
(7) A
j
W j Xa
Var(W j ) Var( a jk X k )
k 1
k ,l 1
jk
k ,l 1
jk
a jl Cov( X k , X l )
kl a jl (a j )T a j
( Cov( X k , X l ) kl )
unde ( kl )1k ,l n este matricea de covarianta a vectorilor X 1 ,..., X n .
Atunci conditia de optim din (7) se va scrie:
max
(a j ) T a j , j=1,,n
j
a
Conform acestei observatii, fiecare din problemele de optim (7) are forma:
max T
(8)
T 1
1
unde ... este vectorul necunoscuta, iar conditia T 1 , adica 1 a fost
n
adaugata pentru ca solutia sa fie determinata.
Conditia 1 spune ca vectorul are lungimea 1.
Problema (8) este o problema de extrem conditionat, care se rezolva cu metoda
multiplicatorilor lui Lagrange.
Lagrangeanul problemei (8) se va scrie sub forma
L( , ) T ( T 1)
de unde obtinem sistemul de ecuatii
L ( , )
0
(9)
( scriere vectoriala )
L ( , ) 0
Din prima conditie rezulta 2 2 0 , adica , iar din a doua rezulta
T 1 0 (ceea ce arata ca este satisfacuta conditia a doua).
In concluzie, solutia ~ a problemei de maxim (8) verifica ~ ~ , deci ~ este un
vector propriu al matricii asociat valorii proprii .
Valoarea maxima a functiei obiectiv din (3) va fi:
~
(10) Var(W ) (~)T ~ (~)T ~
Observatie. Matricea de covarianta este simetrica deci toate valorile proprii
1 ,...,n ale lui sunt reale si 0.
Conform celor de mai sus, vectorii coloana a1 ,...,a n ai matricei A vor fi vectorii proprii
ai lui corespunzatori valorilor proprii 1 ,...,n .
In acest fel a fost determinata matricea A , deci au fost determinate transformarile liniare
(1) ce definesc componentele principale w1 ,...,wn .
Conform lui (10):
(11) Var(W j ) j , j=1,,n
De la cursul de algebra lineara stim ca vectorii proprii a1 ,...,a n pot fi alesi ortogonali.
Cum a j (a j ) T a j 1 , vectorii a1 ,...,a n vor fi ortonormali: pentru orice k, l=1,,n,
(12)
a
j 1
jk
1, daca k l
( kl
este simbolul lui Kroneker)
0
,
daca
k
j 1
j 1
Var(W ) a
j
j 1
j 1 k ,l 1
k ,l 1
j 1
kl ( a jk a jl )
n
k 1
j 1
jk
k ,l 1
jk
kl a jl :
kl a jl
k ,l 1
kl
kl
kk Var ( X j )
k 1
i 1
kk i .
Propozitia 1 spune ca varianta totala este conservata prin transformarea liniara (1) atunci
cand vectorii coloana ai matricii A sunt exact vectorii proprii ai matricii de covarianta .
1 ... i
Vartotal
Se pune conditia i un prag ales (de obicei 70-75%).
5
j j j
(cu conditia
1 ).
w j ( j )T X , j 1,...,n
(6) Dintre w1 ,...,wn se retin p componente principale ( conform unui criteriu
prestabilit).
(7) Cu formulele de la pasul (5) se calculeaza matricea (tabelul ) scorurilor ( cu T
linii si cu p coloane) .
Exemplu numeric:
Nota: Se va lua numarul de variabile mai mic decat numarul de
observatii.
Consideram patru obiecte (notate 1,2,3,4) pentru care s-au efectuat masuratori relative la
trei caracteristici x1 , . x2 , x3 .
Prin masuratori s-a obtinut urmatoarea matrice de date:
1
2
3
4
x1
1
6
7
2
x2
3
5
6
1
x3
4
1
2
2
8,666667
5,666667
-2,666667
5,6666667
4,9166667
-0,9166667
-2,6666667
-0,9166667
1,5833333
2 1,69427391
3 0,09198734
Pasul 4. Pentru fiecare valoare proprie j se determina vectorul propriu atasat.
1
0,7984734
0,5588411
-0,2239126
2
-0,2529110
0.6488904
0,7176191
3
0,5463298
-0,5163698
0,6594588
13,38049541
=0,88222
15,1667
Vartotal
1 este suficient de mare, prin urmare vom retine o singura componenta principala, pe
w1 .
Pasul 7.
Calculam scorurile (tinem cont ca p=1):
0.7984734
0.7984734
0.7984734
0.7984734
1
2
3
4
w1
1,5793463
7,3611333
8,4945352
1,7079627
6
4
0
Variances
10
pca_date
Comp.1
Comp.2
Comp.3
Nota. In graficul de mai sus sunt reprezentate in ordine descrescatoare variantele celor
trei componente principale = valorile proprii calculate la Pasii 2 si 3.
Observatie . Daca am aplica criteriul lui Kaiser am obtine doua componente principale.
Se apreciaza ca aplicarea acestui principiu nu duce intotdeauna la rezultate concludente
( ca in exemplul precedent) . Se recomanda sa se faca apel si la un alt criteriu.
Sa aplicam si Criteriul 3:
Media variantelor = 5.0555.
Singura varianta mai mare decat aceasta medie este 1 13,38049541, deci si prin
aplicarea acestui criteriu alegem o singura componenta principala.
> date
D1 D2 D3
1 1 3 4
2 6 5 1
3 7 6 2
4 2 1 2
> S<-cov(date)
>S
D1
D2
D3
D1 8.666667 5.6666667 -2.6666667
D2 5.666667 4.9166667 -0.9166667
D3 -2.666667 -0.9166667 1.5833333
> R<-cor(date)
>R
D1
D2
D3
D1 1.000000 0.8680930 -0.7198740
D2 0.868093 1.0000000 -0.3285412
D3 -0.719874 -0.3285412 1.0000000
>eigen(S)
$values
[1] 13.38049541 1.69427391 0.09189734
$vectors
[,1]
[,2]
[,3]
[1,] 0.7984734 -0.2529110 0.5463298
[2,] 0.5588411 0.6488904 -0.5163698
[3,] -0.2239126 0.7176191 0.6594588
> pca_date<-princomp(date, cor=F)
> names(pca_date)
[1] "sdev" "loadings" "center" "scale" "n.obs"
> loadings(pca_date)
"scores" "call"
Loadings:
Comp.1 Comp.2 Comp.3
D1 0.798 -0.253 0.546
D2 0.559 0.649 -0.516
D3 -0.224 0.718 0.659
10
11
6
4
2
0
Variances
10
pca_date
Comp.1
Comp.2
Comp.3
12