WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Statistics Toolbox - Ergebnisse mit PCA und SVD variieren

 

mats
Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 16.10.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.10.2014, 10:32     Titel: Statistics Toolbox - Ergebnisse mit PCA und SVD variieren
  Antworten mit Zitat      
Hallo Forumsgesellschaft,

ich komme zu euch, da ich bei einer Datenanalyse auf einen Unterschied gestossen bin, den ich nicht erwartet habe und mir nicht erklären kann. Ich hoffe ihr könnt mir weiterhelfen. Und zwar verwendet die pca- bzw. princomp-Funktion der Statistiktoolbox die Singulärwertzerlegung um die score-values als Projektion der Daten auf die jeweiligen principal components zu berechnen und ebenso die Korrelationskoeffizienten auszugeben. Die selben Informationen sollten mit der svd-Funktion erhalten werden können. Um es zu verdeutlichen hier ein einfaches Beispiel:

time=0.001:0.001:1;
signals(:,1)=sin(2*pi*time);
signals(:,2)=-sin(2*pi*time);
signals(:,3)=cos(2*pi*time);
signals(:,4)=randn(size(time));
[U,S,V]=svd(signals);
[coeff,score,latent]=pca(signals);

So wie ich die Theorie verstanden habe, sollten nun die coeff der pca mit V aus der svd uebereinstimmen. Ebenso sollten latent und diag(S) Information ueber die von den Moden erklärte Varianz des Eingangssignals enthalten. Ich erhalte jedoch folgendes:

coeff =

0.5059 -0.4940 0.0038 0.7071
-0.5059 0.4940 -0.0038 0.7071
0.0322 0.0408 0.9986 0.0000
0.6979 0.7144 -0.0517 0.0000


V =

-0.5027 0.4972 0.0038 0.7071
0.5027 -0.4972 -0.0038 0.7071
-0.0324 -0.0404 0.9987 0.0000
-0.7025 -0.7098 -0.0516 0.0000

latent/sum(latent) =

0.4211
0.3791
0.1998
0.0000


diag(S)/sum(diag(S)) =

0.3792
0.3598
0.2611
0.0000

Worin liegt der Unterschied, was macht die pca-Funktion ausser eine svd anzuwenden?
Ich hoffe ich habe mich verständlich ausgedrueckt und freue mich ueber jede Anregung und Hilfe! Vielen Dank, Mats
Private Nachricht senden Benutzer-Profile anzeigen


mats
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 16.10.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.10.2014, 12:30     Titel:
  Antworten mit Zitat      
okay, teilweise kann ich es mir nun selber erklären. Zum einen habe ich herausgefunden, dass die pca die daten eigenständig centered, dass heisst den mittelwert abzieht, was nur eine svd natuerlich nicht tut. ziehe ich denn mittelwert von den daten ab bevor ich die svd starte, so bekomme ich betraglich die selben Eigenvectoren in V wie die coeffs der pca. Allerdings sind die vorzeichen immernoch verdreht. Woran liegt das? Bzw. was bedeutet das?
Ausserdem habe ich herausgefunden, dass die einträge in latent nur die varianz der dazugehörigen spalten der score-matrix beinhalten und nicht die wurzel der eigenwerte wie sie in diag(S) enthalten sind.
Aber was sind denn dann die einträge in diag(S)? Ich habe oft gelesen, dass diese ein mass fuer die gesamtenergie der jeweiligen komponente sind. bisher dachte ich immer, dass das gleichbedeutend ist mit dem anteil an varianz, denn diese komponente ausmacht. aber dann wären die werte von latent und diag(S) ja gleich. Kann mir nur vielleicht jemand auf die Spruenge helfen?
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.