Principalkomponentanalys - PCA
Principalkomponentanalys (PCA, Principal Components Analysis) är en robust standardmetod för att bekriva och visualisera den dominerande strukturen i ett multivariat dataset där data har linjär respons, i annat fall används Korrespondensanalys (Correspondence Analysis, CA) på motsvarande sätt. PCA är också lämplig för klassificering (se nedan).Man söker mönster bland observationerna och hos variablerna, liksom hur observationer och variabler förhåller sig till varandra. Exempel på mönster är korrelationsstruktur, grupperingar och avvikare.
PCA är lämplig att utföra som första steg inför all fortsatt multivariat dataanalys just för att man enkelt kan se strukturen hos data och om det finns några konstigheter.
Metoden tar fram komponenter eller axlar som påvisar den variation som finns i ett dataset. Genom att reducera ett komplext dataset till ett hanterbart antal fördelningsaxlar (komponenter), kan variationen i ett dataset enkelt illustreras i ett två- eller tredimensionellt diagram. Den komponent som visar störst variation sätts oftast som den horisontella axeln. I ett ordinationsdiagram kommer observationer som liknar varandra ligga i närheten av varandra, medan mer olika objekt hamnar längre ifrån varandra.
PCA ger även en grafisk illustration av hur de olika beskrivningsvariablerna förhåller sig till varandra och till respektive objekt i en studie.
Exempel
Översikt, allmän
Se PCA Exempel 1 (Figurer), PCA Exempel 2 (FisherIris) och PCA Exempel 3 (Hälsohem).Data med avstånd
När man har data som uttrycker skillnader mellan olika observationer har man data i en symmetrisk tabell, så som en avståndstabell för olika städer. Man kan använda PCA för en första översikt. Dock måste man se till att data inte autoskalas, utan att man endast centrerar data. En bättre metod är dock multidimensionell skalning, MDS (extern länk, engelska).Data med differenser, före-efter
När man har data av typen före/efter vill man veta vad som hänt med varje observation som följd av t.ex. en behandling. Denna typ av data kan analyseras med PCA i två steg.- Först gör man en PCA där alla observationerna finns med två gånger, en rad för Före och en rad för Efter. I den resulterande scorebilden kan man se hur varje observation flyttat sig från Före till Efter.
- Nästa steg är att göra ett differensdataset, med differenser Efter-Före för de variabler som ändrat sig. Man kan också ta med bakgrundsvariabler som är konstanta mellan Före och Efter. I den här analysen kan man se vari skillnaderna ligger. Viktigt därvid är att inte dra bort medelvärdet för differensvariablerna vid skalningen för då försvinner ju huvudeffekten och bara variationen i effekten återstår. Då tappar man effekten av ”behandlingen” i modellbilderna. Se PCA Exempel 3 (Hälsohem).
Klassificering
PCA kan användas för klassificering. Då gör man en modell per klass. Varje modell har en giltighetsdomän (den del av den multivariata rymden där modellen är etablerad och giltig) och man klassar nya observationer map var de passar bäst. Observationer som inte passar i någon giltighetsdomän är avvikare och tillhör kanske en oupptäckt klass.Se PCA Exempel 2 (FisherIris).
Viktigt att veta
Skalning
I många program autoskalas alla variabler dvs. centreras och skalas till variansen = 1.0, innan komponenterna beräknas. De flesta program för PCA har möjligheter att ändra skalningsförfarandet.Det finns situationer då man inte vill detta, tex då man anser att storleken på variabelvariabiliteten är informationsbärande såsom vid vissa spektrala data, eller då alla variabler är i samma mätenhet. I sådana fall behöver man ange detta innan beräkningarna görs.
Fallgropar
Om man har data som har så kallad unimodal respons (dvs. förekomsten av djur eller växter), så rekommenderas Correspondence Analysis, CA istället.Detaljer
Generell beskrivning
Som ordet pricipalkomponent antyder så finner PCA dominanta komponenter i data. Den mest dominanta komponenten är komponent 1, PC1, och illustreras per definition som den horisontella axeln i ett ordinationsdiagram. Låt oss föreställa oss ett koordinatsystem med lika många axlar som variabler i data (hyfsat enkelt i teorin men inte i praktiken!). I detta koordinatsystem kan vi lägga in varje observation från våra data. Då alla observationer finns där har vi en multidimensionell punktsvärm av data. PC1 utgörs av den riktning i denna multivariata rymd längs vilken punktsvärmen har sin största spridning. Nästa komponent, PC2, är den riktning, vinkelrät mot den första, som data har sin största spridning (alltså näst största totalt sett). Den tredje komponenten kommer att ligga vinkelrät mot de båda tidigare och finna den tredje mest dominanta riktningen, osv.Observationernas läge längs de dominanta riktningarna kallas scores. Riktningskoefficienterna för komponenternas riktningar i förhållande till variabelaxlarna i koordinatsystemet, cos(α), kallas loadings. Observationer långt från komponentcentrum får höga värden. Om en komponents riktning ligger nära en variabelaxel så blir loading för denna variabel hög.
Att finna de två första komponenterna är analogt med att snurra runt i den multivariata rymden över punktsvärmen, stanna i den vinkel där man ser så mycket av svärmens utbredning som möjligt och ta ett foto där. Låt den mest dominanta riktningen ligga längs X-axeln, då kallas den för t1, och därmed kommer den näst mest dominanta riktningen att ligga längs Y-axeln (vinkelrät ju) och den kallas t2. Den här bilden kallas scoreplotten för de två första komponenterna.
Antal komponenter
Antalet komponenter som man beräknar beror på syftet. Vill man få en hyfsad översikt över data räcker det ofta med 2-3 komponenter.Teoretiskt kan man beräkna lika många komponenter för ett dataset som det finns variabler eller objekt, beroende på vilket av dessa två som är minst. Men då har man inte åstadkommit något annat är en rotation av det ursprungliga koordinatsystemet. En tanke med PCA är att man vill skilja ut det som är struktur i data från det alltid närvarande bruset. Då vill man ha en stoppregel som säger att hit men inte längre finns det struktur i data, resten är brus. Den enklaste stoppregeln är att komponentens egenvärde skall vara större än 1.0 (det innebär i princip att variationen längs komponentaxeln är större än variationen längs variabelaxlarna). En mer sofistikerad stoppmetod är att för varje ytterligare komponent utesluta element i data, räkna delmodell med dessa utselutningar och sedan använda modellen för att prediktera de uteslutna elementen. Om prediktionsfelet inte är för stort accepteras komponenten, annars stoppar man. Metoden kallas korsvalidering och är inbyggd i programmet Simca.
Vill man använda modellen för klassificering bör man använda korsvalidering för antalet komponenter, eller på annat sätt validera modellens antal komponenter.
Variabeltyper
PCA kan hantera både kvantitativa och kvalitativa variabler. Kvalitativa variabler expanderas till lika många 0/1-variabler som det finns varianter av de kvalitativa variablerna.Algoritm
PCA modellerar ett dataset X med n observationer och k variabler enligtX = T * P + E
Där T är en n*a-matris kallad scores, P en a*k-matris kallad loadings och E en n*k-matris med residualer. A är antalet modellkomponenter.
Geometriskt ligger X’s observationer som punkter i en k-dimensionell rymd ( k = antalet variabler), en axel för varje variabel. PCA beräknar en a-dimensionell underrymd som passar så bra som möjligt till punkterna. Matrisen P anger riktningarna för underrummets axlar och T anger observationernas värden projicerade ner på dessa axlar.
Det finns två huvudsätt att beäkna en PCA-modell. Den ena beräknar alla komponenter i ett sammanhang och använder sig av matrisinvertering. Den andra beräknar en komponent i taget, likt då man skalar lök, den mest dominanta först och sedan i fallande ordning. En stor fördel med den andra metoden är att den kan klara bortfall i data. Femtio procent bortfall i variabler eller observationer är sällan problematiskt, bara bortfallen är någorlunda spridda i data.
Residualer
Den del av X som inte modelleras av T*P är residualen, E. I idealfallet beskriver T*P strukturen i X och i E hamnar bruset i data. Är modelldimensionaliteten för låg är modellen underanpassad och det finns struktur kvar i E. Är den för hög är modellen överanpassad och det finns brus i modellen. Residualen kan visualiseras som varje observations avstånd till modellplanet, kallad Distance to the MODel, DMod.Avståndsfördelningen är approximativt Chi2-fördelad och man kan beräkna ett tröskelvärde DCrit för detta avstånd, vilket kan användas för avvikelsedetektion och klassificering.
Avvikande observationer kan man finna både i scorebilder och i DModbilder.

