Loading
Relaterad information
Allmänt om multivariata metoder

Ett flödesschema för multivariata metoder

PCA exempel 1: Figurer

PCA exempel 2: Fisher Iris

PCA exempel 3: Hälsohem



Externa länkar

Program:
SIMCA
PC-Ord
Canoco
PAST (gratis)

Websidor:
The ordination web page

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.

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 enligt

X = 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.

Hantering av värden under detektionsgräns och saknade värden

Vissa algoritmer klarar att hantera saknade värden, se detaljer ovan.

Programvara

PCA finns i de flesta kommersiella statistikprogram, men det är inte alla som kan hantera bortfall. Välj ett program där du kan påverka variabelskalningen. Många av de stora generella programpaketen har moduler för principalkomponentanalys, men nomenkaturen kan skilja sig mot den vi använder här. Mer specialiserade program för multivariat analys är bland annat: PAST, SIMCA från Umetrics, Canoco, PC-Ord och flera moduler i R.


Ansvarig för webbsidan:
webmaster@miljostatistik.se