Semnificația valorilor proprii în metoda componentelor principale. Conceptul de componente principale

Componentele principale

5.1 Metodele de regresie multiplă și corelație canonică implică împărțirea setului existent de caracteristici în două părți. Cu toate acestea, departe de a fi întotdeauna o astfel de diviziune poate fi întemeiată în mod obiectiv și, prin urmare, este nevoie de astfel de abordări ale analizei relației indicatorilor care ar implica luarea în considerare a vectorului caracteristic în ansamblu. Desigur, la implementarea unor astfel de abordări se poate detecta o anumită eterogenitate în această baterie de caracteristici, atunci când sunt identificate obiectiv mai multe grupuri de variabile. Pentru caracteristici dintr-un astfel de grup corelații încrucișate va fi mult mai mare în comparație cu combinațiile de indicatori din diferite grupuri. Totuși, această grupare se va baza pe rezultatele unei analize obiective a datelor, și nu pe considerente arbitrare a priori ale cercetătorului.

5.2 Când studiem corelațiile în cadrul unora un singur set m caracteristici


X„= X 1 X 2 X 3 ... X m

puteți folosi aceeași metodă care a fost folosită la plural analiza regresieiși metoda corelațiilor canonice - obținerea de noi variabile, a căror variație reflectă pe deplin existența corelațiilor multidimensionale.

Scopul luării în considerare a relațiilor intra-grup ale unui singur set de caracteristici este de a determina și vizualiza direcțiile principale existente în mod obiectiv ale variației corelative a acestor variabile. Prin urmare, în aceste scopuri, puteți introduce câteva variabile noi Y i , găsite ca combinații liniare ale setului original de caracteristici X

Y 1 = b 1"X= b 11 X 1 + b 12 X 2 + b 13 X 3 + ... + b 1m X m

Y 2 = b 2"X= b 21 X 1 + b 22 X 2 + b 23 X 3 + ... + b 2m X m

Y 3 = b 3"X= b 31 X 1 + b 32 X 2 + b 33 X 3 + ... + b 3m X m (5.1)

... ... ... ... ... ... ...

Y m = b m „X= b m1 X 1 + b m2 X 2 + b m3 X 3 + ... + b m m X m

și având o serie de proprietăți dezirabile. Fie ca, pentru certitudine, numărul de caracteristici noi să fie egal cu numărul de indicatori originali (m).

Una dintre aceste proprietăți optime de dorit poate fi necorelarea reciprocă a noilor variabile, adică forma diagonală a acestora. matricea de covarianță

S y1 2 0 0 ... 0

0 s y2 2 0 ... 0

Sy= 0 0 s y3 2 ... 0 , (5.2)

... ... ... ... ...

0 0 0 … s ym 2

unde s yi 2 este varianța i-a nouă caracteristică Y i . Necorelarea noilor variabile, pe lângă comoditatea sa evidentă, are o proprietate importantă - fiecare caracteristică nouă Y i va lua în considerare doar partea sa independentă a informațiilor despre variabilitatea și corelarea indicatorilor originali X.

A doua proprietate necesară a noilor semne este contabilizarea ordonată a variației indicatorilor inițiali. Deci, prima variabilă nouă Y 1 să ia în considerare ponderea maximă a variației totale a caracteristicilor X. Aceasta, așa cum vom vedea mai târziu, este echivalentă cu cerința ca Y 1 să aibă variația maximă posibilă s y1 2 . Luând în considerare egalitatea (1.17), această condiție poate fi scrisă ca

s y1 2 = b 1 "Sb 1= max , (5,3)

Unde S- matricea de covarianță a caracteristicilor inițiale X, b 1- un vector care include coeficienții b 11 , b 12 , b 13 , ..., b 1m cu care, prin valorile lui X 1 , X 2 , X 3 , ..., X m se poate obține valoarea lui Y 1 .

Fie a doua nouă variabilă Y 2 să descrie partea maximă a acelei componente a variației totale care a rămas după luarea în considerare a ponderii sale cele mai mari în variabilitatea primei caracteristici noi Y 1 . Pentru a realiza acest lucru, este necesar să îndepliniți condiția

s y2 2 = b 2 "Sb 2= max , (5,4)

la zero conexiunea Y 1 cu Y 2 , (adică r y1y2 = 0) și la s y1 2 > s y2 2 .

În mod similar, a treia caracteristică nouă Y 3 ar trebui să descrie a treia cea mai importantă parte a variației caracteristicilor originale, pentru care varianța sa ar trebui, de asemenea, să fie maximă.

s y3 2 = b 3 "Sb 3= max , (5,5)

cu condiția ca Y 3 să nu fie corelat cu primele două caracteristici noi Y 1 și Y 2 (adică r y1y3 = 0, r y2y3 = 0) și s y1 2 > s y2 > s y3 2 .

Astfel, varianțele tuturor noilor variabile sunt caracterizate prin ordonarea în mărime

s y1 2 > s y2 2 > s y3 2 > ... > s y m 2 . (5,6)

5.3 Vectori din formula (5.1) b 1 , b 2 , b 3 , ..., b m , cu ajutorul căruia ar trebui efectuată trecerea la noile variabile Y i, poate fi scrisă sub forma unei matrice


B = b 1 b 2 b 3 ... b m . (5,7)

Tranziția de la un set de caracteristici inițiale X la un set de variabile noi Y poate fi reprezentat ca o formulă matriceală

Y = B" X , (5.8)

iar obținerea matricei de covarianță a noilor caracteristici și realizarea condiției (5.2) de variabile noi necorelate în conformitate cu formula (1.19) pot fi reprezentate ca

B"SB= Sy , (5.9)

unde este matricea de covarianță a noilor variabile Sy datorita necorelatiei lor, are forma diagonala. Din teoria matricelor (secțiunea A.25 Anexa A) se ştie că, obţinându-se pentru o matrice simetrică A vectori proprii tu iși numerele l i și

chemând matrici din ele Uși L, este posibil, conform formulei (A.31), să se obțină rezultatul

U "AU= L ,

Unde L este o matrice diagonală care include valorile proprii ale matricei simetrice A. Este ușor de observat că ultima egalitate coincide complet cu formula (5.9). Prin urmare, se poate trage următoarea concluzie. Proprietățile de dorit ale noilor variabile Y poate fi asigurat dacă vectorii b 1 , b 2 , b 3 , ..., b m , cu ajutorul căruia ar trebui efectuată trecerea la aceste variabile, vor fi vectorii proprii ai matricei de covarianță a caracteristicilor inițiale S. Atunci dispersiile de caracteristici noi s yi 2 vor fi valori proprii

s y1 2 = l 1 , s y2 2 = l 2 , s y3 2 = l 3 , ... , s ym 2 = l m (5.10)

Variabile noi, tranziția la care conform formulelor (5.1) și (5.8) se realizează folosind vectori proprii matricea de covarianță a caracteristicilor originale sunt numite componente principale. Datorită faptului că numărul de vectori proprii ai matricei de covarianță este în general egal cu m - numărul de caracteristici inițiale pentru această matrice, numărul de componente principale este, de asemenea, egal cu m.

În conformitate cu teoria matricelor, pentru a găsi valorile proprii și vectorii matricei de covarianță, ar trebui să rezolvăm ecuația

(S-l eu eu)b i = 0 . (5.11)

Această ecuație are o soluție dacă este îndeplinită condiția ca determinantul să fie egal cu zero

½ S-l eu eu½ = 0. (5,12)

Această condiție se dovedește, de asemenea, a fi o ecuație ale cărei rădăcini sunt toate valorile proprii l 1 , l 2 , l 3 , ..., l m ale matricei de covarianță care coincid simultan cu variațiile componentelor principale. După obținerea acestor numere, pentru fiecare i-a dintre ele, conform ecuației (5.11), puteți obține vectorul propriu corespunzător. b eu . În practică, proceduri iterative speciale sunt utilizate pentru a calcula valorile proprii și vectori (Anexa B).

Toți vectorii proprii pot fi scriși ca o matrice B, care va fi o matrice ortonormală, astfel încât (secțiunea A.24 Anexa A) pentru aceasta se realizează

B"B = bb" = eu . (5.13)

Acesta din urmă înseamnă că pentru orice pereche de vectori proprii, b i "b j= 0, iar pentru orice astfel de vector egalitatea b i "b i = 1.

5.4 Să ilustrăm derivarea componentelor principale pentru cel mai simplu caz a două caracteristici inițiale X 1 și X 2 . Matricea de covarianță pentru această mulțime este

unde s 1 și s 2 sunt abaterile standard ale caracteristicilor X 1 și X 2 și r este coeficientul de corelație dintre ele. Atunci condiția (5.12) poate fi scrisă ca

S 1 2 - l i rs 1 s 2

rs 1 s 2 s 2 2 - l i

Figura 5.1.Semnificaţia geometrică a componentelor principale

Extinderea determinantului, putem obține ecuația

l 2 - l(s 1 2 + s 2 2) + s 1 2 s 2 2 (1 - r 2) = 0,

Rezolvând care, puteți obține două rădăcini l 1 și l 2 . Ecuația (5.11) poate fi scrisă și ca


s 1 2 - l i r s 1 s 2 b i1 = 0

r s 1 s 2 s 2 2 - l i b i2 0

Înlocuind l 1 în această ecuație, obținem sistem liniar

(s 1 2 - l 1) b 11 + rs 1 s 2 b 12 = 0

rs 1 s 2 b 11 + (s 2 2 - l 1)b 12 = 0,

a căror soluție sunt elementele primului vector propriu b 11 și b 12 . După o înlocuire similară a celei de-a doua rădăcini l 2 găsim elementele celui de-al doilea vector propriu b 21 și b 22 .

5.5 Să aflăm sens geometric componentele principale. Acest lucru se poate face vizual numai pentru cel mai simplu caz de două caracteristici X 1 și X 2 . Să fie caracterizate printr-o bidimensională distributie normala cu o valoare pozitivă a coeficientului de corelaţie. Dacă toate observațiile individuale sunt aplicate pe planul format de axele caracteristice, atunci punctele corespunzătoare acestora vor fi situate în interiorul unei anumite elipse de corelație (Fig. 5.1). Caracteristicile noi Y 1 și Y 2 pot fi, de asemenea, afișate pe același plan ca axele noi. Conform sensului metodei, pentru prima componentă principală Y 1 , care ia în considerare variația totală maximă posibilă a caracteristicilor X 1 și X 2 , trebuie atins maximul variației sale. Aceasta înseamnă că pentru Y 1 ar trebui să se găsească astfel

axa astfel încât lățimea distribuției valorilor sale să fie cea mai mare. Evident, acest lucru se va realiza dacă această axă coincide în direcție cu cea mai mare axă a elipsei de corelație. Într-adevăr, dacă proiectăm toate punctele corespunzătoare observațiilor individuale pe această coordonată, vom obține o distribuție normală cu cel mai mare interval posibil și cea mai mare dispersie. Aceasta va fi distribuția valorilor individuale ale primei componente principale Y 1 .

Axa corespunzătoare celei de-a doua componente principale Y 2 trebuie desenată perpendicular pe prima axă, așa cum rezultă din condiția componentelor principale necorelate. Într-adevăr, în acest caz vom obține un nou sistem de coordonate cu axele Y 1 și Y 2 care coincid în direcția cu axele elipsei de corelație. Se poate observa că elipsa de corelație, atunci când este luată în considerare în sistem nou coordonatele demonstrează valorile individuale necorelate ale Y 1 și Y 2 , în timp ce pentru valorile caracteristicilor inițiale s-a observat corelația X 1 și X 2.

Trecerea de la axele asociate caracteristicilor originale X 1 și X 2 la un nou sistem de coordonate orientat către componentele principale Y 1 și Y 2 este echivalentă cu rotirea axelor vechi cu un unghi j. Valoarea acestuia poate fi găsită prin formula

Tg 2j = . (5,14)

Trecerea de la valorile caracteristicilor X 1 și X 2 la componentele principale poate fi efectuată în conformitate cu rezultatele geometrie analitică la fel de

Y 1 \u003d X 1 cos j + X 2 sin j

Y 2 \u003d - X 1 sin j + X 2 cos j.

Același rezultat poate fi scris sub formă de matrice

Y 1 \u003d cos j sin j X 1 și Y 2 \u003d -sin j cos j X 1,

care corespunde exact transformării Y 1 = b 1"Xși Y2 = b 2"X. Cu alte cuvinte,

= B" . (5.15)

Astfel, matricea vectorului propriu poate fi de asemenea tratată ca incluzând funcții trigonometrice unghiul de rotație care ar trebui efectuat pentru a trece de la sistemul de coordonate asociat caracteristicilor originale la noi axe bazate pe componentele principale.

Dacă avem m caracteristici inițiale X 1 , X 2 , X 3 , ..., X m , atunci observațiile care alcătuiesc eșantionul luat în considerare vor fi situate în interiorul unui elipsoid de corelație m-dimensional. Apoi, axa primei componente principale va coincide în direcție cu cea mai mare axă a acestui elipsoid, axa celei de-a doua componente principale va coincide cu cea de-a doua axă a acestui elipsoid și așa mai departe. Trecerea de la sistemul de coordonate original asociat cu axele caracteristicilor X 1 , X 2 , X 3 , ..., X m la noile axe ale componentelor principale va fi echivalentă cu implementarea mai multor rotații ale vechilor axe prin unghiurile j 1 , j 2 , j 3 , .. . și matricea de tranziție B decalaj X la sistemul de componente principale Y, format din propriile pleoape -

tori ai matricei de covarianță, include funcțiile trigonometrice ale unghiurilor noului axele de coordonate cu vechile axe ale caracteristicilor originale.

5.6 În conformitate cu proprietățile valorilor proprii și ale vectorilor, urmele matricelor de covarianță ale caracteristicilor inițiale și ale componentelor principale sunt egale. Cu alte cuvinte

tr S= tr S y = tr L (5.16)

s 11 + s 22 + ... + s mm \u003d l 1 + l 2 + ... + l m,

acestea. suma valorilor proprii ale matricei de covarianță este egală cu suma varianțelor tuturor caracteristicilor inițiale. Prin urmare, putem vorbi despre o valoare totală a varianței caracteristicilor inițiale egală cu tr S, și luate în considerare de sistemul de valori proprii.

Faptul că prima componentă principală are o varianță maximă egală cu l 1 înseamnă automat că descrie și ponderea maximă a variației totale a caracteristicilor originale tr S. În mod similar, a doua componentă principală are a doua cea mai mare varianță l 2 , care corespunde celei de-a doua ponderi contabile ca mărime din variația totală a caracteristicilor originale și așa mai departe.

Pentru fiecare componentă principală, este posibil să se determine ponderea valorii totale a variabilității caracteristicilor inițiale, pe care o descrie

5.7 Evident, ideea variației totale a mulțimii de caracteristici inițiale X 1 , X 2 , X 3 , ..., X m , măsurată prin valoarea tr S, are sens numai atunci când toate aceste caracteristici sunt măsurate în aceleași unități. În caz contrar, va trebui să adăugați dispersiile diferitelor caracteristici, dintre care unele vor fi exprimate în pătrate de milimetri, altele în pătrate de kilograme, altele în pătrate de radiani sau grade etc. Această dificultate poate fi evitată cu ușurință dacă se trece de la valorile numite ale caracteristicilor X ij la valorile lor normalizate z ij = (X ij - M i)./ S i unde M i și S i sunt media aritmetică și abaterea standard a caracteristicii i-a. Caracteristicile normalizate z au medii zero, variații de unități și nu sunt asociate cu nicio unitate de măsură. Matricea de covarianță a caracteristicilor inițiale S se va transforma într-o matrice de corelaţie R.

Tot ce s-a spus despre componentele principale găsite pentru matricea de covarianță rămâne adevărat pentru matrice R. Și aici este posibil, bazându-se pe vectorii proprii ai matricei de corelație b 1 , b 2 , b 3 , ..., b m , treceți de la caracteristicile inițiale z i la componentele principale y 1 , y 2 , y 3 , ..., y m

y 1 = b 1 "z

y 2 = b 2 "z

y 3 = b 3 "z

y m = b m "z .

Această transformare poate fi scrisă și într-o formă compactă

y = B"z ,

Figura 5.2. Semnificația geometrică a componentelor principale pentru două caracteristici normalizate z 1 și z 2

Unde y- vector de valori ale componentelor principale, B- matrice care include vectori proprii, z- vector de caracteristici inițiale normalizate. Egalitatea este, de asemenea, adevărată

B „RB= ... ... … , (5.18)

unde l 1 , l 2 , l 3 , ..., l m sunt valorile proprii ale matricei de corelație.

Rezultatele obținute în analiza matricei de corelație diferă de rezultate similare pentru matricea de covarianță. În primul rând, acum este posibil să luăm în considerare caracteristicile măsurate în diferite unități. În al doilea rând, vectorii proprii și numerele găsite pentru matrice Rși S, sunt de asemenea diferite. În al treilea rând, componentele principale determinate de matricea de corelație și bazate pe valorile normalizate ale caracteristicilor z se dovedesc a fi centrate - adică. având valori medii zero.

Din păcate, după ce s-au determinat vectorii proprii și numerele pentru matricea de corelație, este imposibil să se treacă de la aceștia la vectori și numere similare ale matricei de covarianță. În practică, componentele principale bazate pe matricea de corelație sunt de obicei utilizate ca și mai universale.

5.8 Să luăm în considerare semnificația geometrică a componentelor principale determinate din matricea de corelație. Cazul a două caracteristici z 1 și z 2 este ilustrativ aici. Sistemul de coordonate asociat acestor caracteristici normalizate are un punct zero situat în centrul graficului (Fig. 5.2). Punctul central al elipsei de corelație,

inclusiv toate observațiile individuale, coincide cu centrul sistemului de coordonate. Evident, axa primei componente principale, care are variația maximă, va coincide cu cea mai mare axă a elipsei de corelație, iar coordonata celei de-a doua componente principale va fi orientată de-a lungul celei de-a doua axe a acestei elipse.

Trecerea de la sistemul de coordonate asociat caracteristicilor originale z 1 și z 2 la noile axe ale componentelor principale este echivalentă cu rotirea primelor axe cu un anumit unghi j. Variantele caracteristicilor normalizate sunt egale cu 1 iar prin formula (5.14) se poate afla valoarea unghiului de rotatie j egala cu 45 o . Atunci matricea vectorilor proprii, care poate fi determinată în funcție de funcțiile trigonometrice ale acestui unghi folosind formula (5.15), va fi egală cu

Cos j sin j 1 1 1

B" = = .

Sin j cos j (2) 1/2 -1 1

Valorile valorilor proprii pentru cazul bidimensional sunt, de asemenea, ușor de găsit. Condiția (5.12) se dovedește a fi de forma

care corespunde ecuaţiei

l 2 - 2l + 1 - r 2 \u003d 0,

care are două rădăcini

l 1 = 1 + r (5,19)

Astfel, principalele componente ale matricei de corelație pentru două caracteristici normalizate pot fi găsite folosind formule foarte simple

Y 1 = (z 1 + z 2) (5,20)

Y 2 \u003d (z 1 - z 2)

Valorile lor medii aritmetice sunt egale cu zero, iar abaterile standard sunt

s y1 = (l 1) 1/2 = (1 + r) 1/2

s y2 = (l 2) 1/2 = (1 - r) 1/2

5.9 În conformitate cu proprietățile valorilor proprii și ale vectorilor, urmele matricei de corelație a caracteristicilor inițiale și ale matricei valorilor proprii sunt egale. Variația totală a m caracteristici normalizate este egală cu m. Cu alte cuvinte

tr R= m = tr L (5.21)

l 1 + l 2 + l 3 + ... + l m = m .

Atunci ponderea variației totale a caracteristicilor inițiale, descrise de a i-a componentă principală este egală cu

De asemenea, puteți introduce conceptul de P cn - ponderea variației totale a caracteristicilor originale, descrisă de primele n componente principale,

n l 1 + l 2 + ... + l n

P cn = S P i = . (5,23)

Faptul că pentru valorile proprii există o ordonare a formei l 1 > l 2 > > l 3 > ... > l m înseamnă că relații similare vor fi caracteristice și cotelor descrise de principalele componente ale variației.

P 1 > P 2 > P 3 > ... > P m . (5,24)

Proprietatea (5.24) presupune o formă specifică de dependență a cotei acumulate P сn de n (Fig. 5.3). În acest caz, primele trei componente principale descriu partea principală a variabilității caracteristicilor. Aceasta înseamnă că, adesea, primele componente principale pot reprezenta împreună până la 80 - 90% din variația totală a caracteristicilor, în timp ce fiecare componentă principală ulterioară va crește această pondere foarte ușor. Apoi, pentru o analiză și interpretare ulterioară, doar aceste câteva prime componente principale pot fi utilizate cu încredere că descriu cele mai importante modele de variabilitate și corelație intragrup.

Figura 5.3. Dependenţa proporţiei variaţiei totale a caracteristicilor P cn , descrisă de n primele componente principale, de valoarea lui n. Numărul de caracteristici m = 9

Figura 5.4. La definirea construcției criteriului de separare a componentelor principale

semne. Datorită acestui fapt, numărul de noi variabile informative cu care să lucrați poate fi redus cu un factor de 2 - 3. Astfel, componentele principale au una mai importantă și proprietate utilă- simplifică foarte mult descrierea variației caracteristicilor originale și o fac mai compactă. O astfel de reducere a numărului de variabile este întotdeauna de dorit, dar este asociată cu unele distorsiuni în aranjarea reciprocă a punctelor corespunzătoare observațiilor individuale în spațiul celor câteva prime componente principale în comparație cu spațiul m-dimensional al caracteristicilor originale. Aceste distorsiuni apar din încercarea de a strânge spațiul caracteristic în spațiul primelor componente principale. Totuși, în statistica matematică se dovedește că dintre toate metodele care pot reduce semnificativ numărul de variabile, trecerea la componentele principale duce la cea mai mică distorsiune a structurii observațiilor asociate cu această scădere.

5.10 O problemă importantă în analiza componentelor principale este problema determinării numărului acestora pentru o analiză ulterioară. Evident, o creștere a numărului de componente principale crește ponderea cumulativă a variabilității considerate P cn și o apropie de 1. În același timp, compactitatea descrierii rezultate scade. Alegerea numărului de componente principale, care oferă simultan atât caracterul complet cât și compactitatea descrierii, se poate baza pe diferite criterii utilizate în practică. Le enumerăm pe cele mai comune dintre ele.

Primul criteriu se bazează pe considerația că numărul de componente principale luate în considerare ar trebui să ofere suficientă caracter complet informativ al descrierii. Cu alte cuvinte, principalele componente luate în considerare ar trebui să descrie cea mai mare parte a variabilității totale a caracteristicilor inițiale: până la 75 - 90%. Alegerea unui nivel specific al cotei acumulate P cn rămâne subiectivă și depinde atât de opinia cercetătorului, cât și de problema care se rezolvă.

Un alt criteriu similar (criteriul Kaiser) ne permite să includem componente principale cu valori proprii mai mari decât 1. Se bazează pe presupunerea că 1 este varianța unei caracteristici inițiale normalizate. Poet-

Prin urmare, includerea în analiza ulterioară a tuturor componentelor principale cu valori proprii mai mari decât 1 înseamnă că luăm în considerare numai acele variabile noi care au variații ale cel puțin unei caracteristici originale. Criteriul Kaiser este foarte comun și utilizarea lui este inclusă în multe pachete software. prelucrare statistică date atunci când este necesară setarea valorii minime a valorii proprii care trebuie luată în considerare, iar valoarea implicită este adesea 1.

Criteriul de cernere al lui Cattell este teoretic fundamentat ceva mai bine. Aplicarea sa se bazează pe luarea în considerare a unui grafic pe care valorile tuturor valorilor proprii sunt reprezentate în ordine descrescătoare (Fig. 5.4). Criteriul lui Cattell se bazează pe efectul care a reprezentat grafic pe un grafic, succesiunea valorilor proprii obținute dă de obicei o linie concavă. Primele câteva valori proprii arată o scădere nerectilinie a nivelului lor. Totuși, pornind de la o anumită valoare proprie, scăderea acestui nivel devine aproximativ rectilinie și destul de blândă. Includerea componentelor principale în considerație se termină cu cea a cărei valoare proprie începe o secțiune plană rectilinie a graficului. Deci, în Figura 5.4, în conformitate cu criteriul Cattell, numai primele trei componente principale ar trebui incluse în considerare, deoarece a treia valoare proprie este situată chiar la începutul secțiunii plane rectilinie a graficului.

Criteriul Cattell se bazează pe următoarele. Dacă luăm în considerare datele despre m caracteristici, obținute artificial dintr-un tabel de distribuție normală numere aleatorii, atunci pentru ei corelațiile dintre trăsături vor fi complet aleatorii și vor fi apropiate de 0. Când aici se găsesc componentele principale, se va putea detecta o scădere treptată a mărimii valorilor proprii ale acestora, care are un caracter rectiliniu. Cu alte cuvinte, o scădere în linie dreaptă a valorilor proprii poate indica absența informațiilor corespunzătoare despre corelarea semnelor relațiilor non-aleatoare.

5.11 La interpretarea componentelor principale se folosesc cel mai des vectorii proprii, prezentați sub forma așa-numitelor încărcări - coeficienți de corelație a caracteristicilor originale cu componentele principale. Vectori proprii b i egalitatea satisfăcătoare (5.18) se obțin într-o formă normalizată, astfel încât b i "b i= 1. Aceasta înseamnă că suma pătratelor elementelor fiecărui vector propriu este 1. Vectorii proprii ale căror elemente sunt încărcări pot fi găsiți cu ușurință prin formula

un i= (l i) 1/2 b i . (5.25)

Cu alte cuvinte, prin înmulțirea formei normalizate a vectorului propriu cu rădăcina pătrată a valorii sale proprii, se poate obține un set de încărcări inițiale de caracteristici pe componenta principală corespunzătoare. Pentru vectorii de sarcină, egalitatea se dovedește a fi adevărată a i "a i= l i , însemnând că suma încărcărilor pătrate pe i-a principal componenta este egală cu i-a valoare proprie. Programe de calculator de obicei eliberează vectori proprii sub formă de încărcări. Dacă este necesar să se obțină acești vectori într-o formă normalizată b i acest lucru se poate face cu o formulă simplă b i = un i/ (l i) 1/2 .

5.12 Proprietățile matematice ale valorilor proprii și ale vectorilor sunt astfel încât, în conformitate cu secțiunea A.25 Anexe O matrice de corelație originală R poate fi prezentat sub formă R = BLB", care poate fi scris și ca

R= l 1 b 1 b 1 "+ l 2 b 2 b 2 "+ l 3 b 3 b 3 "+ ... + lm b m b m " . (5.26)

De remarcat că oricare dintre termenii l i b i b i", corespunzătoare i-a principal componenta este matrice pătrată

L i b i1 2 l i b i1 b i2 l i b i1 b i3 … l i b i1 b im

eu b i b i"= l i b i1 b i2 l i b i2 2 l i b i2 b i3 ... l i b i2 b im . (5,27)

... ... ... ... ...

l i b i1 b im l i b i2 b im l i b i3 b im ... l i b im 2

Aici b ij este un element al i-lea vector propriu al j-lea caracteristică originală. Orice termen diagonal al unei astfel de matrice l i b ij 2 este o fracțiune a variației celui de-al j-lea atribut, descris de i-a componentă principală. Apoi, varianța oricărei j-a caracteristică poate fi reprezentată ca

1 = l 1 b 1j 2 + l 2 b 2j 2 + l 3 b 3j 2 + ... + l m b mj 2 , (5.28)

ceea ce înseamnă extinderea sa în ceea ce priveşte contribuţiile în funcţie de toate componentele principale.

În mod similar, orice termen off-diagonal l i b ij b ik al matricei (5.27) este o anumită parte a coeficientului de corelație r jk al j-lea și k-lea trăsături luate în considerare de i-a componentă principală. Apoi putem scrie expansiunea acestui coeficient ca sumă

r jk = l 1 b 1j b 1k + l 2 b 2j b 2k + ... + l m b mj b mk , (5.29)

contribuțiile tuturor m componentelor principale la acesta.

Astfel, din formulele (5.28) și (5.29), se poate observa clar că fiecare componentă principală descrie o anumită parte a varianței fiecărei caracteristici inițiale și coeficientul de corelație al fiecăreia dintre combinațiile lor.

Ținând cont de faptul că elementele formei normalizate a vectorilor proprii b ij sunt legate de sarcinile a ij printr-o relație simplă (5.25), expansiunea (5.26) se poate scrie și în termenii vectorilor proprii ai sarcinilor. R = AA", care poate fi reprezentat și ca

R = a 1 a 1" + a 2 a 2" + a 3 a 3" + ... + a m a m" , (5.30)

acestea. ca suma contribuţiilor fiecăreia dintre cele m componente principale. Fiecare dintre aceste contribuții a i a i" poate fi scris ca o matrice

A i1 2 a i1 a i2 a i1 a i3 ... a i1 a im

a i1 a i2 a i2 2 a i2 a i3 ... a i2 a im

a i a i"= a i1 a i3 a i2 a i3 a i3 2 ... a i3 a im , (5.31)

... ... ... ... ...

a i1 a im a i2 a im a i3 a im ... a im 2

pe diagonalele cărora sunt plasate a ij 2 - contribuții la varianța caracteristicii inițiale j-a și elementele în afara diagonalei a ij a ik - sunt contribuții similare la coeficientul de corelație r jk al j-a și k- caracteristicile.

Metoda componentei principale sau analiza componentelor(analiza componentelor principale, PCA) este una dintre cele mai importante metode din arsenalul unui zoolog sau ecologist. Din păcate, în cazurile în care utilizarea analizei componentelor este destul de adecvată, este adesea folosită analiza cluster.

O sarcină tipică pentru care analiza componentelor este utilă este următoarea: există un anumit set de obiecte, fiecare dintre acestea fiind caracterizat de un anumit număr (suficient de mare) de caracteristici. Cercetătorii sunt interesați de modele reflectate în diversitatea acestor obiecte. În cazul în care există motive să presupunem că obiectele sunt distribuite între grupuri subordonate ierarhic, puteți utiliza analiza cluster - metoda clasificare(repartizarea pe grupuri). Dacă nu există niciun motiv să ne așteptăm ca un fel de ierarhie să se reflecte în varietatea de obiecte, este logic să folosiți hirotonire(aranjament comandat). Dacă fiecare obiect este caracterizat de suficient un numar mare caracteristici (cel puțin - la un astfel de număr de caracteristici care nu pot fi reflectate în mod adecvat într-un singur grafic), este optim să începem studiul datelor cu analiza componentelor principale. Faptul este că această metodă este simultan o metodă de reducere a dimensiunii (numărului de măsurători) a datelor.

Dacă grupul de obiecte luat în considerare este caracterizat de valorile unei trăsături, o histogramă (pentru caracteristici continue) sau o diagramă cu bare (pentru caracterizarea frecvențelor unei trăsături discrete) poate fi utilizată pentru a le caracteriza diversitatea. Dacă obiectele sunt caracterizate de două trăsături, se poate folosi un grafic de împrăștiere bidimensional, dacă este tridimensional - unul tridimensional. Dacă sunt multe semne? Puteți încerca să reflectați asupra unui grafic bidimensional aranjament reciproc obiecte unul față de celălalt în spațiul multidimensional. De obicei, o astfel de reducere a dimensiunii este asociată cu pierderea de informații. Dintre diferitele moduri posibile ale unui astfel de afișaj, este necesar să alegeți cel în care pierderea de informații va fi minimă.

Să explicăm ce s-a spus exemplu simplu: trecerea de la spațiul bidimensional la unidimensional. Suma minima puncte, care definește un spațiu (plan) bidimensional - 3. În fig. 9.1.1 arată locația a trei puncte pe plan. Coordonatele acestor puncte sunt ușor de citit din desenul în sine. Cum să alegi o linie dreaptă care să transporte maximum de informații despre pozițiile relative ale punctelor?

Orez. 9.1.1. Trei puncte pe un plan definit de două caracteristici. Pe ce linie dreaptă se va proiecta dispersia maximă a acestor puncte?

Luați în considerare proiecțiile punctelor pe linia A (arată cu albastru). Coordonatele proiecțiilor acestor puncte pe dreapta A sunt: ​​2, 8, 10. Valoarea medie este 6 2 / 3 . Varianta (2-6 2/3)+ (8-6 2/3)+ (10-6 2/3)=34 2/3 .

Acum luați în considerare linia B (arată în verde). Coordonatele punctului - 2, 3, 7; valoarea medie este 4, varianța este 14. Astfel, o proporție mai mică a varianței este reflectată pe linia B decât pe linia A.

Ce este această cotă? Deoarece liniile A și B sunt ortogonale (perpendiculare), părțile varianței totale proiectate pe A și B nu se intersectează. Aceasta înseamnă că dispersia totală a locației punctelor de interes pentru noi poate fi calculată ca suma acestor doi termeni: 34 2 / 3 +14=48 2 / 3 . În același timp, 71,2% din variația totală este proiectată pe linia A și 28,8% pe linia B.

Și cum să determinați ce linie dreaptă va afecta proporția maximă a variației? Această linie va corespunde dreptei de regresie pentru punctele de interes, care este marcată cu C (roșu). Această linie dreaptă va reflecta 77,2% din variația totală, iar aceasta este valoarea maximă posibilă pentru acest aranjament de puncte. Se numește o astfel de linie dreaptă, pe care se proiectează ponderea maximă a variației totale prima componentă principală.

Și pe ce linie dreaptă ar trebui să se reflecte restul de 22,8% din variația totală? Pe o dreaptă perpendiculară pe prima componentă principală. Această linie va fi și componenta principală, deoarece va reflecta proporția maximă posibilă a varianței (desigur, fără a lua în considerare cea care a afectat prima componentă principală). Deci asta este - a doua componentă principală.

După ce am calculat aceste componente principale folosind Statistica (vom descrie dialogul puțin mai târziu), vom obține imaginea prezentată în Fig. 9.1.2. Coordonatele punctelor de pe componentele principale sunt prezentate în abateri standard.


