Guten Morgen ebody,
Du hast eine Merkwürdigkeit in deiner Ähnlichkeitsdefinition. Wenn S(i,j) die Ähnlichkeit der Gruppen i und j bezeichnet, würde ich erwarten, dass S symmetrisch ist, also stehs S(i,j) = S(j,i) gilt. Das ist bei Dir aber nicht der Fall. Beispiel:
Gruppe 1 hat 70 Mitglieder.
Gruppe 2 hat 350 Mitglieder.
Gruppe 1 und Gruppe 2 haben 35 gemeinsame Mitglieder.
Wie groß ist jetzt die Ähnlichkeit? Teile ich 35 durch 70 oder durch 350? Habe ich 50% oder 10% Ähnlichkeit? Ist S(i,j) die Ähnlichkeit zwischen i und j aus Sicht von i? Dann wäre S(1,2) = 50% und S(2,1) = 10%. Willst Du das?
Wenn Du eine symmetrische Ähnlichkeit willst, musst Du den Divisor normieren. Ich würde dafür das arithmetische Mittel der Gruppengrößen vorschlagen. Damit stellst Du sicher, dass du keine Ähnlichkeit über 100% bekommst, und dass du die Ähnlichkeiten von Gruppenpaaren mit kleinen Mitgliederzahlen mit der von großen Mitgliederzahlen vergleichen kannst. Alternativ zum Mittelwert kannst du auch das Maximum nehmen.
Die weitere Überlegung hängt davon ab, ob Du etwas programmieren willst oder eine SQL Abfrage brauchst (ja, das geht per SQL). Wo und wie sind deine Gruppen und Mitglieder gespeichert?
Rolf