© Institut biostatistiky a analýz Vícerozměrné metody – cvičení Mgr. Lucie Brožová RNDr. Eva Koriťáková, Ph.D. Podzim 2019 Analýza hlavních komponent – opakování I • anglicky Principal component analysis (PCA) • snaha redukovat počet proměnných nalezením nových latentních proměnných (hlavních komponent) vysvětlujících co nejvíce variability původních proměnných • nové proměnné (y1, y2) lineární kombinací původních proměnných (x1, x2) 2Koriťáková: Vícerozměrné metody - cvičení PCA x2 x1 x2 x1 y1 y2 • vstup do PCA? – kovarianční matice – matice korelačních koeficientů • hlavní komponenty odpovídají čemu? – souřadnicím subjektů v novém prostoru s osami určenými vlastními vektory kovarianční matice (či matice korelačních koef.) • variabilita vysvětlená příslušnou komponentou odpovídá čemu? – vlastním číslům • vlastní vektory seřazeny jak? – podle vlastních hodnot (sestupně)  vybráno prvních m komponent vyčerpávajících nejvíce variability původních dat • předpoklady? – kvantitativní proměnné s normálním rozdělením 3Koriťáková: Vícerozměrné metody - cvičení Analýza hlavních komponent – opakování II Analýza hlavních komponent – volba asociační matice • kovarianční (disperzní) matice – data centrována (od každé příznakové proměnné odečtena její střední hodnota) – zohledňován rozptyl původních dat • matice korelačních koeficientů – data standardizována (odečtení středních hodnot a podělení směrodatnými odchylkami) 4 • každou úpravou původních dat přicházíme o určitou informaci !!! x y původní data kovarianční matice (odečten průměr) x y matice korelačních koeficientů (odečten průměr a podělení SD) y x ? ? ? ? ? ? ? ? ? ? ? ? Koriťáková: Vícerozměrné metody - cvičení Analýza hlavních komponent – postup 1. Volba asociační matice (kovarianční m. nebo m. korelačních koeficientů) 5 2. Výpočet vlastních čísel a vlastních vektorů asociační matice: – vlastní vektory definují směr nových faktorových os (hlavních komponent) v prostoru – vlastní čísla odrážejí variabilitu vysvětlenou příslušnou komponentou 3. Seřazení vlastních vektorů podle hodnot jim odpovídajících vlastních čísel (sestupně) 4. Výběr prvních m komponent vyčerpávajících nejvíce variability původních dat Koriťáková: Vícerozměrné metody - cvičení Identifikace optimálního počtu hlavních komponent pro další analýzu • pokud je cílem ordinační analýzy vizualizace dat, snažíme se vybrat 2-3 komponenty • pokud je cílem ordinační analýzy výběr menšího počtu dimenzí pro další analýzu, můžeme ponechat více komponent (např. u analýzy obrazů MRI je úspěchem redukce z milionu voxelů na desítky) 6 1. Kaiser Guttmanovo kritérium: – pro další analýzu jsou vybrány osy s vlastním číslem >1 (při analýze matice korelačních koeficientů) nebo větším než průměrná hodnota vlastních čísel (při analýze kovarianční matice) – logika je vybírat osy, které přispívají k vysvětlení variability dat více, než připadá rovnoměrným rozdělením variability • kritéria pro výběr počtu komponent: 2. Sutinový graf (scree plot) – grafický nástroj hledající zlom ve vztahu počtu os a vyčerpané variability 3. Sheppardův diagram – grafická analýza vztahu mezi vzdálenostmi objektů v původním prostoru a redukovaném prostoru o daném počtu dimenzí Koriťáková: Vícerozměrné metody - cvičení Sutinový graf (scree plot) 7 Eigenvalues of correlation matrix Active variables only 72.96% 22.85% 3.67% .52% 0 1 2 3 4 5 Eigenvalue number -0.5 0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 Eigenvalue 72.96% 22.85% 3.67% .52% Zlom ve vztahu mezi počtem vlastních čísel a jimi vyčerpanou variabilitou – pro další analýzu použity první dvě faktorové osy Koriťáková: Vícerozměrné metody - cvičení Sheppardův diagram • Vztahuje vzdálenosti v prostoru původních proměnných ke vzdálenostem v prostoru vytvořeném PCA • Je třeba brát ohled na typ PCA (korelace vs. kovariance) • Obecná metoda určení optimálního počtu dimenzí v ordinační analýze (třeba respektovat použitou asociační metriku) 8 Kosatce Kosatce standardizovane F1 F12 F123 F1234 Za optimální z hlediska zachování vzdáleností objektů lze považovat dvě nebo tři dimenze Při použití všech dimenzí jsou vzdálenosti perfektně zachovány Koriťáková: Vícerozměrné metody - cvičení PCA – 1. příklad 9 • data: A 101 16 B 105 18 C 103 42 D 98 23 E 93 6 92 94 96 98 100 102 104 106 5 10 15 20 25 30 35 40 45 Koriťáková: Vícerozměrné metody - cvičení • vykreslení datového souboru včetně textových popisků: Graphs – Scatterplot – zvolit proměnné (výška jako X, váha jako Y) – OK – vypnout zatržení „Fit type“ Linear – na záložce Options 1 zatrhnout „Display case labels“ – Case labels ze Spreadsheet změnit na Variable a vybrat proměnnou id – OK 10Koriťáková: Vícerozměrné metody - cvičení PCA – příklad – řešení v softwaru Statistica I Výpočet PCA – postup: • Statistics – Mult/Exploratory – Principal Components & Classification – zvolit proměnné jako “Variables for analysis” , na záložce Advanced zvolit „Correlations“ nebo “Covariances” – OK • záložka Descriptives – „Covariance matrix“ • záložka Variables: – “Eigenvectors” (vlastní vektory), “Eigenvalues” (vlastní čísla včetně procenta vyčerpané variability), “Scree plot” (sutinový graf) – “Factor & variable correlations” (korelace nových faktorových os s původními proměnnými) – “Factor coordinates of variables” jsou souřadnice vlastních vektorů, kterým odpovídá graf “Plot var. factor coordinates, 2D” (čím menší úhel svírá původní proměnná s novou faktorovou osou, tím větší vztah má nová faktorová osa s původní proměnnou) • záložka Cases: – „Factor coordinates of cases“ (souřadnice dat v novém prostoru – data jsou centrována), „Plot case factor coordinates, 2D“ (vykreslení dat) 11Koriťáková: Vícerozměrné metody - cvičení PCA – příklad – řešení v softwaru Statistica II 12 PCA – příklad 2 – řešení v softwaru Statistica I • Zadání: Proveďte PCA na objemech 6 mozkových struktur u 833 subjektů. • Řešení: Statistics – Mult/Exploratory – Principal Components & Classification zvolit, zda se má počítat kovarianční či korelační matice vybrat proměnné Koriťáková: Vícerozměrné metody - cvičení 13 PCA – příklad 2 – řešení v softwaru Statistica II Souřadnice subjektů v novém prostoru Kovariance proměnných s novými osami Vlastní čísla Koriťáková: Vícerozměrné metody - cvičení 14 PCA – příklad 2 – řešení v softwaru Statistica III Normalizace vlastních vektorů: - zkopírovat do Excelu („Copy with headers“) - použití vzorce: =B3/ODMOCNINA(SUMA.ČTVERCŮ(B$3:B$8)) Koriťáková: Vícerozměrné metody - cvičení 15 PCA – příklad 2 – řešení v softwaru Statistica IV Záložka Variables: Factor & variable correlations Plot var. factor coordinates, 2D Z výsledků vyplývá, že: - 1. hlavní komponenta je nevíce korelovaná s objemem Nucleus caudatus - 2. hlavní komponenta je korelovaná s objemem hipokampu a také s objemem amygdaly a putamenu Koriťáková: Vícerozměrné metody - cvičení PCA – příklad 2 – řešení v softwaru SPSS • Zadání: Proveďte PCA na objemech 6 mozkových struktur u 833 subjektů. 16 • Řešení: SPSS: Analyze – Dimension Reduction – Factor... - záložka Extraction: - volba metody (ponechat Principal components) - volba Correlation matrix či Covariance matrix (pozor, Correlation matrix je defaultní! tzn. přepnout na Covariance matrix) - možnost zatrhnout vykreslení Scree plotu - volba, kolik hlavních komponent se vytvoří (přepnout na Fixed number... a zvolit 6, když mám 6 vstupních proměnných) - záložka Rotation – ponechám zatržené „None“ - záložka Scores... – zatrhnout „Save as variable“ a případně i zatrhnout „Display factor score coefficient matrix“ Koriťáková: Vícerozměrné metody - cvičení PCA – příklad 2 – řešení v softwaru SPSS 17Koriťáková: Vícerozměrné metody - cvičení Vlastní čísla Sutinový graf Matice vlastních vektorů * * normalizace vl. vektorů by se provedla v exelu (viz. slide 16) Souřadnice subjektů v novém prostoru (jsou standardizované) PCA – příklad 2 – řešení v softwaru R • Zadání: Proveďte PCA na objemech 6 mozkových struktur u 833 subjektů. 18 • Řešení: library(readxl) data <- read_excel('Data_neuro.xlsx',sheet="data") data <- data[,24:29] # vyber 6 promennych s objemy mozkovych struktur pca <- prcomp(data) # vypocet PCA s kovariancni matici; tzn. pouzito defaulni center=TRUE a scale=FALSE; pro m. korel. koef. – prcomp(data,scale=TRUE) pca$sdev^2 # vlastni cisla pca$rotation # vlastni vektory (ve sloupcich, serazene podle vlastnich cisel) pca$x # hlavni komponenty (tj. souradnice subjektu v novem prostoru) Koriťáková: Vícerozměrné metody - cvičení PCA – příklad 2 – řešení v Matlabu • Zadání: Proveďte PCA na objemech 6 mozkových struktur u 833 subjektů. 19 • Řešení: [num, txt, raw] = xlsread('Data_neuro.xlsx',1); data = num(:,23:28); % vyber 6 promennych s objemy mozkovych struktur [coeff,score,latent] = pca(data); Matice vlastních vektorů vlastní vektory jsou ve sloupcích (jsou seřazené podle vlastních čísel) Souřadnice subjektů v novém prostoru hlavní komponenty jsou ve sloupcích (jsou seřazené podle vlastních čísel); v řádcích jsou subjekty Vlastní čísla Koriťáková: Vícerozměrné metody - cvičení