Orez. 9.1.2. Locația celor trei puncte prezentate în fig. 9.1.1, pe planul a două componente principale. De ce aceste puncte sunt situate unul față de celălalt diferit decât în ​​Fig. 9.1.1?

Pe fig. 9.1.2 se modifică poziția relativă a punctelor. Pentru a interpreta corect astfel de imagini în viitor, ar trebui să luați în considerare motivele diferențelor de locație a punctelor din Fig. 9.1.1 și 9.1.2 pentru detalii. Punctul 1 în ambele cazuri este la dreapta (are o coordonată mai mare după primul semn și prima componentă principală) decât punctul 2. Dar, din anumite motive, punctul 3 la locația inițială este sub celelalte două puncte (are cea mai mică valoare semnul 2), și deasupra altor două puncte din planul componentelor principale (are o coordonată mare în a doua componentă). Acest lucru se datorează faptului că metoda componentelor principale optimizează tocmai varianța datelor inițiale proiectate pe axele alese de aceasta. Dacă componenta principală este corelată cu o axă inițială, componenta și axa pot fi direcționate în aceeași direcție (au o corelație pozitivă) sau în direcții opuse (au corelații negative). Ambele variante sunt echivalente. Algoritmul Componentelor Principale poate sau nu „întoarce” orice plan; nu trebuie trase concluzii din asta.

Cu toate acestea, punctele din fig. 9.1.2 nu sunt doar „cu susul în jos” în comparație cu poziția lor relativă din fig. 9.1.1; aranjamentul lor reciproc s-a schimbat și el într-un anumit fel. Diferențele dintre punctele din a doua componentă principală par a fi sporite. 22,76% din varianța totală atribuibilă celei de-a doua componente „împrăștie” punctele cu aceeași distanță ca 77,24% din varianța atribuibilă primei componente principale.

Pentru ca localizarea punctelor pe planul componentelor principale să corespundă cu locația lor reală, acest plan ar trebui să fie distorsionat. Pe fig. 9.1.3. sunt prezentate două cercuri concentrice; razele lor sunt legate ca fracții ale dispersiilor reflectate de prima și a doua componentă principală. Imaginea corespunzătoare fig. 9.1.2, distorsionat astfel încât deviație standard după prima componentă principală corespundea unui cerc mai mare, iar după a doua - unuia mai mic.


Orez. 9.1.3. Am luat în considerare că prima componentă principală reprezintă b despre o fracțiune mai mare a varianței decât a doua. Pentru a face acest lucru, am distorsionat Fig. 9.1.2 prin potrivirea acestuia la două cercuri concentrice ale căror raze sunt legate ca fracții ale varianțelor atribuibile componentelor principale. Dar locația punctelor încă nu corespunde cu cea originală prezentată în Fig. 9.1.1!

Și de ce este poziția relativă a punctelor din Fig. 9.1.3 nu corespunde cu cel din fig. 9.1.1? În figura originală, fig. 9,1 puncte sunt situate în conformitate cu coordonatele lor, și nu în conformitate cu proporțiile dispersiei care se încadrează pe fiecare axă. O distanță de 1 unitate pe prima caracteristică (de-a lungul axei x) din Fig. 9.1.1, există o proporție mai mică a dispersiei punctelor de-a lungul acestei axe decât distanța de 1 unitate conform celei de-a doua caracteristici (de-a lungul axei y). Iar în Figura 9.1.1, distanțele dintre puncte sunt determinate precis de unitățile în care sunt măsurate caracteristicile, prin care sunt descrise.

Să complicăm puțin sarcina. În tabel. 9.1.1 arată coordonatele a 10 puncte din spațiul cu 10 dimensiuni. Primele trei puncte și primele două dimensiuni sunt exemplul pe care tocmai ne-am uitat.

Tabelul 9.1.1. Coordonatele punctului pentru analize ulterioare

Coordonatele

În scopuri educaționale, vom lua în considerare mai întâi doar o parte din datele din Tabel. 9.1.1. Pe fig. 9.1.4 vedem poziţia a zece puncte pe planul primelor două caracteristici. Rețineți că prima componentă principală (linia C) a trecut puțin diferit față de cazul precedent. Nu e de mirare: poziția sa este afectată de toate punctele luate în considerare.


Orez. 9.1.4. Am mărit numărul de puncte. Prima componentă principală este deja puțin diferită, deoarece a fost influențată de punctele adăugate

Pe fig. 9.1.5 arată poziţia celor 10 puncte pe care le-am considerat pe planul primelor două componente. Observați că totul s-a schimbat, nu doar proporția de varianță care merge la fiecare componentă principală, ci chiar și poziția primelor trei puncte!


Orez. 9.1.5. Ordonarea în plan a primelor componente principale de 10 puncte, descrise în tabel. 9.1.1. Au fost luate în considerare doar valorile primelor două semne, ultimele 8 coloane din Tabel. 9.1.1 nu este utilizat

În general, acest lucru este firesc: deoarece componentele principale sunt situate diferit, poziția relativă a punctelor s-a schimbat și ea.

Dificultățile în compararea locației punctelor pe planul componentelor principale și pe planul original al valorilor caracteristicilor lor pot provoca nedumerire: de ce să folosiți o astfel de metodă greu de interpretat? Răspunsul este simplu. În cazul în care obiectele comparate sunt descrise doar de două caracteristici, este foarte posibil să se folosească ordonarea lor în funcție de aceste caracteristici inițiale. Toate avantajele metodei componentelor principale se manifestă în cazul datelor multidimensionale. În acest caz, metoda componentei principale este mod eficient reducerea dimensiunii datelor.

9.2. Trecerea la datele inițiale cu un număr mare de dimensiuni

Luați în considerare mai mult caz dificil: să analizăm datele prezentate în tabel. 9.1.1 pentru toate cele zece caracteristici. Pe fig. 9.2.1 arată cum este numită fereastra metodei care ne interesează.


Orez. 9.2.1. Rularea metodei componentei principale

Ne va interesa doar selectarea caracteristicilor pentru analiză, deși dialogul Statistica permite o reglare mult mai fină (Fig. 9.2.2).


Orez. 9.2.2. Selectarea variabilelor pentru analiză

După finalizarea analizei, apare o fereastră cu rezultatele acesteia cu mai multe file (Fig. 9.2.3). Toate ferestrele principale sunt disponibile din prima filă.


Orez. 9.2.3. Prima filă a casetei de dialog Rezultatele analizei componentelor principale

Se poate observa că analiza a identificat 9 componente principale, iar cu ajutorul lor a descris 100% din variația reflectată în 10 caracteristici inițiale. Aceasta înseamnă că un semn era de prisos, redundant.

Să începem vizualizarea rezultatelor de la butonul „Plot case factor voordinates, 2D”: va afișa locația punctelor pe planul definit de cele două componente principale. Apăsând acest buton, vom intra într-un dialog în care va trebui să specificăm ce componente vom folosi; este firesc să începem analiza cu prima și a doua componentă. Rezultatul este în fig. 9.2.4.


Orez. 9.2.4. Ordonarea obiectelor considerate pe planul primelor două componente principale

Poziția punctelor s-a schimbat, iar acest lucru este firesc: noi caracteristici sunt implicate în analiză. Pe fig. 9.2.4 reflectă mai mult de 65% din diversitatea totală în poziția punctelor unul față de celălalt, iar acesta este deja un rezultat netrivial. De exemplu, revenirea la Tabel. 9.1.1, vă puteți asigura că punctele 4 și 7, precum și 8 și 10 sunt într-adevăr destul de aproape unul de celălalt. Cu toate acestea, diferențele dintre ele se pot referi la alte componente principale care nu sunt prezentate în figură: la urma urmei, ele reprezintă și o treime din variabilitatea rămasă.

Apropo, atunci când se analizează plasarea punctelor pe planul componentelor principale, poate fi necesar să se analizeze distanțele dintre ele. Cel mai simplu mod este de a obține o matrice de distanțe între puncte folosind modulul pentru analiza cluster.

Și cum sunt componentele principale selectate legate de caracteristicile originale? Acesta poate fi găsit prin apăsarea butonului (Fig. 9.2.3) Plot var. coordonate factori, 2D. Rezultatul este în fig. 9.2.5.


Orez. 9.2.5. Proiecții ale caracteristicilor inițiale pe planul primelor două componente principale

Privim planul celor două componente principale „de sus”. Caracteristicile inițiale care nu au legătură cu componentele principale în niciun fel vor fi perpendiculare (sau aproape perpendiculare) pe acestea și se vor reflecta în segmente scurte care se termină în apropierea originii. Astfel, caracteristica nr. 6 este cel mai puțin asociată cu primele două componente principale (deși demonstrează o anumită corelație pozitivă cu prima componentă). Segmentele corespunzătoare acelor trăsături care se reflectă complet în planul componentelor principale se vor termina pe un cerc de rază unitară care înconjoară centrul modelului.

De exemplu, puteți vedea că prima componentă principală a fost cel mai afectată de caracteristicile 10 (corelate pozitiv) și 7 și 8 (corelate negativ). Pentru a vizualiza structura unor astfel de corelații mai detaliat, puteți face clic pe butonul Coordonatele factorilor variabile și puteți obține tabelul prezentat în Fig. 9.2.6.


Orez. 9.2.6. Corelații între caracteristicile inițiale și componentele principale selectate (factori)

Butonul Eigenvalues ​​afișează valorile numite valorile proprii ale componentelor principale. În partea de sus a ferestrei prezentate în Fig. 9.2.3, astfel de valori sunt derivate pentru primele câteva componente; butonul Scree plot le arată într-o formă convenabilă pentru percepție (Fig. 9.2.7).


Orez. 9.2.7. Valorile proprii ale componentelor principale selectate și cotele varianței totale reflectate de acestea

Mai întâi trebuie să înțelegeți ce arată exact valoarea valorii proprii. Aceasta este o măsură a varianței reflectate în componenta principală, măsurată în termeni de cantitatea de varianță pe caracteristică din datele de intrare. Dacă valoarea proprie a primei componente principale este 3,4, aceasta înseamnă că are mai multă varianță decât cele trei caracteristici din mulțimea inițială. Valorile proprii sunt legate liniar de proporția varianței atribuibile componentei principale, singurul lucru este că suma valorilor proprii este egală cu numărul de caracteristici inițiale, iar suma cotelor de varianță este de 100% .

Și ce înseamnă că informațiile despre variabilitate pentru 10 trăsături au fost reflectate în 9 componente principale? Faptul că una dintre caracteristicile inițiale era redundantă nu a adăugat nicio informație nouă. Și așa a fost; în fig. 9.2.8 arată cum a fost generat setul de puncte prezentat în Tabelul 1. 9.1.1.

Analiza componentelor principale (PCA) simplifică complexitatea datelor cu dimensiuni mari, păstrând în același timp tendințele și modelele. Face acest lucru prin conversia datelor în dimensiuni mai mici, care acționează ca rezumate ale caracteristicilor. Astfel de date sunt foarte frecvente în diferite ramuri ale științei și tehnologiei și apar atunci când sunt măsurate mai multe trăsături pentru fiecare probă, cum ar fi expresia multor specii. Acest tip de date prezintă probleme cauzate de o rată de eroare crescută din cauza corecțiilor multiple ale datelor.

Metoda este similară cu gruparea - găsește modele nelegate și le analizează, verificând dacă eșantioanele provin din diferite grupuri de studiu și dacă au diferențe semnificative. Ca în toate metode statistice, poate fi aplicat incorect. Scalarea variabilă poate duce la rezultate diferite ale analizei și este important ca aceasta să nu fie ajustată pentru a se potrivi cu valoarea anterioară a datelor.

