Link Anomaly Detection im zeitlichen Netzwerk

32

Ich bin auf dieses Dokument gestoßen, das die Erkennung von Link-Anomalien zur Vorhersage von Trendthemen verwendet, und fand es unglaublich interessant: Das Dokument befasst sich mit dem Thema "Aufstrebende Themen in sozialen Netzwerken mithilfe der Erkennung von Link-Anomalien" .

Ich würde es gerne in einem anderen Datensatz replizieren, bin aber nicht mit den Methoden vertraut, um zu wissen, wie man sie verwendet. Angenommen, ich habe eine Reihe von Snapshots des Knotennetzwerks über einen Zeitraum von sechs Monaten. Die Knoten haben eine langschwänzige Gradverteilung, wobei die meisten nur wenige Verbindungen aufweisen, einige jedoch sehr viele. Innerhalb dieses Zeitraums werden neue Knoten angezeigt.

Wie könnte ich sequentiell diskontierte normalisierte Maximum-Likelihood-Berechnungen implementieren, die in dem Artikel verwendet werden, um anomale Links zu erkennen, von denen ich glaube, dass sie Vorläufer eines Bursts sind? Gibt es andere Methoden, die geeigneter wären?

Ich frage sowohl theoretisch als auch praktisch. Wenn mir jemand einen Weg zeigen könnte, dies in Python oder R umzusetzen, wäre das sehr hilfreich.

Jemand? Ich weiß, dass Sie kluge Leute da draußen einige anfängliche Gedanken für eine Antwort haben,

Olga Mu
quelle
1
Wenn es Ihnen nichts ausmacht, die R / Python-Präferenz zu lockern, kann diese Arbeit von mir vielleicht helfen? goo.gl/l7SLlB Einige der Vorteile dieser Methode sind, dass Sie sich nicht um die Art der Funktionen, Normalisierungen und mehr kümmern müssen.
Arielf
1
Sofern ich die Frage nicht falsch verstehe, sollten Sie in der Lage sein, die Methode aus dem Papier genauso zu implementieren, wie die Autoren des Papiers die Methode implementiert haben. Wenn die Methode auf dem Papier nicht reproduzierbar ist, wenden Sie sich an die Autoren. Die Autoren können auch bereit sein, ihren Code anzugeben. Wenn Sie spezielle theoretische Fragen oder Programmierfragen haben, sollten diese separat gestellt werden.
Nat

Antworten:

0

Sie sollten zuerst eine Definition des Anomalie-Scores für einen neuen Knoten erstellen (siehe Abschnitt 3.1, 3.2). Glücklicherweise ist die Korrespondenz zwischen einem neuen Beitrag (in ihrem Fall) und einem neuen Knoten (in ihrem Fall) fast eins zu eins, da wir nur an der Menge von Knoten (Benutzern) interessiert sind, die der Knoten (Beitrag) ist im Zusammenhang mit.

Somit können wir einen neuen Knoten durch die Anzahl seiner Kanten / Verbindungen k und die Menge V der anderen Knoten, mit denen er verbunden ist, charakterisieren. Daher könnten die Gleichungen (1) - (4) auf ähnliche Weise geschrieben werden. Anschließend können Sie den chinesischen Restaurant-Prozess verwenden, wie am Ende von Unterabschnitt 3.1 beschrieben, nachdem Sie einen neuen Parameter . Wenn Sie nun die Wahrscheinlichkeiten (3) erhalten haben, können Sie den Link-Anomaly-Score (7) erhalten.γ

Fragen Sie weiter, wenn Sie Schwierigkeiten haben, die in Abschnitt 3.4 beschriebenen Schritte auszuführen, in denen SDNML angewendet wird.

sdd
quelle