Heute möchte ich vorstellen, wie man mit Hilfe von netvizz und Gephi sein eigenes Facebook-Netzwerk erstellen und visualisieren kann. Das Ergebnis ist ein Netzwerk-Graph, der alle Freundschaften innerhalb des eigenen Facebook-Freundeskreises visualisiert. An diesem lassen sich einige interessante Dinge ablesen, z.B. welche Gemeinschaften es gibt und welche Personen Schlüsselpositionen im eigenen Freundeskreis einnehmen.
Netwerkdatensatz mit netvizz herunterladen
Aber Schritt für Schritt: Zu aller erst muss die Datengrundlage besorgt werden. Innerhalb von Facebook lässt sich dies mit Hilfe der App netvizz realisieren. Folgendes Schritte sind dafür notwendig.
- Wir loggen uns in den eigenen Facebook-Account ein.
- In das Suchfenster geben wir „netvizz“ ein, klicken darauf und stimmen der Anwendung zu.
- Unter dem Punkt „your personal friend network“ bei Step 2 klicken wir auf „here“.
- Nun hat netvizz einen Datensatz für unser persönliches Facebook-Netzwerk erstellt. Leider werden nicht alle Freunde in den Datensatz aufgenommen. Bei mir zeigt netvizz an, dass die Datei 188 „nodes“ („Knoten“), also Freunde, und 1373 „edges“ ,Freundschaften zwischen Freunden, abbildet. Das bedeutet, dass 26 meiner 214 Freunde nicht aufgenommen wurden, was in Zusammenhang mit deren Privacy-Einstellungen steht. Wir können Sie jedoch zu einem späteren Zeitpunkt manuell hinzufügen.
- Wir klicken mit der rechten Maustaste auf „gdf file“, gehen zu „speichern unter“, wählen „alle Dateien“ und fügen an das Ende des vorgeschlagenen Dateinamens „.gdf“ an. Nun haben wir unseren Netzwerkgraph bereits als Datensatz auf dem Rechner liegen.
Öffnen des Netzwerks in Gephi
Um unser Facebook-Netzwerk zu betrachten, benutzen wir die Open Source Software Gephi die hier heruntergeladen werden kann. Nach der Installation fahren wir mit folgenden Schritten fort:
- Wir öffnen Gephi auf unserem Desktop.
- Unter „Datei“ -> „Open“ wählen wir den mit netvizz heruntergeladenen Datensatz aus und öffnen ihn.
- Im nachfolgenden „Import report“ müssen wir den Graph Type von „Directed“ auf „Undirected“ umstellen und anschließend auf „OK“ klicken. Diese Einstellung gibt an, ob die Beziehung zwischen zwei Knoten symmetrisch oder asymmetrisch sein soll. Bei Facebook sind Freundschaften stets symmetrisch. Man kann mit niemandem befreundet sein, der nicht auch mit einem selbst befreundet sein möchte. Anders ist das etwa bei Twitter oder Google +, wo asymmetrische Verbindungen der Regelfall sind.
- Anschließend benötigt Gephi eine kurze Ladezeit für das Netzwerk, von der wir uns nicht aus der Ruhe bringen lassen. Irgendwann erscheint dann ein verworrener Klumpen auf unserem Bildschirm, der eine erste, wenn auch ziemlich hässliche Visualisierung unseres Netzwerks darstellt. In dieser repräsentiert jeder Punkt einen Freund und jede Linie eine Freundschaft.
Visualisierung des Netzwerks
- Nun wollen wir Struktur in unser Netzwerk bringen. Zu diesem Zweck wählen wir ein Layout in der linken unteren Ecke des Bildschirms aus. Meine Erfahrung nach stellt Force Atlas eine gute Variante dar, um Facebook-Netzwerke ansehnlich aufzubereiten. (Natürlich lohnt es sich auch die anderen Layout-Algorhythmen einmal auszuprobieren.) Die angebotenen Einstellungsmöglichkeiten können wir vorerst ignorieren werden, stattdessen klicken wir auf „Run“. Die Netzwerkstruktur bildet sich nun durch Abstoßen und Anziehen zwischen den Knoten heraus. Ab einem gewissen Punkt driften die Komponenten des Netzwerks nur noch weiter auseinander und wir können auf „Stop“ klicken.
- Im nächsten Schritt ist es sinnvoll, den Punkte im Netzwerk eine Identität zuzuorden. Durch das Klicken auf das große, schwarze T am unteren Rand des Programms werden die Knoten mit den (Facebook-)Namen unserer Freunde beschriftet.
- Leider überlagern sich die Namen und Punkte immernoch so stark, dass man kaum etwas erkennen kann. Wir wählen daher zwei weitere Layout-Funktionen aus. Wo wir zuvor Force Atlas ausgeführt haben, wählen wir nun Noverlap und führen es aus. Das Resultat ist, dass sich die Punkte in unserem Netzwerk nicht mehr überschneiden. Als nächstes wählen wir an gleicher Stelle LabelAdjust. Nach der Ausführung sollten alle Namen überschneidungsfrei sichtbar sein.
- Auf dem Bildschirm lassen sich bereits unterschiedliche Gruppen von Freunden räumlich abgrenzen, die wir aus unterschiedlichen Bezügen und Lebensabschnitten kennen. Nun wäre es schön, diese Gruppen farblich voneindander abzuheben. Dazu klicken wir auf der rechten Seite in der Mitte auf den Reiter „Statistics“ und wählen dort „Run“ neben dem Punkt „Modularity“. Der nachfolgende Report kann geschlossen werden. Damit haben wir eine Berechnung ausgeführt, die Gruppen unterscheidet, indem sie Gemeinschaften so einteilt, dass möglichst viele Verbindungen (Freundschaften) innerhalb und möglichst wenige zwischen diesen liegen. Ein Maß für die Qualität des Ergebnis liefert der bei „Modularity“ angezeigte Wert im Wertebereich zwischen -1 und 1, der durch den Algorhytmus möglichst nahe an 1 gebracht wird. Genaueres lässt sich bei den Autoren nachlesen.
- In der oberen linken Ecke des Bildschirms klicken wir nun unter „Partition“ und „Nodes“ auf die zwei grünen Pfeile, und wählen anschließend im Dropdown-Menü „Modularity Class“ aus. Nach einem Klick auf „Apply“ erscheinen die Gemeinschaften im Netzwerk farblich unterschieden. Die Farben können wir nach eigenem Geschmack modifizieren, indem wir auf die farbigen Quadrate klicken. Die Einteilung in Gemeinschaften kann in Richtung kleinerer oder größerer Gruppen durch eine Neuberechung verändert werden, indem die Resolution im Zwischenniveau modifiziert wird.
- Die farbliche Unterscheidung gibt unserem Netzwerk zusätzliche Struktur. Als nächstes wäre es doch schön zu wissen, welche unserer Freunde eine besondere Rolle in unserem Netzwerk spielen. Je nach Erkenntnisinteresse bieten sich dafür unterschiedliche Möglichkeiten der Visualisierung an. Für alle müssen wir unter „Statistics“ auf der rechten Seite „Network Diameter“ ausführen. Anschließend geht es wieder in die obere linke Ecke, diesmal unter den Reiter „Ranking“. Wir wählen wieder „Nodes“ aus sowie deren Größe als das zu gestaltende Element (Der rote Diamant). Im Dropdown-Menü stehen uns jetzt die soeben errechneten Maße zur Verfügung. Eine gute Variante ist, die größe eines Punktes in Abhängigkeit von dessen „Degree“ zu setzen, der Summe aller Verbindungen im Netzwerk. In der Visualierung des Netzwerks sind nun diejenigen die Knoten am größten, mit denen wir die meisten Facebook-Freunde teilen. Bei den meisten werden dies die besten Freunde sein, mit denen man Bekannte aus vielen verschiedenen Lebensbezügen gemein hat. Ebenfalls lohnt es sich, die sog. „Betweenness Centrality“ als Maß für die Größe der Punkte auszuwählen. Diese gibt an, wie, auf wie vielen kürzesten Verbindungen zwischen jeweils zwei Punkten ein Knoten liegt. So kommt es, dass bei dieser insbesondere Personen hohe Werte aufweisen, die unterschiedliche Gemeinschaften verbinden, wie zum Beispiel der Lebensgefährte oder die Lebensgefährtin, die mit vielen Freunden aus den unterschiedlichen persönlichen sozialen Kontexten bekannt sind.
Mein Netzwerk
Nachfolgend möchte ich kurz zwei Visualisierungen meines Facebook-Netzwerks vorstellen, damit ein optischer Eindruck des Resultats entsteht. Aus Datenschutzgründen habe ich auf die Beschriftung und die Nennung von Namen verzichtet und lediglich den sozialen Kontext angegeben, der mein Verhältnis zur jeweiligen Gruppe am besten beschreibt. Wer mich besser kennt, dem wird es jedoch relativ leicht fallen, das Netzwerk zu entschlüsseln.
Die erste Abbildung zeigt die Struktur meines Facebook-Netzwerks, welches sich sehr gut in Gemeinschaften mit unterschiedlichen Kontexten unterteilen lässt. In der unteren Rechten Ecke verbleibt ein Knäuel, der sehr viele Verbindungen zwischen den Punkten aufweist. Es handelt sich dabei vor allem um Facebook-Freunde aus Oldenburg und Umgebung. Die Einteilung in Gemeinschaften fällt hier sehr schwer, da die wechselseitigen Bindungen sehr stark sind. Grob lässt sich eine Farbe eher dem Kontext Schule, eine andere dem Sport oder dem Heimatort zuordnen, allerdings bestehen zu viele Querverbindungen für eine saubere Trennung. Oldenburg ist wohl mehr oder weniger ein großes Dorf 🙂 Besonders die zwei großen grünen Punkte fallen optisch aus dem Knäuel: zwei meiner besten Freunde mit denen ich nicht ohne Grund viele gemeinsame Freunde bei Facebook habe, da wir stets viel Zeit miteinander verbracht haben und immer noch verbringen, wenn die Gelegenheit besteht.
Die zweite Abbildung zeigt das gleiche Netzwerk, aber mit der „Betweeness Centrality“ als Maß für die Größe eines Knotens. Die beiden großen grünen Punkte spielen hier nur eine untergeordnete Rolle, da ihnen in einem eng verbundenen Netzwerk keine Schlüsserolle bei der Verbindung von Knoten zukommt. Stattdessen bildet meine Freundin den größten Punkt im Netzwerk, da sie, wie bereits thematisiert, viele meiner Freunde aus unterschiedlichen Bezügen kennt.
Optional: Freunde und Verbindungen hinzufügen
Wir haben nun unser Facebook-Netzwerk mit Hilfe von gephi Visualisiert, einige Fragen dürften aber noch offen sein. Wie können etwa Freunde zum Netzwerk hinzugefügt werden, die aufgrund der Privacy-Einstellungen der Freunde nicht aufgenommen wurden? Die Möglichkeit dazu besteht in der Ansicht „Data Laboratory“ auf dem Reiter „Data Table“ . Über „Add node“ und „Add edge“ können Freunde und Facebook-Freundschaften hinzugefügt werden, am besten gleicht man dazu die Datentabelle mit seiner Freundesliste auf Facebook ab. Insbesondere letzteres kann etwas mühselig werden, daher gibt es die Möglichkeit in der Ansicht „Overview“ Verbindungen zwischen Punkten zu zeichnen, anstatt diese einzugeben. Am linken Rand des mittleren Fensters dient dazu der untere der beiden Bleistifte.
Zu guter Letzt könnte der eine oder andere noch eine Frage mit sich herumtragen: Wo bin ich? Das auf dem beschriebenen Wege visualisierte Facebook-Netzwerk hat keinen Eintrag für denjenigen, dessen Freundschaftsgeflecht abgebildet wird. Das hat ein paar gute Gründe, etwa die Vermeidung der zentralen Ausrichtung des Netzwerks auf nur eine Person. Eine Reihe interessanter Erkenntnisse würde so eher erschwert. So würde z.B. jede Verbindung zwischen zwei Personen im Netzwerk maximal aus zwei Schritten bestehen, da diese immer zumindest einen gemeinsamen Freund haben, nämlich denjenigen, dessen Netzwerk visualisiert wird. Wer sich selbst in das Netzwerk einfügen möchte, kann das ausprobieren, indem er einen Knoten für sich selbst erstellt und diesen mit allen anderen im Netzwerk verbindet.
Ich hoffe ich konnte zeigen, welche interessanten Einblicke durch die Visualisierung des eigenen Facebook-Netzwerks möglich sind. Vielleicht hat der eine oder andere Lust bekommen, es auch zu versuchen. Für Hilfestellungen und Nachfragen stehe ich gerne zur Verfügung und natürlich freue ich mich über Feedback in den Kommentaren.
von Tobias Wolfanger