Obiectivele analizei componentelor

Scopul principal al metodei este de a detecta și reduce dimensionalitatea unui set de date, pentru a determina noi variabile de bază semnificative. Pentru a face acest lucru, se propune utilizarea unor instrumente speciale, de exemplu, pentru a colecta date multidimensionale într-o matrice de date TableOfReal în care rândurile sunt asociate cu cazuri și coloane de variabile. Prin urmare, TableOfReal este interpretat ca vectori de date numberOfRows, fiecare vector având un număr de elemente Columns.

În mod tradițional, analiza componentelor principale este efectuată pe o matrice de covarianță sau pe o matrice de corelație, care poate fi calculată din matricea de date. Matricea de covarianță conține sume scalate de pătrate și produse încrucișate. Matricea de corelație este similară cu matricea de covarianță, dar în ea variabilele, adică coloanele, au fost mai întâi standardizate. În primul rând, va trebui să standardizați datele dacă variațiile sau unitățile de măsură ale variabilelor sunt foarte diferite. Pentru a efectua analiza, selectați matricea de date TabelOfReal din lista de obiecte și chiar faceți clic pe Go.

Acest lucru va duce la apariția unui nou obiect în lista de obiecte după metoda componentei principale. Acum puteți trasa curbele de valori proprii pentru a vă face o idee despre importanța fiecăreia. Și, de asemenea, programul poate oferi o acțiune: obțineți proporția varianței sau verificați egalitatea numărului de valori proprii și obțineți egalitatea acestora. Deoarece componentele sunt obținute prin rezolvarea unei anumite probleme de optimizare, ele au unele proprietăți „încorporate”, cum ar fi variabilitatea maximă. În plus, există o serie de alte proprietăți pe care analiza factorială le poate oferi:

  • varianța fiecăruia, în timp ce ponderea varianței totale a variabilelor inițiale este dată de valorile proprii;
  • calcule de evaluare care ilustrează valoarea fiecărei componente sub observație;
  • obținerea de încărcări care descriu corelația dintre fiecare componentă și fiecare variabilă;
  • corelația dintre variabilele originale reproduse folosind componenta p;
  • reproducerea datelor originale poate fi reprodusă cu p-componente;
  • componente „rotative” pentru a le spori interpretabilitatea.

Selectarea numărului de puncte de stocare

Există două moduri de a selecta numărul necesar de componente de stocat. Ambele metode se bazează pe relații dintre valorile proprii. Pentru a face acest lucru, se recomandă reprezentarea grafică a valorilor. Dacă punctele de pe grafic tind să se aplatizeze și sunt suficient de aproape de zero, atunci ele pot fi ignorate. Limitați numărul de componente la un număr care reprezintă o anumită proporție din variația totală. De exemplu, dacă utilizatorul satisface 95% din variația totală - obțineți numărul de componente (VAF) 0,95.

Componentele principale sunt obținute prin proiectarea unui multidimensional analize statistice metoda componentelor principale ale vectorilor de date pe spațiul vectorilor proprii. Acest lucru se poate face în două moduri - direct din TableOfReal fără a genera mai întâi un obiect PCA, iar apoi puteți afișa configurația sau numerele acesteia. Selectați obiectul și TableOfReal împreună și „Configuration”, astfel analiza se realizează în mediul propriu al componentei.

Dacă punctul de pornire se dovedește a fi o matrice simetrică, cum ar fi o matrice de covarianță, mai întâi efectuați reducerea la formă și apoi algoritmul QL cu deplasări implicite. Dacă, dimpotrivă, punctul de plecare este o matrice de date, atunci este imposibil să se formeze o matrice cu sume de pătrate. În schimb, se deplasează dintr-un mod mai stabil din punct de vedere numeric și formează expansiuni de valoare singulară. Apoi matricea va conține vectori proprii și elementele diagonale pătrate - valori proprii.

Componenta principală este combinația liniară normalizată a predictorilor inițiali din setul de date pentru componenta principală pentru dummy. În imaginea de mai sus, PC1 și PC2 sunt componentele principale. Să presupunem că există o serie de predictori precum X1, X2...,Xp.

Componenta principală poate fi scrisă ca: Z1 = 11X1 + 21X2 + 31X3 + .... + p1Xp

  • Z1 - este prima componentă principală;
  • p1 - ​​​​este vectorul de sarcină format din sarcinile (1, 2.) ale primei componente principale.

Sarcinile sunt limitate la suma pătratului lui 1. Acest lucru se datorează faptului că sarcinile mari pot duce la o dispersie mare. De asemenea, definește direcția componentei principale (Z1) unde datele diferă cel mai mult. Acest lucru duce la faptul că linia din spațiul p-măsurilor este cea mai apropiată de n-observații.

Proximitatea este măsurată folosind distanța euclidiană rms. X1..Xp sunt predictori normalizați. Predictorii normalizați au o valoare medie de zero și deviație standard egal cu unu. Prin urmare, prima componentă principală este o combinație liniară a variabilelor predictoare originale care surprinde varianța maximă a setului de date. Determină direcția celei mai mari variații a datelor. Cu cât variabilitatea înregistrată în prima componentă este mai mare, cu atât informațiile primite de aceasta sunt mai mari. Niciun altul nu poate avea o volatilitate mai mare decât primul major.

Prima componentă principală are ca rezultat linia care este cea mai apropiată de date și minimizează suma pătratului distanței dintre punctul de date și linie. A doua componentă principală (Z2) este de asemenea combinație liniară predictori originali care surprinde varianța rămasă în setul de date și este necorelat Z1. Cu alte cuvinte, corelația dintre prima și a doua componentă ar trebui să fie zero. Poate fi reprezentat ca: Z2 = 12X1 + 22X2 + 32X3 + .... + p2Xp.

Dacă nu sunt corelate, direcțiile lor trebuie să fie ortogonale.

După ce componentele principale sunt calculate, începe procesul de predicție a datelor de testare folosindu-le. Procesul principal al metodei componentelor pentru manechine este simplu.

De exemplu, este necesar să se facă o transformare la setul de testare, inclusiv funcția de centru și scară în limbajul R (v.3.4.2) și biblioteca sa rvest. R este un limbaj de programare gratuit pentru calcul statistic și grafică. A fost reconstruit în 1992 pentru a rezolva problemele statistice ale utilizatorilor. Acesta este procesul complet de simulare după extracția PCA.

Pentru a implementa PCA în python, importați date din biblioteca sklearn. Interpretarea rămâne aceeași ca și pentru utilizatorii R. Doar setul de date folosit pentru Python este o versiune curățată, fără valori lipsă imputate și variabile categoriale convertite în numere. Procesul de simulare rămâne același cu cel descris mai sus pentru utilizatorii R. Analiza componentelor principale, exemplu de calcul:

Ideea din spatele metodei componentelor principale este de a aproxima această expresie pentru a efectua analiza factorială. În loc să însumeze de la 1 la p, acum însumează de la 1 la m, ignorând-o pe cea din urmă p-m membriîn sumă și obținând a treia expresie. Este posibil să rescrieți acest lucru așa cum se arată în expresia care este utilizată pentru a defini matricea de încărcare a factorilor L, care dă expresia finală în notație matriceală. Dacă sunt utilizate măsurători standardizate, înlocuiți S cu matricea de eșantion de corelație R.

Aceasta formează matricea de încărcare a factorilor L în analiza factorială și este urmată de L transpus. Pentru a estima varianțe specifice, modelați factorii matricei de varianță-covarianță.

Va fi acum egal cu matricea varianță-covarianță minus LL " .

  • Xi este vectorul observațiilor pentru al-lea subiect.
  • S reprezintă matricea noastră de varianță-covarianță eșantion.

Apoi valorile proprii p pentru această matrice de covarianță, precum și vectorii proprii corespunzători pentru această matrice.

Valori proprii S:λ^1, λ^2, ... , λ^p.

Vectori proprii S: e^1, e^2, ... , e^n.

Analiza PCA este o tehnică de analiză multivariată puternică și populară, care vă permite să explorați seturi de date multivariate cu variabile cantitative. Conform acestei tehnici, metoda componentelor principale este utilizată pe scară largă în bioinformatică, marketing, sociologie și multe alte domenii. XLSTAT oferă o modalitate completă și flexibilă de a explora datele direct în Excel și oferă mai multe opțiuni standard și avansate care vă vor oferi o înțelegere profundă a datelor utilizatorului.

Puteți rula programul pe date brute sau pe matrice de diferențe, puteți adăuga variabile sau observații suplimentare, puteți filtra variabile în funcție de diferite criterii pentru a optimiza citirea cardului. În plus, puteți efectua ture. Cerc de corelare ușor de configurat, grafic de observație ca diagrame standard Excel. Este suficient să transferați datele din raportul de rezultate pentru a le utiliza în analiză.

XLSTAT oferă mai multe metode de procesare a datelor pentru a fi utilizate la intrare înainte ca componenta principală să fie calculată:

  1. Pearson, un PCA clasic care standardizează automat datele pentru calcule pentru a evita variabilele umflate cu abateri mari de la rezultat.
  2. Covarianță care funcționează cu abateri non-standard.
  3. Policoric, pentru date ordinale.

Exemple de analiză a datelor dimensionale

Puteți lua în considerare metoda componentelor principale pe exemplul implementării unei matrice de corelație simetrică sau de covarianță. Aceasta înseamnă că matricea trebuie să fie numerică și să aibă date standardizate. Să presupunem că există un set de date cu dimensiuni de 300 (n) × 50 (p). Unde n este numărul de observații și p este numărul de predictori.

Deoarece există un p = 50 mare, poate exista o diagramă de dispersie p(p-1)/2. În acest caz, ar fi o abordare bună să alegeți un subset al predictorului p(p<< 50), который фиксирует количество информации. Затем следует составление графика наблюдения в полученном низкоразмерном пространстве. Не следует забывать, что каждое измерение является линейной комбинацией р-функций.

Un exemplu pentru o matrice cu două variabile. Acest exemplu de componente principale creează un set de date cu două variabile (lungime mare și lungime diagonală) folosind date Davis artificiale.

Componentele pot fi desenate pe un grafic de dispersie după cum urmează.

Acest grafic ilustrează ideea unei prime sau a unei componente principale care oferă un rezumat optim al datelor - nicio altă linie trasată pe un astfel de diagramă de dispersie nu ar produce un set de valori ale punctelor de date prezise pe o linie cu mai puțină varianță.

Prima componentă are, de asemenea, aplicații în regresia pe axa principală redusă (RMA), în care se presupune că ambele variabile x și y au erori sau incertitudini sau în care nu există o distincție clară între predictor și răspuns.

Analiza componentelor principale în econometrie este analiza unor variabile precum PNB, inflație, cursuri de schimb etc. Ecuațiile acestora sunt apoi evaluate pe baza datelor disponibile, în principal serii de timp agregate. Cu toate acestea, modelele econometrice pot fi utilizate pentru multe aplicații, altele decât cele macroeconomice. Deci econometria înseamnă măsurare economică.

Aplicarea metodelor statistice la econometria relevantă a datelor arată relația dintre variabilele economice. Un exemplu simplu de model econometric. Se presupune că cheltuielile lunare ale consumatorilor sunt liniar legate de veniturile consumatorilor din luna precedentă. Apoi modelul va consta din ecuație

