bestimmen, wie "gut" ist eine Korrelation in matlab?
Arbeite ich mit einem Satz von Daten und ich habe erhalten eine bestimmte Korrelationen (pearson ' s Korrelationskoeffizient). Ich wurde gebeten, zu bestimmen, die "Qualität der Korrelation," und meine Vorgesetzten bedeutet, dass er will, um zu sehen, was die Zusammenhänge sein würde, wenn ich versuchte, permuting alle y-Werte meiner bestellten Paare, und verglichen die erhaltenen Korrelationskoeffizienten. Kennt jemand einen schönen Weg, dies zu tun? Gibt es eine matlab-Funktion, die würde bestimmen, wie gut eine Korrelation ist im Vergleich zu einer Korrelation zwischen zufälligen Permutationen der Daten?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Erste, Sie haben zu prüfen, ob der Korrelationskoeffizient ist signifikant von null Verschieden. Die
corr
Funktion können dies tun (siehepval
).Zweiten, wenn es signifikant von null Verschieden, dann würden Sie wie, um zu entscheiden, ob dieser Unterschied auch signifikant aus praktischer Sicht. In der Praxis, das Quadrat der Korrelation coefficent (die Bestimmtheitsmaß) wird als signifikant, wenn er größer als 0,5, was bedeutet, dass der Variationen eines der Parameter korreliert ", erklärt" mindestens 50% der variation der anderen.
Drittens, es gibt Fälle, wenn das Bestimmtheitsmaß ist nahe eins, aber das ist nicht genug, um zu bestimmen, die "Güte der Korrelation". Zum Beispiel, wenn Sie Messen die gleiche variable mit zwei verschiedenen Verfahren, bekommen Sie in der Regel sehr ähnliche Werte, so dass der Korrelationskoeffizient von nahezu 1. In solchen Fällen sollten Sie in der Bland-Altman-Analyse, die sehr einfach zu implementieren in Matlab, und hat seine eigene "Güte" - Parameter (bias und die sogenannte limits of agreement).
Können Sie permutiert ein Vektor, labels N-mal und berechnen der Koeffizienten der Korrelationen (cc) für jede iteration. Dann können Sie vergleichen die Verteilung der Werte, die mit der realen Korrelation.
Etwas wie dieses:
Darüber hinaus, wenn Sie berechnen, Korrelation mit
[cc pv] = corr(x,y)
bekommen Sie p-Wert von, wie Ihre Korrelation unterscheidet sich von keine Korrelation. Dieser p-Wert wird berechnet aus der Annahme, dass der Vektor normalverteilt. Allerdings, wenn Sie berechnen nicht Pearson, aber Spearman-oder Kendall-Korrelation (nicht-parametrische), die p-Werte aus zufällig permuted Daten: