DS3 - Vom experimentellen Design zur explorativen Datenanalyse & Data Mining
Saskia Otto
Universität Hamburg, IMF
Wintersemester 2024/2025
Lernziele
Am Ende dieser VL- und Übungseinheit werden Sie
die Grundlagen der Hauptkomponentenanalyse (im Englischen ‘Principal Component Analysis’ oder PCA) verstanden haben, einschließlich des Ziels, die Dimensionalität von Daten zu reduzieren und die wichtigsten Informationen zu extrahieren.
in der Lage sein, die Unterschiede und Gemeinsamkeiten zwischen Clusteranalyse und PCA zu verstehen und zu erklären.
Principal Component Analysis (PCA)
Ordinationstechniken
Durch mathematische Verfahren wird eine sog. Dimensionsreduktion durchgeführt, so dass die Lage der Daten in einem zwei- oder dreidimensionalen Koordinatensystem dargestellt werden kann.
Dabei werden Objekte (z. B. Standorte) oder Variablen (z. B. Arten) geometrisch so angeordnet, dass die Abstände zwischen ihnen im Diagramm ihre natürlichen Abstände darstellen.
Nahe beieinander liegende Standorte im Diagramm werden als ähnlich in z.B. der Artenzusammensetzung interpretiert.
Die Achsen des Diagramms stellen neue Variablen dar, die Zusammenfassungen der ursprünglichen Variablen sind.
Die meisten Methoden beruhen auf der Extraktion der Eigenvektoren einer Assoziationsmatrix.
CCA (Canonical Correspondence Analysis, Kanonische Korrespondenzanalyse)
DCA (Detrended Correspondence Analysis)
RDA (Redundanz-Diskriminanz-Analyse)
PCA - Hauptkomponentenanalyse
stellt die wichtigste eigenvektorbasierte Methode, arbeitet mit quantitativen Daten und bewahrt den euklidischen Abstand zwischen den Objekten.
findet eine Folge von Linearkombinationen der Variablen, die eine maximale Varianz aufweisen und untereinander unkorreliert sind.
dient nicht nur als Werkzeug zur Datenvisualisierung, sondern erzeugt auch abgeleitete Variablen zur Verwendung in überwachten Lernproblemen.
Abstände zwischen Objekten im sog. Biplot sind eine Annäherung an ihre euklidischen Abstände im multivariaten Raum → Standardisierung bei Abundanzdaten und Daten mit unterschiedlichen Einheiten!
Voraussetzungen:
lineare Beziehung zwischen den Variablen
Datensätze sollten multivariat normalverteilt sein
keine fehlenden Werte
PCA - “Geometrischer” Ansatz | 1
Ursprung des neuen Koordinatensystems wird in die Mitte der Datenpunkte verschoben (Zentrierung).
Rotation des neuen Koordinatensystems, bis die Varianz der 1. Achse maximiert ist (Reduzierung der Restvarianz).
PCA - “Geometrischer” Ansatz | 2
Ursprung des neuen Koordinatensystems wird in die Mitte der Datenpunkte verschoben (Zentrierung).
Rotation des neuen Koordinatensystems, bis die Varianz der 1. Achse maximiert ist (Reduzierung der Restvarianz).
PCA - “Geometrischer” Ansatz | 3
Zusätzliche Achsen müssen unabhängig voneinander sein (=orthogonal).
Visualisierung der reduzierten Dimensionen als sogenanntes “Biplot” (d.h. nur ein Teil der Variation im ursprünglichen Datensatz wird dargestellt).
Scores: Koordinaten von Objekten (hier Standorte) entlang des hypothetischen Gradienten PC1 zu PC2.
Loadings: Koordinaten des Vektorscheitels entlang des hypothetischen Gradienten → Maß für die Korrelation mit den PC-Achsen.
PCA - “Geometrischer” Ansatz | 4
Gesamtvariation: Summe der quadrierten Abstände vom Ursprung
Erklärte Varianz: Summe der quadrierten Projektionen auf die Hauptkomponenten (PC) = λ (Eigenwerte)
Residuale Varianz: Summe der quadrierten orthogonalen Abstände zu den Hauptkomponenten
Nur eine Rotation: Alle Achsen/Hauptkomponenten erklären die Gesamtvarianz!
PCA - Mathematischer Ansatz
Die erste Hauptkomponente Z1 eines Satzes von Variablen X1, X2, X3, ..,Xp ist die normalisierte lineare Kombination dieser Variablen, welche die größte Varianz hat:
Die Koeffizienten \phi_{11}, .., \phi_{p1} repräsentieren die Ladungen (‘loadings’) der ersten Hauptkomponente; zusammen bilden diese den Hauptkomponenten-Ladevektor, \phi_1 = (\phi_{11}, \phi_{21},.., \phi_{p1})^T.
Die Ladungen werden so eingeschränkt, dass ihre Quadratsumme gleich eins ist, da andernfalls die Festlegung dieser Elemente auf einen beliebig großen Absolutwert zu einer beliebig großen Varianz führen könnte (Normalisierung).
Berechnung der PC ‘Scores’
Angenommen wir haben einen n x p Datensatz (n Zeilen und p Spalten), dann lässt sich jeder Datenpunkt im ursprünglichen Raum durch die lineare Kombination der Hauptkomponenten repräsentiert = PC ‘Score’ z_{ik}:
myPCA <-function(X) { X_mat <-as.matrix(X) object_names <-rownames(X) var_names <-colnames(X)### 1. Zentrierung der Daten (wird für die Berechnung von Z gebraucht) X_cent <-scale(X_mat, center =TRUE, scale =FALSE)### 2. Berechnung der Kovarianzmatrix S X_cov <-cov(X_cent)### 3. Berechnung der Eigenwerte lambda und der Eigenvektoren v # der Kovarianzmatrix S (s. Legendre & Legendre, 1998, eq. 9.1 und 9.2)# Die Eigenwerte und -vektoren erfüllen die Gleichung S*v = lambda*v. X_eig <-eigen(X_cov)# (Eigenwerte sind ein Maß für die Bedeutung (Varianz) der Achsen. Sie # können als "Proportions Explained" (Anteil der erklärten Variation) # ausgedrückt werden, indem sie durch die Summe aller Eigenwerte geteilt # werden.)### 4. Eigenvektoren als Matrix U abspeichern U <- X_eig$vectorsrownames(U) <- var_names### 5. Matrix Z berechnen Z <- X_cent%*%U # (s. Legendre & Legendre, 1998, eq. 9.4)rownames(Z) <- object_names# Output als Liste mit allen 3 Matrizen result <-list(X_eig$values,U,Z)names(result) <-c("eigenvalues","U", "Z")return(result)}myPCA(X = spiderA_hell)
PCA in R
Beispiel mit der PCA() Funktion aus 'FactoMineR'
library(FactoMineR)pcaA <-PCA(spiderA_hell, scale.unit =FALSE, graph =FALSE)# unsere Daten sind bereits standardisiert, daher 'scale.unit = FALSE'pcaA
**Results for the Principal Component Analysis (PCA)**
The analysis was performed on 28 individuals, described by 12 variables
*The results are available in the following objects:
name description
1 "$eig" "eigenvalues"
2 "$var" "results for the variables"
3 "$var$coord" "coord. for the variables"
4 "$var$cor" "correlations variables - dimensions"
5 "$var$cos2" "cos2 for the variables"
6 "$var$contrib" "contributions of the variables"
7 "$ind" "results for the individuals"
8 "$ind$coord" "coord. for the individuals"
9 "$ind$cos2" "cos2 for the individuals"
10 "$ind$contrib" "contributions of the individuals"
11 "$call" "summary statistics"
12 "$call$centre" "mean of the variables"
13 "$call$ecart.type" "standard error of the variables"
14 "$call$row.w" "weights for the individuals"
15 "$call$col.w" "weights for the variables"
Output extrahieren
# EigenwertepcaA$eig# Ergebnisse der VariablenpcaA$var$coord # KoordinatenpcaA$var$contrib # Beiträge zu den PCs in %pcaA$var$cor # Korrelation der Variablen mit den PCspcaA$var$cos2 # Qualität der Repräsentation# Ergebnisse der Objekte (hier Standorte)pcaA$ind$coord # KoordinatenpcaA$ind$contrib # Beiträge zu den PCs in %pcaA$ind$cos2 # Qualität der Repräsentation
Anteil der erklärten Varianz
Um die Stärke der einzelnen Hauptkomponenten (PCs) zu verstehen, interessiert uns der Anteil der Varianz, der durch die einzelnen PCs erklärt wird (die Summe ist immer 1 bzw. 100%):
In Cluster 1 gibt es mehrere schwach dominierende Arten, in Cluster 2 kommt besonders häufig Trocterr und Pardlugu vor. Cluster 3 (Standorte 22-28) weist eine ganz andere Gemeinschaftsstruktur auf mit Alopacce und Alopfabr als dominierende Arten. Die Standorte 9-12 (Cluster 3) werden dominiert von der Art Pardmont.
Zwischen Trocterr und Alopacce bzw. Pardmont und Pardlugu gibt es eine besonders starke negative Korrelation.
Zusammenfassung
Welche Informationen haben wir extrahiert?
Wie die Arten miteinander verwandt sind.
Ob Arten an bestimmten Standorten besonders häufig vorkommen.
Ob es Cluster in den Daten gibt, also Gruppen von Daten, die einander ähnlich sind und welche Arten am stärksten zu den Unterschieden beitragen.
Welche Rolle spielen bei der Gemeinschaftsstruktur die Umweltbedingungen? → Übungsaufgabe