Sarcina unui econometrician este de a obține estimări ale parametrilor a și b. Aceste estimări ale parametrilor, dacă sunt utilizate în ecuația modelului, prezic valorile viitoare ale consumului care vor depinde de veniturile lunii precedente. Există câteva lucruri de reținut atunci când dezvoltați aceste tipuri de modele:

  • natura procesului probabilistic care generează datele;
  • nivelul de cunoștințe despre acesta;
  • dimensiunea sistemului;
  • forma de analiza;
  • orizontul prognozei;
  • complexitatea matematică a sistemului.

Toate aceste ipoteze sunt importante deoarece afectează sursele de erori rezultate din model. În plus, pentru a rezolva aceste probleme, este necesară determinarea metodei de prognoză. Poate fi redus la un model liniar chiar dacă există doar un eșantion mic. Acest tip este unul dintre cele mai comune pentru care puteți crea o analiză predictivă.

Statistici neparametrice

Analiza componentelor principale pentru datele neparametrice se referă la metode de măsurare în care datele sunt extrase dintr-o anumită distribuție. Metodele statistice neparametrice sunt utilizate pe scară largă în diferite tipuri de cercetare. În practică, atunci când ipoteza de normalitate nu este îndeplinită, metodele statistice parametrice pot duce la rezultate înșelătoare. În schimb, metodele neparametrice fac ipoteze mult mai puțin stricte cu privire la distribuția pe dimensiuni.

Ele sunt valabile indiferent de distribuțiile subiacente ale observațiilor. Datorită acestui avantaj atractiv, au fost dezvoltate multe tipuri diferite de teste neparametrice pentru a analiza diferite tipuri de modele experimentale. Astfel de proiecte acoperă proiectarea unui singur eșantion, proiectarea eșantionului dublu, proiectarea blocurilor randomizate. În prezent, o abordare bayesiană neparametrică folosind metoda componentelor principale este utilizată pentru a simplifica analiza fiabilității sistemelor feroviare.

Un sistem feroviar este un sistem complex tipic la scară largă cu subsisteme interconectate care conțin numeroase componente. Fiabilitatea sistemului este menținută prin măsuri de întreținere adecvate, iar managementul eficient al activelor necesită o evaluare precisă a fiabilității la cel mai scăzut nivel. Cu toate acestea, datele reale de fiabilitate la nivelul componentelor sistemului feroviar nu sunt întotdeauna disponibile în practică, cu atât mai puțin completarea. Distribuția ciclurilor de viață ale componentelor de la producători este adesea ascunsă și complicată de utilizarea reală și de mediile de lucru. Astfel, analiza fiabilității necesită o metodologie adecvată pentru estimarea duratei de viață a unei componente în absența datelor de defecțiune.

Analiza componentelor principale în științele sociale este utilizată pentru a îndeplini două sarcini principale:

  • analiza conform datelor cercetării sociologice;
  • construirea modelelor de fenomene sociale.

Algoritmi pentru calcularea modelelor

Algoritmii de analiză a componentelor principale oferă o idee diferită a structurii modelului și a interpretării acestuia. Ele sunt o reflectare a modului în care este utilizat PCA în cadrul disciplinelor. Algoritmul iterativ neliniar al celor mai mici pătrate parțiale NIPALS este o metodă secvențială pentru calcularea componentelor. Calculul poate fi oprit devreme atunci când utilizatorul consideră că sunt suficiente. Majoritatea pachetelor de computer tind să utilizeze algoritmul NIPALS, deoarece are două avantaje principale:

  • se ocupă de datele lipsă;
  • calculează secvenţial componentele.

Scopul luării în considerare a acestui algoritm:

  • oferă o perspectivă suplimentară asupra a ceea ce înseamnă încărcările și estimările;
  • arată cum fiecare componentă nu depinde ortogonal de alte componente;
  • arată cum algoritmul poate gestiona datele lipsă.

Algoritmul extrage secvențial fiecare componentă, începând cu prima direcție de cea mai mare varianță și apoi cu a doua și așa mai departe.NIPALS calculează câte o componentă odată. Prima calculată este echivalentă cu t1t1, iar vectorii p1p1 care ar fi găsiți dintr-o descompunere cu valori proprii sau valori singulare pot gestiona datele lipsă în XX. Converge întotdeauna, dar convergența poate fi uneori lentă. Este, de asemenea, cunoscut ca algoritmul de putere pentru calcularea vectorilor proprii și a valorilor proprii și funcționează excelent pentru seturi de date foarte mari. Google a folosit acest algoritm pentru versiunile timpurii ale motorului său de căutare.

Algoritmul NIPALS este prezentat în fotografia de mai jos.

Estimările coeficienților matricei T sunt apoi calculate ca T=XW și coeficienții de regresie parțială ai pătratelor B de la Y la X sunt calculați ca B=WQ. O metodă alternativă de estimare pentru părțile de regresie parțială cu cele mai mici pătrate poate fi descrisă după cum urmează.

Metoda componentelor principale este un instrument pentru determinarea axelor principale de varianță dintr-un set de date și facilitează explorarea variabilelor cheie ale datelor. Aplicată corect, metoda este una dintre cele mai puternice din setul de instrumente de analiză a datelor.

În acest articol, aș dori să vorbesc despre exact cum funcționează analiza componentelor principale (PCA) din punctul de vedere al intuiției din spatele aparatului său matematic. Cat mai simplu, dar detaliat.

Matematica în general este o știință foarte frumoasă și elegantă, dar uneori frumusețea ei este ascunsă în spatele unei grămadă de straturi de abstractizare. Cel mai bine este să arătați această frumusețe cu exemple simple, care, ca să spunem așa, pot fi răsucite, jucate și atinse, pentru că în cele din urmă totul se dovedește a fi mult mai simplu decât pare la prima vedere - cel mai important lucru este să înțelegeți și imaginați-vă.

În analiza datelor, ca și în orice altă analiză, este uneori util să se creeze un model simplificat care să descrie starea reală a lucrurilor cât mai precis posibil. Se întâmplă adesea ca semnele să fie destul de dependente unele de altele și prezența lor simultană să fie redundantă.

De exemplu, consumul nostru de combustibil este măsurat în litri la 100 km, iar în SUA în mile pe galon. La prima vedere, cantitățile sunt diferite, dar de fapt sunt strict dependente una de cealaltă. Sunt 1600 km într-o milă și 3,8 litri într-un galon. Un semn depinde strict de celălalt, cunoscând unul, îl cunoaștem pe celălalt.

Dar mult mai des se întâmplă ca semnele să nu depindă una de alta atât de strict și (important!) Nu atât de clar. Dimensiunea motorului în general are un efect pozitiv asupra accelerației până la 100 km/h, dar acest lucru nu este întotdeauna adevărat. Și se poate dovedi că, ținând cont de factori care nu sunt vizibili la prima vedere (cum ar fi calitatea îmbunătățită a combustibilului, utilizarea de materiale mai ușoare și alte realizări moderne), anul mașinii nu este mult, dar afectează și accelerația sa.

Cunoscând dependențele și puterea lor, putem exprima mai multe semne printr-unul, le putem îmbina, ca să spunem așa, și putem lucra cu un model mai simplu. Desigur, cel mai probabil nu se va putea evita pierderea de informații, dar metoda PCA este cea care ne va ajuta să o minimizăm.

Mai strict vorbind, această metodă aproximează un nor n-dimensional de observații la un elipsoid (de asemenea n-dimensional), ale cărui semi-axe vor fi viitoarele componente principale. Și atunci când proiectați pe astfel de axe (reducerea dimensiunilor), cea mai mare cantitate de informații este păstrată.

Pasul 1. Pregătirea datelor

Aici, pentru simplitatea exemplului, nu voi lua seturi de date reale de antrenament pentru zeci de caracteristici și sute de observații, ci voi face propriul exemplu de jucărie, cât mai simplu posibil. 2 semne și 10 observații vor fi suficiente pentru a descrie ce se întâmplă și, cel mai important, de ce se întâmplă în intestinele algoritmului.

Să generăm un eșantion:

