Zur Ermittlung der Ähnlichkeit zweier Mengen oder Messreihen gibt es verschiedene Algorithmen, die jedoch alle etwas unterschiedlich ablaufen und somit auch für unterschiedliche Zwecke besser oder schlechter geeignet sind.

Euklidischer Abstand

Der euklidische Abstand ist im Grunde eine sehr einfache Berechnung, die man aus der Schulzeit kennt. Damals wurde mit dem Satz des Pythagoras der Abstand zweier Punkte im zwei- und später auch im dreidimensionalen Raum ermittelt. Diesen Raum erweitert man nun einfach auf n Dimensionen, wobei n der Anzahl der verschiedenen Messdaten entspricht.

Der euklidische Abstand eignet sich allerdings nur, wenn Gleichheit nur durch gleiche Größen und nicht durch lineare Abhängigkeit bestimmt wird. Die Messdaten (1,2) sind nach dem euklidischen Abstand wesentlich anders als (2,4). Dies stellt sich als Problem heraus, wenn es nur um die relative Ähnlichkeit und nicht um absolute Werte geht (z.B. dass Wort A im Vergleich zu Wort B nur halb so oft vorkommt).

Abstand zweier Punkte im Koordinatensystem

Will man dieses Problem beheben, müsste man mit Normalvektoren arbeiten. Dazu teilt man die einzelnen Vektoren durch ihren Betrag, womit jeder Vektor die Länge 1 erhält und es zu einer Verschiebung auf dem Einheitskreis kommt.

Tanimoto

Tanimoto hat den Jaccard-Index erweitert, sodass dieser auch mit nicht-binären Zahlen verwendet werden kann. Mit Jaccard ist es nur möglich, dass Werte entweder in der Menge vorhanden sind oder nicht (1 oder 0). Dank der Tanimoto-Formel können auch Werte wie 0,5 vorhanden sein.

Der Tanimoto-Koeffizient geht – ähnlich wie die Berechnung über den euklidischen Abstand – stark nach unten, wenn man zwei Reihen mit unterschiedlichen Werten, aber gleichem Verlauf miteinander vergleicht. Dafür schlägt Tanimoto weniger nach unten aus, wenn man einzelne Werte bei sehr stark korrelierenden Reihen verändert.

Pearson

Der Pearson-Korrelationskoeffizient verwendet eine Normalisierung und erkennt dadurch auch Korrelationen bei Vielfachen. So werden z.B. (4,6,8) und (8,12,16) vom Pearson-Korrelationskoffezienten als vollkommen korrelierend betrachtet.

Bildlich dargestellt ist der Pearson-Korrelationskoeffizient der Abstand aller Punktepaare aus beiden Vergleichsmengen in einem zweidimensionalen Koordinatensystem zu einer Regressionsgeraden. Liegen alle Punkte auf einer Geraden, ist der Koeffizient entweder +1 (bei positiver Steigung) oder -1 (bei negativer Steigung), wobei +1 eine vollkommene Korrelation und -1 eine negative Korrelation bedeutet.

Pearson-Korrelationskoeffizient für zwei Messreihen, diese Messwerte korrelieren vollständig (das Ergebnis ist 1

Der Pearson-Korrelationskoeffizient zeigt jedoch Schwächen bei Ausreißern, da diese die Regressionsgerade verschieben oder selbst einen sehr großen Abstand haben und damit den Koeffizienten verschlechtern. In meinem Testfall waren in zwei Reihen von jeweils fünf Werten vier Werte gleich und einer komplett anders, was bei Pearson zu einem Wert von nur noch 0,12 führte:

Kor((0.1 0.4 0.1 0.4 0.5), (0.1 0.4 0.7 0.4 0.5)) = 0.123278
I do not maintain a comments section. If you have any questions or comments regarding my posts, please do not hesitate to send me an e-mail to stefan@eliteinformatiker.de.