Főkomponens-analízis

A Wikipédiából, a szabad enciklopédiából
Jump to navigation Jump to search

A főkomponens-analízis vagy főkomponens-elemzés (angolul Principal Component Analysis, rövidítve PCA) egy többváltozós statisztikai eljárás, mely az adatredukciós módszerek közé sorolható, s a faktoranalízis egy speciális esetének tekinthető.[1] Lényege, hogy egy nagy adathalmaz ─ melynek változói kölcsönös kapcsolatban állnak egymással ─ dimenzióit lecsökkentse, miközben a jelen lévő varianciát a lehető legjobban megtartja.[2] Ezt úgy hajtja végre, hogy egy ortogonális (merőleges) transzformáció segítségével az adathalmaz lehetségesen korreláltatható változóit lineárisan korrelálatlan változók értékkészletévé alakítja át, melyeket főkomponenseknek nevezünk. A főkomponensek száma kisebb vagy egyenlő az eredeti változók számával. A transzformáció oly módon meghatározott, hogy az első főkomponens rendelkezik a lehető legnagyobb varianciával (vagyis az adatok akkora mértékű szóródását magyarázza, amekkora lehetséges), s minden utána következő komponens a fennmaradó legnagyobb varianciával fog rendelkezni, ha megfelel annak a feltételnek, hogy merőleges (azaz korrelálatlan) az azt megelőző komponensekre. A főkomponensek merőlegesek, mivel a kovariancia mátrix – ami szimmetrikus ─ sajátvektorai. A főkomponens-analízis érzékeny az eredeti változók relatív skálázására.

A főkomponens-analízist Karl Pearson alkotta meg 1901-ben,[3] a mechanikában használt tehetetlenségi nyomaték elmélet analógiájára; később, tőle függetlenül, Harold Hotelling is kidolgozta 1933-ban,[4] elterjedését azonban a számítógépek megjelenésének köszönheti.[5] Az eljárást elsősorban a feltáró adatelemzésben használják és a prediktív modellek előállításában. A főkomponens-analízis elvégezhető egy kovariáns (vagy korrelációs) adatmátrix sajátértékeinek dekompozíciójával vagy egy adatmátrix szinguláris értékeinek dekompozíciójával, azután, hogy minden jellemzőre elvégeztük az adatmátrix mintaátlag igazítását (és normalizálását vagy Z-értékek használatát).[6] A főkomponens-analízis eredményét általában komponens pontszámban, vagy faktorszkórban (adott adatpontnak megfelelő transzformált változó érték) és töltésben (az a súly, amellyel minden eredeti, standardizált változót meg kell szorozni, ahhoz, hogy megkapjuk a komponens pontszámokat) kifejezve értelmezzük.[7]

A főkomponens-analízis a legegyszerűbb a sajátvektor-alapú többváltozós elemzések közül. Működése felfogható úgy, mint az adat belső struktúrájának feltárása oly módon, hogy az a legjobban magyarázza az adathalmaz szóródását. Ha egy többváltozós adathalmaz egy nagy-dimenziós adattérben koordináták halmazaként ábrázolt, a főkomponens-analízis egy alacsonyabb dimenziójú képet szolgáltathat a felhasználó számára, a leginformatívabb nézőpontból nézve az objektum egy levetítése vagy „árnyéka” által. Ez az első néhány főkomponens felhasználásával történik úgy, hogy a transzformált adat dimenzióit lecsökkentjük.

A főkomponens-analízis szorosan összefügg a faktoranalízissel és a kanonikus korrelációelemzéssel. A faktoranalízis több doménium specifikus feltételt épít be a mögöttes struktúráról és egy kissé eltérő mátrix sajátvektoraival dolgozik. A kanonikus korrelációelemzés egy olyan koordináta rendszert határoz meg, mely két adathalmaz közti kereszt-kovarianciát írja le optimálisan, míg a főkomponens-analízis egy olyan, új ortogonális koordináta rendszert határoz meg, mely egyetlen adathalmaz varianciáját írja le optimálisan.

Intuíció[szerkesztés]

A főkomponens-analízis felfogható úgy is, mint ha egy n dimenziós ellipszoidot próbálnánk az adatokra illeszteni, ahol az ellipszoid mindegyik tengelye egy főkomponens lenne. Ha az ellipszoid valamelyik tengelye kicsi, akkor a tengely menti variancia is kicsi lesz, és ha elhagyjuk ezt a tengelyt és a hozzá tartozó főkomponenst az adathalmaz reprezentációjából, akkor csak egy ezzel arányosan kis adatmennyiséget veszítünk el.

