2017-05-28 1 views
0

Dies ist eine Prüfungsaufgabe, die ich habe. Sagen wir, ich habe eine 200x6-Matrix, in der 200 Leute einen Film mit 6 Fragen wählten, jeder auf einer kontinuierlichen [0, 1] -Skala (0: stimme nicht zu, 1: stimme zu). Um einen nützlichen Überblick über den 6-dimensionalen Datensatz zu erhalten, möchte ich die Rang-2-Approximation der Daten darstellen. Zuerst muss ich den Rang 2 Annäherung:Matlab-Diagramm Streudiagramm mit intermediären Koordinaten

A = (200, 6); %some data 
[U, S, V] = svd(A); 
Ak = U(:, 1:2) * S(1:2, 1:2) * V(:, 1:2)'; 

Ich möchte diese Annäherung als 2D-Scatterplot plotten mit einem „*“ - Marke pro Umfrageteilnehmer entweder U oder V unter Verwendung von Koordinaten als Zwischenkoordinaten je nachdem, wie meine Daten organisiert. Das Problem ist, dass ich nicht weiß, was Zwischenkoordinaten bedeuten, und ich kann nirgendwo eine gute Erklärung finden. Ich frage mich, ob jemand helfen könnte, und gebe Ihnen schließlich ein kleines Codebeispiel. Jede Hilfe geschätzt, danke.

Antwort

0

Formal sind Zwischenachsen (orthogonale) lineare Kombinationen Ihrer Daten (entlang maximal erklärter Varianz, ua Hauptkomponenten).

Wenn die meisten Daten eine ähnliche Form haben (z. B. [5 4 3 2 1 0] -Muster), dann ist die erste Komponente dieser Form/Vektor ähnlich, da die Varianz um sie minimal ist (oder: Varianz entlang derselben) ist maximal). Auch die nächsten Komponenten minimieren den Rest der Varianz in orthogonalen Ebenen.

So lautet die Antwort: Hauptkomponenten 1 und 2.

Und noch genauer: erster Zwischenkoordinatenwert kann als Größe dieses "ersten Hauptmusters" in einem einzelnen Datenabtastwert verstanden werden.