X = np.arange(1,11) y = 2 * x + np.random.randn(10)*2 X = np.vstack((x,y)) print X OUT: [[ 1. 2. 3. 4.5.6.7.8.9.10.]

În acest eșantion, avem două caracteristici care sunt puternic corelate între ele. Folosind algoritmul PCA, putem găsi cu ușurință o caracteristică combinată și, cu prețul unor informații, putem exprima ambele caracteristici cu una nouă. Deci, hai să aflăm!

Să începem cu câteva statistici. Amintiți-vă că momentele sunt folosite pentru a descrie o variabilă aleatorie. Avem nevoie de - mat. așteptări și variații. Putem spune că mat. așteptarea este „centrul de greutate” al cantității, iar varianța este „dimensiunile” acesteia. În linii mari, mat. așteptarea specifică poziția variabilei aleatoare, iar varianța specifică dimensiunea acesteia.

Procesul de proiecție pe vector în sine nu afectează în niciun fel valorile medii, deoarece pentru a minimiza pierderea de informații, vectorul nostru trebuie să treacă prin centrul eșantionului nostru. Prin urmare, nu trebuie să vă faceți griji dacă ne concentrăm eșantionul - îl deplasăm liniar, astfel încât valorile medii ale caracteristicilor să fie egale cu 0. Acest lucru va simplifica foarte mult calculele noastre ulterioare (deși merită remarcat faptul că putem face fără centrare).
Operatorul, inversul deplasării va fi egal cu vectorul mediilor originale - va fi necesar pentru a restabili eșantionul în dimensiunea inițială.

Xcentered = (X - x.mean(), X - y.mean()) m = (x.mean(), y.mean()) print Xcentered print "Vector mediu: ", m OUT: (matrice ([ -4.5, -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, 3.5, 4.5]), Array ([ -8.44644233, -8.32845585, --4.93314426, -2.56723136, 1.01013247, 0.58413955555555555555555555555555555555555555555555555555555555555555555555555555555EL 4.21440647, 9.59501658 ])) Vector mediu: (5,5, 10,314393916)

Varianta depinde puternic de ordinele de mărime ale variabilei aleatoare, adică sensibil la scalare. Prin urmare, dacă unitățile de măsură ale caracteristicilor diferă foarte mult în ordinea lor, este foarte recomandat să le standardizați. În cazul nostru, valorile nu diferă mult în ordine, așa că, de dragul simplității exemplului, nu vom efectua această operație.

Pasul 2. Matricea de covarianță

În cazul unei variabile aleatoare multidimensionale (vector aleatoriu), poziția centrului va fi totuși un mat. așteptările proiecțiilor sale pe axă. Dar pentru a-i descrie forma, doar dispersia sa de-a lungul axelor nu mai este suficientă. Priviți aceste grafice, toate cele trei variabile aleatoare au aceeași așteptare și varianță, iar proiecțiile lor pe axe vor fi în general aceleași!


Pentru a descrie forma unui vector aleatoriu, este necesară o matrice de covarianță.

Aceasta este o matrice care (i,j)-elementul este o corelație de caracteristică (X i , X j). Amintiți-vă formula de covarianță:

În cazul nostru, este simplificat, deoarece E(X i) = E(X j) = 0:

Rețineți că atunci când X i = X j:

și acest lucru este valabil pentru orice variabile aleatoare.

Astfel, în matricea noastră de-a lungul diagonalei vor exista variații de caracteristici (deoarece i = j), iar în celulele rămase vor exista covarianțe ale perechilor de caracteristici corespunzătoare. Și datorită simetriei covarianței, matricea va fi și ea simetrică.

Cometariu: Matricea de covarianță este o generalizare a varianței în cazul variabilelor aleatoare multidimensionale - descrie, de asemenea, forma (împrăștierea) variabilei aleatoare, la fel ca și varianța.

Într-adevăr, varianța unei variabile aleatoare unidimensionale este o matrice de covarianță 1x1, în care singurul său termen este dat de formula Cov(X,X) = Var(X).

Deci, să formăm matricea de covarianță Σ pentru proba noastră. Pentru a face acest lucru, calculăm varianțele lui X i și X j , precum și covarianța lor. Puteți folosi formula de mai sus, dar din moment ce suntem înarmați cu Python, este un păcat să nu folosiți funcția numpy.cov(X). Ia ca intrare o listă a tuturor caracteristicilor unei variabile aleatoare și returnează matricea de covarianță a acesteia și unde X este un vector aleator n-dimensional (n-număr de rânduri). Funcția este excelentă pentru calcularea varianței nepărtinitoare și pentru covarianța a două mărimi și pentru compilarea matricei de covarianță.
(Reamintim că în Python, o matrice este reprezentată de o coloană-matrice de rânduri-matrice.)

Covmat = np.cov(Xcentered) print covmat, "n" print "Varianța lui X: ", np.cov(Xcentered) print "Varianța lui Y: ", np.cov(Xcentered) print "Covarianța X și Y: " , np.cov(Xcentered) OUT: [[ 9.16666667 17.93002811] [ 17.93002811 37.26438587]]

Pasul 3. Perechi proprii și perechi proprii

Bine, avem o matrice care descrie forma variabilei noastre aleatoare, din care putem obține dimensiunile acesteia în x și y (adică X 1 și X 2), precum și o formă aproximativă în plan. Acum trebuie să găsim un astfel de vector (în cazul nostru, doar unul), care ar maximiza dimensiunea (varianța) proiecției eșantionului nostru pe el.

Cometariu: Generalizarea varianței la dimensiuni mai mari este matricea de covarianță, iar cele două concepte sunt echivalente. Atunci când este proiectată pe un vector, varianța de proiecție este maximizată, iar atunci când este proiectată pe spații de ordine superioară, întreaga sa matrice de covarianță este maximizată.

Deci, să luăm un vector unitar pe care vom proiecta vectorul nostru aleator X. Apoi proiecția pe acesta va fi egală cu v T X. Varianta proiecției pe vector va fi egală cu Var(v T X), respectiv. În termeni generali, sub formă vectorială (pentru mărimi centrate), varianța se exprimă astfel:

În consecință, varianța proiecției este:

Este ușor de observat că varianța este maximizată la valoarea maximă a lui v T Σv. Relația Rayleigh ne va ajuta aici. Fără a intra prea adânc în matematică, voi spune doar că relația Rayleigh are un caz special pentru matricele de covarianță:

Ultima formulă ar trebui să fie familiară din subiectul descompunerii unei matrice în vectori proprii și valori. x este un vector propriu și λ este o valoare proprie. Numărul de vectori proprii și de valori este egal cu dimensiunea matricei (și valorile pot fi repetate).

Apropo, în engleză se numesc valori proprii și vectori valori propriiși vectori proprii respectiv.
Cred că sună mult mai frumos (și concis) decât termenii noștri.

Astfel, direcția dispersiei maxime a proiecției coincide întotdeauna cu vectorul propriu având valoarea proprie maximă egală cu valoarea acestei dispersii.

Și acest lucru este valabil și pentru proiecțiile pe mai multe dimensiuni - varianța (matricea de covarianță) a proiecției pe un spațiu m-dimensional va fi maximă în direcția m vectori proprii care au valori proprii maxime.

Dimensiunea eșantionului nostru este egală cu doi, iar numărul de vectori proprii din acesta, respectiv, este 2. Să-i găsim.

Biblioteca numpy implementează funcția numpy.linalg.eig(X), unde X este o matrice pătrată. Returnează 2 matrice - o matrice de valori proprii și o matrice de vectori proprii (vectori coloană). Și vectorii sunt normalizați - lungimea lor este egală cu 1. Exact ceea ce aveți nevoie. Acești 2 vectori definesc o nouă bază pentru eșantion, astfel încât axele sale să coincidă cu semiaxele elipsei de aproximare a probei noastre.



În acest grafic, am aproximat eșantionul nostru cu o elipsă cu raze de 2 sigma (adică ar trebui să conțină 95% din toate observațiile - care, în principiu, este ceea ce observăm aici). Am inversat vectorul mai mare (funcția eig(X) l-a inversat) - ne pasă de direcția, nu de orientarea vectorului.

Pasul 4 Reducere dimensională (proiecție)

Cel mai mare vector are o direcție asemănătoare dreptei de regresie și, proiectând eșantionul nostru pe acesta, vom pierde informații comparabile cu suma termenilor reziduali ai regresiei (doar distanța este acum euclidiană și nu delta în Y). În cazul nostru, dependența dintre caracteristici este foarte puternică, astfel încât pierderea de informații va fi minimă. „Prețul” proiecției - varianța față de vectorul propriu mai mic - după cum puteți vedea din graficul anterior, este foarte mic.

Cometariu: elementele diagonale ale matricei de covarianță arată variațiile față de baza originală, iar valorile proprii ale acesteia – față de noi (componentele principale).

Este adesea necesar să se estimeze cantitatea de informații pierdute (și salvate). Cel mai bine este să-l exprimați ca procent. Luăm variațiile de-a lungul fiecărei axe și împărțim la suma totală a variațiilor de-a lungul axelor (adică suma tuturor valorilor proprii ale matricei de covarianță).
Astfel, vectorul nostru mai mare descrie 45,994 / 46,431 * 100% = 99,06%, iar cel mai mic, respectiv, aproximativ 0,94%. Aruncând un vector mai mic și proiectând datele pe unul mai mare, pierdem mai puțin de 1% din informații! Rezultat excelent!

Cometariu:În practică, în majoritatea cazurilor, dacă pierderea totală de informații nu este mai mare de 10-20%, atunci puteți reduce în siguranță dimensiunea.

Pentru a efectua proiecția, așa cum sa menționat mai devreme în pasul 3, este necesar să se efectueze operația v T X (vectorul trebuie să aibă lungimea 1). Sau, dacă nu avem un vector, ci un hiperplan, atunci în loc de vectorul v T luăm matricea vectorilor de bază V T . Vectorul rezultat (sau matricea) va fi o serie de proiecții ale observațiilor noastre.

V = (-vecs, -vecs) Xnew = punct(v,Xcentrat)

punct(X,Y)- produs termen cu termen (așa înmulțim vectorii și matricele în Python)

Este ușor de observat că valorile de proiecție corespund imaginii din graficul anterior.

Pasul 5. Recuperarea datelor

Este convenabil să lucrați cu proiecția, să construiți ipoteze pe baza acesteia și să dezvoltați modele. Dar nu întotdeauna principalele componente obținute vor avea un sens clar, de înțeles pentru un străin. Uneori este util să decodați, de exemplu, valorile aberante detectate pentru a vedea cât valorează observațiile lor.

E foarte simplu. Avem toate informațiile necesare, și anume coordonatele vectorilor de bază în baza originală (vectori pe care am proiectat) și vectorul de medii (pentru decentrare). Luați, de exemplu, cea mai mare valoare: 10.596 ... și decodați-o. Pentru a face acest lucru, îl înmulțim în dreapta cu vectorul transpus și adăugăm vectorul de medii, sau în formă generală pentru întregul eșantion: X T v T +m

Xrestored = dot(Xnew,v) + m print "Restaurat: ", Xrestored print "Original: ", X[:,9] OUT: Restaurat: [ 10.13864361 19.84190935] Original: [ 10. 19.9094105]

Diferența este mică, dar există. La urma urmei, informațiile pierdute nu pot fi recuperate. Cu toate acestea, dacă simplitatea este mai importantă decât acuratețea, valoarea recuperată se aproximează bine cu valoarea inițială.

În loc de o concluzie, verificați algoritmul

Deci, am analizat algoritmul, am arătat cum funcționează pe un exemplu de jucărie, acum rămâne doar să-l comparăm cu PCA implementat în sklearn - la urma urmei, îl vom folosi.

Din sklearn.decomposition import PCA pca = PCA(n_components = 1) XPCAreduced = pca.fit_transform(transpose(X))

Parametru n_componente indică numărul de dimensiuni la care se va face proiecția, adică la câte dimensiuni dorim să ne reducem setul de date. Cu alte cuvinte, aceștia sunt n vectori proprii cu cei mai mari vectori proprii. Să verificăm rezultatul reducerii dimensiunii:

Tipăriți „Noi redus X: N”, XNew Print „Sklearn redus X: N”, XpCared a ieșit: X: [-9.56404106 -9.02021625 -5.52974822 -2.96481262 0.68933859 0.744066485 2.33424492 7.39307974. ] [ -9,02021625] [ -5,52974822] [ -2,96481262] [ 0,68933859] [ 0,74406645] [ 2,33433492] [ 7,39307974] [ 7,39307974] [ 2,33433492] [ 7,39307974] [ 2,33433492] [ 2,33433492] [ 7,39307974] [ 2,33433492]

Am returnat rezultatul ca o matrice de vectori coloană ai observațiilor (acest lucru este mai canonic din punctul de vedere al algebrei liniare), în timp ce PCA în sklearn returnează o matrice verticală.

În principiu, acest lucru nu este critic, de remarcat doar că în algebra liniară este canonic să scrieți matrici prin vectori coloană, iar în analiza datelor (și în alte zone legate de baze de date) observațiile (tranzacții, înregistrări) sunt de obicei scrise pe rânduri.

Să verificăm alți parametri ai modelului - funcția are o serie de atribute care vă permit să accesați variabile intermediare:

Vector mediu: Rău_
- Vector de proiecție (matrice): componente_
- Dispersia axelor de proiecție (selectivă): varianta_explicata_
- Ponderea informațiilor (ponderea variației totale): raportul_varianță_explicat_

Cometariu: arata_varianta_explicata selectiv varianță, în timp ce funcția cov() pentru a construi matricea de covarianță calculează imparțial dispersie!

Să comparăm valorile obținute de noi cu valorile funcției de bibliotecă.

Print "Mean vector: ", pca.mean_, m print "Projection: ", pca.components_, v print "Explained variance ratio: ", pca.explained_variance_ratio_, l/sum(l) OUT: vector mediu: [ 5,5 10,31439392] (5.5, 10.314393916) Proiecție: [[0.43774316 0.89910006]] (0.43774316434772387, 0.89910006232167594) a explicat Varianța: [41.39455058] 45.99394509090580581

Singura diferență este în variații, dar așa cum am menționat, am folosit funcția cov(), care utilizează varianța imparțială, în timp ce atributul explicated_variance_ returnează varianța eșantionată. Ele diferă doar prin aceea că primul împarte la (n-1) pentru a obține așteptarea, iar al doilea împarte la n. Este ușor de verificat că 45,99 ∙ (10 - 1) / 10 = 41,39.

Toate celelalte valori sunt aceleași, ceea ce înseamnă că algoritmii noștri sunt echivalenti. Și, în cele din urmă, observ că atributele algoritmului bibliotecii au mai puțină acuratețe, deoarece este probabil optimizat pentru viteză sau pur și simplu rotunjește valorile pentru comoditate (sau am unele erori).

Cometariu: metoda bibliotecii se proiectează automat pe axe care maximizează varianța. Acest lucru nu este întotdeauna rațional. De exemplu, în această figură, reducerea inexactă a dimensiunii va duce la faptul că clasificarea va deveni imposibilă. Cu toate acestea, proiectarea pe un vector mai mic va reduce cu succes dimensionalitatea și va păstra clasificatorul.

Deci, am luat în considerare principiile algoritmului PCA și implementarea acestuia în sklearn. Sper că acest articol a fost suficient de clar pentru cei care abia încep să se familiarizeze cu analiza datelor și, de asemenea, măcar puțin informativ pentru cei care cunosc bine acest algoritm. Prezentarea intuitivă este extrem de utilă pentru înțelegerea modului în care funcționează metoda, iar înțelegerea este foarte importantă pentru setarea corectă a modelului ales. Vă mulțumim pentru atenție!

P.S.: Vă rugăm să nu certați autorul pentru posibile inexactități. Autorul însuși este în proces de familiarizare cu analiza datelor și dorește să-i ajute pe cei ca el în procesul de stăpânire a acestui uimitor domeniu de cunoaștere! Dar criticile constructive și experiențele variate sunt binevenite!

Metoda componentei principale(PCA - Analiza componentelor principale) este una dintre principalele modalități de reducere a dimensiunii datelor cu cea mai mică pierdere de informații. Inventat în 1901 de Karl Pearson, este utilizat pe scară largă în multe domenii. De exemplu, pentru compresia datelor, „viziunea pe computer”, recunoașterea modelului vizibil etc. Calculul componentelor principale se reduce la calculul vectorilor proprii și al valorilor proprii ale matricei de covarianță a datelor originale. Metoda componentei principale este adesea denumită Transformarea Karhunen-Löwe(transformarea Karhunen-Loeve) sau Hotelling transform(Transformarea hotelieră). La această problemă au lucrat și matematicienii Kosambi (1943), Pugaciov (1953) și Obukhova (1954).

Problema analizei componentelor principale are ca scop aproximarea (aproximativă) a datelor prin varietăți liniare de dimensiune inferioară; găsiți subspații de dimensiune inferioară, în proiecția ortogonală pe care răspândirea datelor (adică abaterea standard de la valoarea medie) este maximă; găsiți subspații de dimensiune inferioară, în proiecția ortogonală pe care distanța pătratică medie dintre puncte este maximă. În acest caz, se operează cu seturi finite de date. Sunt echivalente și nu folosesc nicio ipoteză despre generarea datelor statistice.

În plus, sarcina analizei componentelor principale poate fi scopul de a construi pentru o anumită variabilă aleatoare multidimensională o astfel de transformare ortogonală a coordonatelor care, ca urmare, corelațiile dintre coordonatele individuale vor dispărea. Această versiune operează cu variabile aleatorii.

Fig.3

Figura de mai sus arată punctele P i pe plan, p i este distanța de la P i la dreapta AB. Se caută o linie dreaptă AB care să minimizeze suma

Metoda componentelor principale a început cu problema celei mai bune aproximări (aproximații) a unui set finit de puncte prin linii drepte și plane. De exemplu, dat un set finit de vectori. Pentru fiecare k = 0,1,...,n ? 1 dintre toate varietățile liniare k-dimensionale în găsiți astfel încât suma abaterilor pătrate ale lui x i de la L k este minimă:

Unde? Distanța euclidiană de la un punct la o varietate liniară.

Orice varietate liniară k-dimensională în poate fi definită ca un set de combinații liniare, unde parametrii din i trec prin linia reală, nu? set ortonormal de vectori

unde este norma euclidiană? Produs punctual euclidian sau sub formă de coordonate:

Rezolvarea problemei de aproximare pentru k = 0,1,...,n ? 1 este dat de un set de varietati liniare imbricate

Aceste varietăți liniare sunt definite de o mulțime ortonormală de vectori (vectori componente principale) și un vector a 0 . Vectorul a 0 este căutat ca soluție la problema de minimizare pentru L 0:

Rezultatul este un exemplu de medie:

Matematicianul francez Maurice Frechet Frechet Maurice René (09/02/1878 - 06/04/1973) este un matematician francez remarcabil. A lucrat în domeniul topologiei și analizei funcționale, teoria probabilității. Autor al conceptelor moderne de spațiu metric, compactitate și completitudine. Auth. în 1948 a observat că definiția variațională a mediei ca punct care minimizează suma distanțelor pătrate la punctele de date este foarte convenabilă pentru construirea de statistici într-un spațiu metric arbitrar și a construit o generalizare a statisticilor clasice pentru spațiile generale, numită metoda generalizată. de cele mai mici pătrate.

Vectorii componente principale pot fi găsiți ca soluții la probleme similare de optimizare:

1) centralizați datele (scădeți media):