Ahhoz, hogy megtaláljuk az ellipszoid tengelyeit, elsőként ki kell vonnunk minden változó átlagát az adathalmazból, hogy az adatokat az origó köré igazítsuk. Ezután kiszámítjuk az adatok kovariancia mátrixát és a sajátértékeket, illetve a kovariancia mátrixhoz tartozó sajátvektorokat. Utána merőlegesítjük (ortogonalizáljuk) és normalizáljuk a sajátvektor halmazt (a klasszikus Karteziánus koordináta rendszerek egy típusa: ortonormált=ortogonális és normált), hogy egységvektorokat kapjunk. Ezt követően a kapott, kölcsönösen merőleges egységvektorokra úgy tekinthetünk, mint az ellipszoid adatra illesztett tengelyeire. A varianciák azon hányada, melyet az egyes sajátvektorok képviselnek kiszámítható úgy, hogy a sajátvektorhoz tartozó sajátértéket elosztjuk az összes sajátérték összegével.

Fontos megjegyezni, hogy ez az eljárás érzékeny az adatok skálázására, s nem létezik konszenzus arra vonatkozólag, hogy hogyan kell az adatokat skálázni az optimális eredmények eléréséhez.

Matematikában[szerkesztés]

A főkomponens-analízis matematikailag úgy határozható meg, mint egy ortogonális lineáris transzformáció, mely az adatokat egy új koordináta rendszerbe transzformálja, ahol az adat bizonyos projekciója szerinti legnagyobb variancia az első koordinátán helyezkedik el (az első főkomponens), a második legnagyobb variancia a második koordinátán, és így tovább.

Legyen az adatmátrix (X) oszlop szerinti empirikus átlaga nulla (minden oszlop mintaátlaga eltolódott nullára), ahol minden n sor egy kísérlet eltérőképpen való megismétlése és minden p oszlop egy bizonyos adat (pl. egy résztvevő reakcióideje).

Matematikailag a transzformáció egy p dimenziós, súlyokat vagy töltéseket tartalmazó vektorok halmaza által meghatározott , melyek minden sor vektort X-ből levetítenek egy új főkomponens szkór vektorra , a következő összefüggés által kifejezve , oly módon, hogy t egyes változói egymás után átöröklik a lehetséges legnagyobb varianciát x-ből úgy, hogy minden egyes w súlyvektor egységvektor legyen.

A főkomponens-analízis folyamatában használt alapvető fogalmak és eljárások[szerkesztés]

Szórás[szerkesztés]

A szóródás mérőszáma, mely „megmutatja, hogy ismérvértékek átlagosan mennyivel térnek el a számtani átlagtól” (Hunyadi-Vita, 2008, 115.o.). Kiszámítására a következő képlet használható:

, ahol s a szórás, az adatpont, a minta átlaga, n az elemszám (a bevett minta nagysága).

Variancia[szerkesztés]

A variancia szintén egy szóródási mutató, a szórás négyzete. Képlete:

.

Kovariancia[szerkesztés]

A kovariancia két, egymástól különböző adathalmaz együttmozgását adja meg, tehát kovariancia a két változó közti kapcsolatot és annak irányát adja meg (Hunyadi-Vita, 2008, 175. o.). Vagyis, ha pozitív, akkor a két változó közt pozitív irányú a kapcsolat, együtt nőnek; ha negatív, akkor negatív irányú kapcsolat van, azaz, ha egyik változó nő, akkor a másik csökken. Ha , ez a két változó közti kapcsolat hiányát jelzi. Képlete:

.

Kovariancia Mátrix[szerkesztés]

A kovariancia mátrix felfogható úgy, mint az összes kiszámított kovariancia ábrázolása, vagyis egy olyan mátrix, melyben az pozíción egy X vektor i-edik és j-edik eleme közti kovariancia található. A kovariancia mátrix a következő képlet alapján írható fel:

, ahol egy mátrix, melynek n sora és n oszlopa van és az x-edik dimenzió. Ennek értelmében, ha egy adathalmaz három dimenzióval rendelkezik (legyenek x, y, z), akkor a kovariáns mátrix 3x3-as mintázatot fog követni, és a következőképpen írható fel:

.

Sajátvektor és sajátérték[szerkesztés]

A sajátvektorok a mátrixok szorzásának egy speciális esete. λ szám akkor lesz az A mátrix sajátértéke, ha létezik olyan nemnulla X vektor, amelyre igaz, hogy Ax=λx. Ez az X vektor az A mátrix λ sajátértékhez tartozó sajátvektora.[8] Például legyen a transzformációs mátrix és a vektor . Ha A transzformációs mátrixszal balról megszorozzuk a v vektort, a következő sajátvektort kapjuk: , ahol a sajátérték 3.

