Welche Faktoren müssen bei der Auswahl eines Ähnlichkeitsindex berücksichtigt werden? In welchen Fällen wird eine euklidische Entfernung gegenüber Pearson bevorzugt und umgekehrt?Wie kann man eine bestimmte Art von Ähnlichkeitsindex verwenden? Euklidischer Abstand vs. Pearson-Korrelation
Antwort
Korrelation ist einheitsunabhängig; Wenn Sie eines der Objekte zehn Mal skalieren, erhalten Sie unterschiedliche euklidische Abstände und gleiche Korrelationsabstände. Daher sind Korrelationsmetriken ausgezeichnet, wenn Sie den Abstand zwischen Objekten messen möchten, die durch Expressionsprofile definiert sind.
Oft wird die absolute oder quadrierte Korrelation als Entfernungsmetrik verwendet, weil wir mehr an der Stärke der Beziehung interessiert sind als an ihrem Vorzeichen.
Die Korrelation ist jedoch nur für hochdimensionale Daten geeignet; Es gibt kaum einen Punkt, um es für zwei- oder dreidimensionale Datenpunkte zu berechnen.
Beachten Sie auch, dass "Pearson-Distanz" eine gewichtete Art der euklidischen Distanz ist und nicht die "Korrelationsdistanz", die den Pearson-Korrelationskoeffizienten verwendet.
Es hängt wirklich von dem Anwendungsszenario ab, das Sie in der Hand haben. Ganz kurz, wenn Sie mit Daten arbeiten, bei denen der tatsächliche Unterschied in Werten von Attributen wichtig ist, gehen Sie mit Euklidischer Abstand. Wenn Sie nach einer Ähnlichkeit von Trends oder Formen suchen, dann gehen Sie mit der Korrelation. Beachten Sie auch, dass die euklidische Distanz sich ähnlich wie der Pearson-Korrelationskoeffizient verhält, wenn Sie in jedem Objekt eine Z-Score-Normalisierung durchführen. Pearson ist gegenüber linearen Transformationen der Daten nicht empfindlich. Es gibt andere Arten von Korrelationskoeffizienten, die nur die Ränge der Werte berücksichtigen und sowohl für lineare als auch für nichtlineare Transformationen unempfindlich sind. Beachten Sie, dass die übliche Verwendung der Korrelation als Unähnlichkeit 1 - Korrelation ist, die nicht alle Regeln für eine metrische Distanz berücksichtigt.
Es gibt einige Studien, auf denen Näherungsmaß auf eine bestimmte Anwendung auswählen, zum Beispiel:
Pablo A. Jaskowiak, Ricardo Campello JGB, Ivan G. Costa Filho, „Proximity Maßnahmen für Clustering Genexpression Microarray-Daten: Eine Validierungsmethodologie und eine vergleichende Analyse, "IEEE/ACM-Transaktionen auf Computerbiologie und Bioinformatik, vol. 99, nein. PrePrints, p. 1,, 2013
- 1. Euklidischer Abstand vs Pearson Korrelation vs Kosinusähnlichkeit?
- 2. OpenCV euklidischer Abstand zwischen zwei Vektoren
- 3. Euklidischer Abstand zwischen zwei Vektoren (einreihige Matrix)
- 4. Kosinusähnlichkeit vs Hamming-Abstand
- 5. Minimaler euklidischer Abstand zwischen markierten Komponenten in einem Array
- 6. Euklidischer Abstand zwischen Elementen in zwei verschiedenen Matrizen?
- 7. Wie man eine bestimmte Animation erstellt
- 8. Bilder auf eine bestimmte Art extrahieren
- 9. kapseln die Art und Weise eine bestimmte Art von Pinsel in Objective-C gezogen wird
- 10. Wie kann ich Sendkeys für diese Art von Details verwenden?
- 11. Wie kann man wissen, welcher Prozess eine bestimmte Datei verwendet?
- 12. Wie spezifiziert man eine bestimmte JAXB-Implementierung?
- 13. COM: Wie behandelt man eine bestimmte Ausnahme?
- 14. Numpy Probleme Vektorisierung bestimmte Art von Aggregation
- 15. Wie kann man eine bestimmte Domain in Datapower stilllegen?
- 16. Eine knifflige Abfrage - eine Art von verschiedenen
- 17. Wie kann man den Abstand zwischen zwei GPS-Koordinaten berechnen, ohne Google Maps API zu verwenden?
- 18. Wie man ObservableCollection unbekannter Art
- 19. Wie ermittelt man den Datenbanktyp für eine bestimmte JDBC-Verbindung?
- 20. Euklidischer Algorithmus (GCD) mit mehreren Zahlen?
- 21. Wie wählt man eine bestimmte Zeile?
- 22. Wie fügt man StringBuilder eine bestimmte Anzahl von Leerzeichen hinzu?
- 23. Erweiterter euklidischer Algorithmus JAVA RSA
- 24. Wie kann man eine "Programm-API" verstehen und verwenden?
- 25. Wie transformiert man einen Abstand von Grad zu Metern?
- 26. Suchen von Steuerelementen, die eine bestimmte Schnittstelle in ASP.NET verwenden
- 27. Wie kann man nur auf bestimmte Ruby-Klassen zugreifen?
- 28. Wie implementiert man eine Art globalen Versuch..finally in TPL?
- 29. Wie zeigt man eine bestimmte Anzahl von Dezimalziffern an?
- 30. Wie überprüft man Array von Strings enthält eine bestimmte Zeichenfolge?