<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Dieser Artikel erscheint in JMPer-Kabel, Ausgabe 30, Sommer 2015 .
von John Sall john.sall , Mitbegründer und Executive Vice President von SAS
Bei multivariaten Methoden müssen Sie etwas anders machen, wenn Sie über umfangreiche Daten (viele Tausende von Spalten) verfügen.
Der Engpass
Die Achillesferse für die traditionellen Ansätze für breite Daten besteht darin, dass sie mit einer Kovarianz- oder Korrelationsmatrix beginnen, die mit dem Quadrat der Spaltenanzahl wächst. Die Genomforschung hat zum Beispiel weitreichende Daten:
- In einer Genomics-Studie gibt es 10.787 Genexpressionssäulen, obwohl nur 230 Zeilen vorhanden sind. Diese Kovarianzmatrix hat mehr als 58 Millionen Elemente und benötigt 465 MB Speicher.
- Eine weitere Studie, an der wir arbeiten, hat bei 249 Individuen 49.041 Gene. Dies führt zu einer Kovarianzmatrix, die 9,6 GB Speicher benötigt.
- Eine weitere Studie verfügt über 1.824.184 Gensäulen, die eine Kovarianzmatrix von 13,3 TB ergeben. Computer haben einfach nicht so viel Speicher - tatsächlich haben sie nicht so viel Speicherplatz.
Selbst wenn Sie den Speicher für diese weitreichenden Probleme haben, würde die Berechnung der Kovarianzmatrix in der Größenordnung von n * p sehr lange dauern 2 , wobei n die Anzahl der Zeilen und p die Anzahl der Spalten ist. Darüber hinaus wird es noch schlimmer, wenn Sie die Kovarianzmatrix invertieren müssen, was in der Größenordnung von p kostet 3 . Darüber hinaus ist die Kovarianzmatrix sehr singulär, da in den Daten weit weniger Zeilen als Spalten vorhanden sind.
Sie würden also denken, dass multivariate Methoden für diese Situationen unpraktisch oder unmöglich sind. Glücklicherweise gibt es noch einen anderen Weg, der große Probleme nicht nur praktisch macht, sondern auch recht schnell, aber dieselben Antworten liefert, die Sie mit einer riesigen Kovarianzmatrix erhalten würden.
Die SVD
Die Anzahl der effektiven Dimensionen in dem hochgradig multivariaten Raum liegt in der Größenordnung der Anzahl der Zeilen, da diese weit geringer ist als die Anzahl der Spalten. Die gesamte Variation in dieser breiten Matrix kann durch die Hauptkomponenten dargestellt werden, die mit der positiven Varianz assoziiert sind, d. H. Nicht-Null-Eigenwerte. Es gibt eine andere Möglichkeit, die Hauptkomponenten mithilfe der Singulärwertzerlegung der (standardisierten) Daten zu erhalten. Da Sie sich im Hauptkomponentenraum befinden, ist die Dimension dieser Hauptkomponenten klein. Tatsächlich vereinfachen sich alle Berechnungen, da die Kovarianzmatrix der Hauptkomponenten diagonal ist, was zu invertieren trivial ist.
Angenommen, X ist die Matrix von n × p von standardisierten Daten, wobei p viel größer als n ist, so dass die Kovarianzmatrix die Berechnungsmethode von p × p X 'X / n ist.
Die SVD drückt jedes X als Transformation aus, die eine Drehung, eine Skalierung und dann eine andere Drehung ist:
X = U diag (M) V '
Wenn U eine Matrix mit n mal m orthogonalen Spalten ist, ist M ein Vektor von m positiven singulären Werten, und V ist eine m m Matrix von orthogonalen Spalten. Es stellt sich heraus, dass, wenn Sie die Eigenwertzerlegung der Kovarianzmatrix genommen hätten, die Eigenwerte M wären 2 und die Eigenvektoren wären V, da Sie also nur M und V für Hauptkomponenten benötigen, können Sie die SVD der Daten anstelle der Eigenwerte der Kovarianzmatrix ausführen, und wenn p in den Tausenden und n in den Hunderten ist Das ist viel schneller. Die Hauptkomponenten sind nur X * V.
Bei einem Problem mit 10.787 Spalten und 230 Zeilen beispielsweise benötigen die Hauptkomponenten der Korrelationsmatrix 81 Minuten, bei SVD-Dateien nur 7,5 Sekunden, mehr als 600-mal schneller. Ich habe es mit einem Genom-Datensatz mit 1.824.184 Spalten in 249 Zeilen ausprobiert. Ich konnte die Hauptkomponenten dieser Daten mit JMP 12 auf meinem 6-Core Mac Pro in nur 94 Minuten erstellen. Andersherum wäre eindeutig unmöglich gewesen.
Diskriminanzanalyse
Bei der Diskriminanzanalyse besteht die Hauptaufgabe darin, die Entfernung von jedem Punkt zum (multivariaten) Mittelwert jeder Gruppe zu berechnen. Diese Entfernung ist jedoch nicht die einfache euklidische Entfernung, sondern eine multivariate Form der Entfernung - die Mahalanobis-Entfernung, die die inverse Kovarianzmatrix verwendet.
Denken Sie jedoch an die standardisierten Daten - die Hauptkomponenten sind dieselben Daten, werden jedoch in verschiedenen Winkeln gedreht. Der Unterschied besteht darin, dass die Originaldaten 10.000 Spalten haben können, die Hauptkomponenten jedoch nur einige Hundert im breiten Datenfall. Wenn wir also Entfernungen zwischen Punkten oder zwischen einem Punkt und einem multivariaten Mittelwert messen möchten ( Schwerpunkt ), dann können wir es in weit weniger Dimensionen schaffen. Nicht nur das, auch die Hauptkoordinaten sind nicht korreliert, was bedeutet, dass die Matrix in der Mitte der Mahalanobis-Abstandsberechnungen diagonal ist, so dass der Abstand nur eine Summe von Quadraten der einzelnen Koordinatenabstände ist.
Wir nehmen die Hauptkomponenten der Daten mit mittlerem Mittelpunkt nach Gruppen auf. Dann addieren wir den Mittelwert zu diesen neuen Daten mit reduzierter Dimension. Der transformierte Mittelwert ist nur die Hauptkomponente der Transformation der ursprünglichen Gruppenmittelwerte.
Beispiel
Es gibt eine Reihe von Brustkrebsgenom-Expressionsdaten, die vom Microarray Quality Consortium mit 230 Reihen und 10.787 Genexpressionen als Benchmark verwendet werden. Eine Diskriminanzanalyse mit der Wide-Linear-Methode dauert nur 5,6 Sekunden (bei Mac Pro) und führt zu einer Fehlklassifizierungsrate der Kreuzvalidierung von nur 13,7% in der am schwersten zu klassifizierenden Kategorie ER_status (Abbildung 1). Diese Fehlklassifizierungsrate liegt nahe an der für dieses Problem besten Lösung, da die anderen Methoden teuer sind.

Abbildung 1 Breite Diskriminanzanalyse in der Principal Components-Plattform
Bisher haben wir SVD-basierte, höchst multivariate Optionen in Diskriminanz, Hauptkomponenten, Hierarchischer Cluster und eine Form der fehlenden Wertschätzung implementiert. Wir experimentieren damit, es weiter zu verwenden und andere ähnliche Methoden zu erforschen, die für hochmultivariate Analysen nützlich sind. Bei einem großen Hype um „Big Data“ geht es um eine große Anzahl von Zeilen, aber auch eine große Anzahl von Spalten wird immer wichtiger.