A sajátvektorok a következő tulajdonságokkal rendelkeznek:

  • csak négyzetes mátrixoknak lehetnek sajátvektorai, illetve nem minden négyzetes mátrixnak van sajátvektora; egy adott n x n-es mátrix, mely rendelkezik sajátvektorral, annak n darab sajátvektora van;
  • ha egy sajátvektort növelünk, mielőtt megszoroznánk, ugyanezen vektor többszörösét kapjuk.

A főkomponens-analízis menete[szerkesztés]

  • Első lépésben bevezetjük az adatokat és létrehozzuk az adathalmazt. Legyenek x és y.[9]
  • Második lépésben kivonjuk az átlagokat minden adat dimenzióból, vagyis minden x értékből kivonjuk a hozzá tartozó átlagot, illetve minden y értékből a hozzá tartozó átlagot.[9]
  • Harmadik lépésben kiszámoljuk a kovariáns mátrixot a fenti képlet alapján. Ez esetben a kovariáns mátrix 2 x 2-es lesz.[9]
  • Negyedik lépésben kiszámoljuk a kovariancia mátrixhoz tartozó sajátvektorokat és sajátértékeket. A főkomponens-analízis esetében fontos, hogy a sajátvektorok egységvektorok legyenek (hosszuk 1). A sajátvektoroknak egymásra merőlegeseknek kell lenniük.[9]
  • Ötödik lépésben kiválasztjuk a komponenseket és kialakítjuk a vonás vektort. A sajátvektorokat sajátérték szerint sorrendbe állítjuk, legnagyobbtól a legkisebbig, megkapva így a komponenseket szignifikanciájuk szerint. Ha a sajátértékek kellően kicsit, akkor az adatmennyiség amit elveszítünk ezzel arányos mértékben szintén kicsi lesz. Ezt követően létrehozzuk a vonásvektort a megtartott sajátvektorokból.[9]
  • Utolsó lépésben származtatjuk az új adathalmazt. Ez úgy történik, hogy az előző lépésben kapott vonás vektort, ami oszlopvektor, transzponáljuk, vagyis átalakítjuk sorvektorrá úgy, hogy a legszignifikánsabb sajátvektor lesz az első érték. Az így kapott vektort megszorozzuk jobbról az eredeti adathalmaz transzponáltjával.[9]

Jegyzetek[szerkesztés]

  1. http://www.szit.bme.hu/~kela/microsoft%20powerpoint%20-%20faktor-%20%C3%A9s%20f%C5%91komponensanal%C3%ADzis.pdf
  2. Jolliffe I.T. Principal Component Analysis, Series: Springer Series in Statistics, 2nd ed., Springer, NY, 2002, XXIX, 487 p. 28 illus. ISBN 0-387-95442-2
  3. Pearson, K. (1901). „On Lines and Planes of Closest Fit to Systems of Points in Space” (PDF). Philosophical Magazine 2 (11), 559–572. o. DOI:10.1080/14786440109462720.  
  4. Hotelling, H. (1933). Analysis of a complex of statistical variables into principal components. Journal of Educational Psychology, 24, 417-441, and 498-520.
    Hotelling, H. (1936). Relations between two sets of variates. Biometrika, 27, 321-77
  5. Jolliffe, I. 2005. Principal Component Analysis. Encyclopedia of Statistics in Behavioral Science
  6. Abdi, H. and Williams, L. J. (2010), Principal component analysis. WIREs Comp Stat, 2: 433–459. doi: 10.1002/wics.101
  7. Shaw P.J.A. (2003) Multivariate statistics for the Environmental Sciences, Hodder-Arnold. ISBN 0-340-80763-6.
  8. http://www.math.bme.hu/algebra/a2/2009/5_Sajatertek.000.pdf
  9. ^ a b c d e f http://www.cs.otago.ac.nz/cosc453/student_tutorials/principal_components.pdf

Irodalom[szerkesztés]

  • Hunyadi László – Vita László: Statisztika I, Budapest: Aula Kiadó, 2008. ISBN 978-963-9698-23-9
  • Jolliffe, I.T. (2002). Principal Component Analysis, second edition (Springer).

Fordítás[szerkesztés]

Ez a szócikk részben vagy egészben a Principal component analysis című angol Wikipédia-szócikk ezen változatának fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel.