Ich habe eine Anwendung, in der Benutzer miteinander interagieren. Ich möchte diese Interaktionen visualisieren, damit ich feststellen kann, ob es Cluster von Nutzern gibt (innerhalb derer Interaktionen häufiger vorkommen).
Ich habe jedem Benutzer einen 2D-Punkt zugewiesen (wobei jede Koordinate zwischen 0 und 1 liegt). Meine Idee ist, dass sich die Punkte von zwei Nutzern einander annähern, wenn sie interagieren, eine "anziehende Kraft", und ich gehe einfach immer wieder meine Interaktionsprotokolle durch.
Natürlich brauche ich auch eine "abstoßende Kraft", die die Nutzer auseinander treibt, sonst würden sie alle zu einem einzigen Punkt zusammenfallen.
Zuerst habe ich versucht, die niedrigsten und höchsten XY-Koordinaten zu überwachen und ihre Positionen zu normalisieren, aber das hat nicht funktioniert, ein paar Benutzer mit einer geringen Anzahl von Interaktionen blieben an den Rändern, und der Rest kollabierte in der Mitte.
Weiß jemand, welche Gleichungen ich verwenden sollte, um die Punkte zu bewegen, sowohl für die "anziehende" Kraft zwischen den Nutzern, wenn sie interagieren, und eine "abstoßende" Kraft, um zu verhindern, dass sie alle in einen einzigen Punkt kollabieren?
Edit: Als Antwort auf eine Frage sollte ich darauf hinweisen, dass ich es mit etwa 1 Million Benutzern und etwa 10 Millionen Interaktionen zwischen Benutzern zu tun habe. Wenn jemand ein Tool empfehlen kann, das dies für mich tun könnte, bin ich ganz Ohr :-)