2) găsiți prima componentă principală ca soluție a problemei;

3) Scădeți din date proiecția pe prima componentă principală:

4) găsiți a doua componentă principală ca soluție la problemă

Dacă soluția nu este unică, atunci alegeți una dintre ele.

2k-1) Scădeți proiecția pe (k ? 1)-a componentă principală (rețineți că proiecțiile asupra componentelor principale anterioare (k ? 2) au fost deja scăzute):

2k) găsiți k-a componentă principală ca soluție a problemei:

Dacă soluția nu este unică, atunci alegeți una dintre ele.

Orez. patru

Prima componentă principală maximizează varianța eșantionului a proiecției datelor.

De exemplu, să presupunem că ni se oferă un set centrat de vectori de date în care media aritmetică a lui x i este zero. O sarcină? găsiți o astfel de transformare ortogonală într-un nou sistem de coordonate pentru care următoarele condiții ar fi adevărate:

1. Varianta eșantionului de date de-a lungul primei coordonate (componenta principală) este maximă;

2. Varianța eșantionului de date de-a lungul celei de-a doua coordonate (a doua componentă principală) este maximă în condițiile ortogonalității față de prima coordonată;

3. Dispersia eșantionului de date de-a lungul valorilor coordonatei k este maximă în condițiile ortogonalității cu primul k ? 1 coordonate;

Varianta eșantionului de date de-a lungul direcției date de vectorul normalizat a k este

(deoarece datele sunt centrate, varianța eșantionului aici este aceeași cu abaterea medie pătrată de la zero).

Rezolvarea celei mai bune probleme de potrivire produce același set de componente principale ca și găsirea proiecțiilor ortogonale cu cea mai mare împrăștiere, dintr-un motiv foarte simplu:

iar primul termen nu depinde de un k .

Matricea de conversie a datelor în componente principale este construită din vectorii "A" ai componentelor principale:

Aici ai sunt vectori coloană ortonormali ai componentelor principale aranjate în ordinea descrescătoare a valorilor proprii, superscriptul T înseamnă transpunere. Matricea A este ortogonală: AA T = 1.

După transformare, cea mai mare parte a variației datelor va fi concentrată în primele coordonate, ceea ce face posibilă eliminarea celor rămase și luarea în considerare a unui spațiu cu dimensiuni reduse.

Cea mai veche metodă de selecție a componentelor principale este regula lui Kaiser, Kaiser Johann Henrich Gustav (Kaiser Johann Henrich Gustav, 16.03.1853, Brezno, Prusia - 14.10.1940, Germania) - un remarcabil matematician, fizician, cercetător în domeniul analizei spectrale. Auth. conform căreia acele componente principale sunt semnificative pentru care

adică l i depășește valoarea medie a lui l (varianța medie a eșantionului a coordonatelor vectorului de date). Regula lui Kaiser funcționează bine în cazurile simple în care există mai multe componente principale cu l i care sunt mult mai mari decât media, iar restul valorilor proprii sunt mai mici decât aceasta. În cazuri mai complexe, poate da prea multe componente principale semnificative. Dacă datele sunt normalizate la varianța eșantionului unitar de-a lungul axelor, atunci regula Kaiser ia o formă deosebit de simplă: numai acele componente principale sunt semnificative pentru care l i > 1.

Una dintre cele mai populare abordări euristice pentru estimarea numărului de componente principale necesare este regula bastonului rupt, când se compară mulțimea valorilor proprii normalizate la suma unitară (, i = 1,...n) cu distribuția lungimii fragmentelor unui baston de lungime unitară ruptă la n ? Primul punct selectat aleatoriu (punctele de rupere sunt alese independent și sunt distribuite egal pe lungimea bastonului). Dacă L i (i = 1,...n) sunt lungimile pieselor de trestie obținute, numerotate în ordinea descrescătoare a lungimii: , atunci așteptarea lui L i:

Să luăm în considerare un exemplu care constă în estimarea numărului de componente principale după regula bastonului rupt în dimensiunea 5.

Orez. 5.

După regula bastonului rupt, k-lea vector propriu (în ordinea descrescătoare a valorilor proprii l i) este stocat în lista componentelor principale dacă

Figura de mai sus prezintă un exemplu pentru cazul cu 5 dimensiuni:

l 1 =(1+1/2+1/3+1/4+1/5)/5; l 2 =(1/2+1/3+1/4+1/5)/5; l 3 \u003d (1/3 + 1/4 + 1/5) / 5;

l 4 \u003d (1/4 + 1/5) / 5; l 5 \u003d (1/5) / 5.

De exemplu, selectat

0.5; =0.3; =0.1; =0.06; =0.04.

Conform regulii unui baston rupt, în acest exemplu ar trebui lăsate 2 componente principale:

Trebuie reținut doar că regula bastonului rupt tinde să subestimeze numărul de componente principale semnificative.

După proiectarea pe primele k componente principale c, este convenabil să se normalizeze la varianța unității (eșantionului) de-a lungul axelor. Dispersia de-a lungul celei de-a i-a componente principale este egală), deci pentru normalizare este necesar să se împartă coordonatele corespunzătoare la. Această transformare nu este ortogonală și nu păstrează produsul punctual. După normalizare, matricea de covarianță a proiecției datelor devine unitate, proiecțiile către oricare două direcții ortogonale devin valori independente și orice bază ortonormală devine baza componentelor principale (amintim că normalizarea modifică relația de ortogonalitate vectorială). Maparea din spațiul de date inițial la primele k componente principale împreună cu normalizarea este dată de matrice

Această transformare este cea mai adesea numită transformarea Karhunen-Loeve, adică metoda componentelor principale în sine. Aici a i sunt vectori coloană și superscriptul T înseamnă transpunere.

În statistică, atunci când se utilizează metoda componentelor principale, se folosesc mai mulți termeni speciali.

Matricea de date, unde fiecare rând este un vector de date preprocesate (centrate și normalizate corespunzător), numărul de rânduri este m (numărul de vectori de date), numărul de coloane este n (dimensiunea spațiului de date);

Încărcare matrice(Încărcări) , unde fiecare coloană este un vector de componentă principală, numărul de rânduri este n (dimensiunea spațiului de date), numărul de coloane este k (numărul de vectori de componentă principală selectați pentru proiecție);

Matricea de facturare(Scoruri)

unde fiecare rând este proiecția vectorului de date pe k componente principale; numărul de rânduri - m (numărul de vectori de date), numărul de coloane - k (numărul de vectori de componente principale selectați pentru proiecție);

Matricea scorului Z(scoruri Z)

unde fiecare rând este proiecția vectorului de date pe k componente principale, normalizate la varianța eșantionului unitar; numărul de rânduri - m (numărul de vectori de date), numărul de coloane - k (numărul de vectori de componente principale selectați pentru proiecție);

Matricea erorilor (resturi) (Erori sau reziduuri)

Formula de baza:

Astfel, Metoda componentei principale este una dintre principalele metode de statistică matematică. Scopul său principal este de a face distincția între necesitatea de a studia matricele de date cu un minim de utilizare a acestora.

Acțiune