Betweenness Centrality

10.5.1 L’Ego Network

Un uso comune di Twitter è mantenere il contatto con la tua rete sociale personale: famiglia, colleghi, conoscenti e così via. Alcuni dei tuoi amici e follower su Twitter apparterranno sicuramente a persone che ti sono vicine, mentre altri possono essere lontani conoscenti o addirittura perfetti sconosciuti. Ci riferiamo all’insieme degli amici e dei follower di un utente di Twitter come alla sua “rete egocentrica”. Quando si parla della rete egocentrica di un utente di Twitter, tale utente viene spesso indicato come “ego” e i suoi amici e follower come “alter” (ma usiamo ancora il termine “amico” o “follower” quando stiamo parlando di una di queste relazioni in particolare). Useremo i termini “ego” e “alter” in questa sezione.

Alcuni legami nella rete egocentrica sono reciproci – ego segue alter e alter segue ego, così entrambi possono rimanere al corrente degli aggiornamenti di stato dell’altro. La ricerca sui legami reciproci nelle scienze sociali suggerisce che tali legami esistono più spesso tra amici stretti e familiari che tra conoscenti lontani. Seguendo questa ricerca, in questa sezione assumiamo che una rete con molti legami reciproci indichi un insieme di forti relazioni sociali, in cui entrambe le persone sono interessate agli aggiornamenti dell’altro, mentre una rete con molti legami unidirezionali indica legami sociali deboli, in cui l’ego può anche non conoscere il follower, come nel caso delle celebrità di Twitter.

Un altro indicatore di forti legami in una rete sociale sono le “triadi chiuse”, che sono legami tra due alter di un ego. Come per i legami reciproci, la ricerca sulle triadi chiuse mostra che le comunità strette di forti legami sociali presentano più triadi chiuse delle comunità sciolte di legami sociali deboli. Seguendo questa ricerca, assumiamo che un ego con molte triadi chiuse tra i suoi alter è più probabile che sia inserito in una comunità stretta, dove tutti si conoscono. Al contrario, un ego con poche triadi chiuse tra i suoi alter è più probabile che sia solitario o che non sia affatto un individuo. Per esempio, gli account Twitter per i commercianti possono avere molti seguaci interessati ai loro prodotti, ma questi seguaci spesso non si conoscono tra loro.

L’analisi delle reti egocentriche può spesso portare a risultati utili se si vuole usare Twitter come una piattaforma di sviluppo o di pubblicità. Le comunità strette, per esempio, potrebbero essere molto più propense ad adottare un prodotto insieme o non adottarlo affatto, mentre le reti egocentriche sparse con molte connessioni a senso unico potrebbero essere pesantemente influenzate dal comportamento dell'”hub” della rete, l’utente di Twitter con molti follower ma pochi amici. In particolare, l’analisi delle reti egocentriche delle celebrità su Twitter ci dà uno sguardo su come i ricchi e famosi di oggi usano i social media per raggiungere migliaia (se non milioni) di fan adoranti.

Con l’aiuto di NodeXL, è possibile indagare la relativa presenza o assenza di legami reciproci e triadi chiuse nella rete egocentrica di Twitter. La maggior parte delle reti egocentriche sono un mix di legami sociali forti e deboli, così che riassumere i legami reciproci e le triadi in un unico numero spesso porta a conclusioni errate sulla tua cerchia sociale. Invece, visualizzare la tua rete sociale può darti intuizioni sui tuoi legami stretti rispetto a quelli lontani e sulle interazioni tra i tuoi amici più stretti e i tuoi conoscenti.

Molti utenti di Twitter trasmettono eventi della loro vita, da quelli banali (abitudini alimentari) a quelli importanti, come l’organizzazione di viaggi, eventi importanti della vita e così via. Questi eventi sono visibili a breve termine a tutti i follower dell’utente, che fanno parte della sua rete egocentrica. In reti egocentriche molto piccole (ad esempio, quando i seguaci di un utente sono limitati alla propria famiglia), questa forma di trasmissione è utile per rimanere in contatto con i parenti che hanno viaggiato all’estero o si sono trasferiti. Tuttavia, molti utenti attivi hanno reti egocentriche piuttosto grandi, e i loro tweet spesso vanno a persone completamente disinteressate a loro. Allo stesso tempo, il numero di seguaci che un utente di Twitter accumula rende difficile tenere traccia di chi sta leggendo i tweet. NodeXL rende relativamente facile identificare diversi gruppi nelle tue reti egocentriche, come i tuoi seguaci che sono i tuoi colleghi contro quelli che sono la tua famiglia. Puoi sfruttare la nuova funzione Twitter Lists per organizzare questi gruppi in comode liste da seguire e a cui fare riferimento nei tuoi tweet.

Il primo passo per analizzare la tua rete egocentrica in NodeXL è raccogliere i dati. Un modo per farlo è quello di utilizzare la funzione Import > From Twitter User’s Network di NodeXL. Cliccando sulla scheda NodeXL nel menu Excel, poi sull’elenco a discesa Import a sinistra della barra multifunzione di NodeXL, ti vengono presentate diverse opzioni di importazione (assicurati che la casella di controllo “Clear NodeXL Workbook First” sia selezionata). Seleziona l’opzione From Twitter User’s Network nell’elenco a discesa, a questo punto ti viene presentata una finestra di dialogo (Fig. 10.12).

Figura 10.12. La schermata di importazione della rete di utenti Twitter di NodeXL. Le opzioni dei livelli selezionati importeranno sia gli amici che i follower di @vlad43210, così come tutte le connessioni amico/follower tra di loro.

In cima alla casella c’è un campo di testo per l’utente di Twitter di cui si vuole raccogliere la rete egocentrica. Per questo esempio, useremo uno dei nostri account Twitter-@vlad43210. Sotto il campo di testo ci sono tre caselle di controllo: Aggiungi un bordo per le relazioni Follows, Replies-to, e Mentions nei tweet. Assicuratevi che solo la casella Follows sia selezionata, le altre due sono più rilevanti per le reti di informazioni, che esamineremo più avanti. Assicurati anche che la casella di controllo “Ottieni sia amici che follower” sia selezionata in modo da poter raccogliere dati su tutti gli alter, non solo amici o follower.

Più in basso, ti viene presentato l’elenco a discesa “Ottieni connessioni fino a X gradi”. Seleziona “1,5” nel menu a tendina per catturare tutti i tuoi alter, così come tutte le relazioni di follow e di amicizia tra di loro. Quest’ultima serie di relazioni è necessaria per osservare la presenza di triadi chiuse nella tua rete egocentrica. Poi, assicurati che le caselle di controllo “Aggiungi colonne statistiche al foglio di lavoro Vertices (più lento)” e “Aggiungi una colonna Tweet al foglio di lavoro Vertices” siano deselezionate. Queste sono molto utili per raccogliere dati sull’attività di Twitter nella tua rete egocentrica, ma ai fini dell’esempio attuale ci concentriamo sulle relazioni, non sull’attività.

Gli ultimi due campi di testo ti permettono di specificare un nome utente e una password se hai un account Twitter in whitelist (discusso in precedenza). Che tu li compili o meno, puoi poi cliccare su OK e iniziare il processo di importazione dei dati. Una volta che il processo è completo, vedrai di nuovo il foglio di calcolo, pieno di righe di coppie di utenti di Twitter e le relazioni tra di loro. Potrebbe essere necessario cliccare su “Refresh Graph” per visualizzare questi utenti e le relazioni sulla tela del grafico. Nota che l’ego è al centro – nel nostro esempio, è @vlad43210 – circondato da una moltitudine di alter. L’immagine sulla tela assomiglia a una stella, poiché @vlad43210 ha molti alter che non si seguono a vicenda. Questi sono probabilmente i suoi deboli legami sociali, la maggior parte dei quali sono completi sconosciuti (Fig. 10.13).

Figura 10.13. La rete egocentrica di Twitter di 1,5 gradi di @vlad43210. Il vertice al centro è @vlad43210, i molti vertici ai bordi rappresentano i deboli legami sociali di @vlad43210, la maggior parte dei quali sono completi sconosciuti.

Puoi concentrarti sui legami sociali più forti guardando gli alter nella rete egocentrica di @vlad43210 con almeno due legami con altre persone (entrambi i legami possono essere alla stessa persona) in entrambe le direzioni, amico o follower. Tutti quelli di cui abbiamo raccolto dati avranno almeno un legame con @vlad43210. Gli alter con almeno due legami avranno o un legame con un altro alter di @vlad43210 (indicando che sono parte di una triade chiusa), o avranno un legame reciproco di amicizia/follow con @vlad43210. Come abbiamo discusso in precedenza, entrambi questi fattori possono indicare la presenza di una relazione sociale più forte tra @vlad43210 e l’individuo in questione. Nella rappresentazione grafica della rete, gli alter con due legami con altre persone saranno rappresentati da vertici con almeno due bordi (in entrambe le direzioni) tra loro e almeno un altro vertice. Per concentrarti solo su questi vertici, devi prima calcolare l’in- e out-degree. Cliccate sul pulsante “calcola le metriche del grafico”, spuntate “in-degree” e “out-degree” e cliccate su “Compute Metrics”.

Ora impostiamo la visibilità dei vertici nel grafico basandoci su in-degree + out-degree > 1. I vertici che soddisfano questo criterio avranno almeno due amici, due follower, o un amico e un follower (che possono essere la stessa persona), che è esattamente quello che stiamo cercando. Per fare questo, prima aggiungete una nuova colonna cliccando sulla cella sotto l’etichetta “Add your own Columns here” nel foglio di lavoro Vertices, poi impostate il valore della cella come la somma di C3 e D3 (corrispondenti rispettivamente al grado di entrata e uscita). Le altre celle della colonna si riempiranno automaticamente con la stessa formula. Ora etichettate questa nuova colonna come “Sum Degree” modificando l’etichetta della colonna. Infine, cliccate su Autofill Columns, cliccate sull’elenco a discesa accanto a “Vertex Visibility”, cliccate su “Sum Degree”, poi cliccate sul pulsante accanto all’elenco a discesa e digitate 1 nella casella di testo per indicare che volete mostrare solo i vertici con in-degree + out-degree > 1. Cliccate su OK, poi su Autofill, poi su Refresh Graph. Notate che il numero di vertici è diventato molto più piccolo e il grafico non assomiglia più a una stella – invece vediamo @vlad43210 circondato da due gruppi di vertici densamente connessi con poche connessioni tra i gruppi.

La figura 10.14 suggerisce che la rete egocentrica di @vlad43210 ha due gruppi separati strettamente connessi, o cluster, di alter. NodeXL può aiutare a confermare questa intuizione eseguendo il rilevamento automatico dei cluster. Per rilevare i cluster, basta cliccare su “Find Clusters” nella sezione Analisi del menu a nastro di NodeXL. NodeXL cercherà automaticamente i cluster e assegnerà colori diversi ai vertici dei diversi cluster (queste assegnazioni sovrascrivono qualsiasi colore dei vertici definito tramite le colonne Autofill o tramite la modifica del foglio di lavoro). Ora clicca su “Refresh Graph” e i nuovi colori dei vertici appariranno sul canvas.

Figura 10.14. La rete di Twitter egocentrica di 1,5 gradi di @vlad43210. Abbiamo filtrato i completi sconosciuti per concentrarci sui forti legami sociali di @vlad43210 – i suoi amici e colleghi. Emergono due cluster (in alto a destra e in basso a sinistra).

Si può ora cliccare sui vertici dei diversi cluster per capire se i cluster rappresentano partizioni significative della rete egocentrica di @vlad43210 su Twitter. Infatti, l’esplorazione del foglio di lavoro rivela che il cluster viola corrisponde agli alter che sono colleghi accademici di Vlad, mentre il cluster verde corrisponde agli alter che sono suoi amici (nel senso comune della parola, non nel senso di Twitter degli utenti che @vlad43210 segue). I cluster possono essere usati per creare due Liste per l’account Twitter di Vlad: una per comunicare con i suoi amici e una per comunicare con i suoi colleghi.

Si possono anche usare le nozioni di centralità dell’autovettore e centralità di betweenness, descritte in precedenza, per esaminare l’importanza relativa degli attori nella rete egocentrica di Twitter di @vlad43210, dal punto di vista dell’attenzione e dell’informazione. Come abbiamo discusso nella sezione 10.3.1, gli attori con alta centralità dell’autovettore nella rete di amici/followers sono centri di attenzione, mentre gli attori con alta centralità di betweenness nella stessa rete sono mediatori di informazioni. NodeXL ci permette di visualizzare entrambe queste quantità allo stesso tempo, mappandole a diverse proprietà dei vertici nella tela del grafico.

Mappiamo il colore dei vertici alla centralità dell’autovettore e la dimensione dei vertici alla centralità di betweenness.7 Per fare questo, clicchiamo prima sul pulsante Graph Metrics nella sezione Analysis del menu a nastro di NodeXL, quindi spuntiamo “Eigenvector centrality” e “Betweenness and closeness centralities” e clicchiamo su “Compute Metrics”. Poi clicca sul pulsante Autofill Columns nel menu di NodeXL, clicca sull’elenco a discesa accanto a “Vertex Color” e seleziona “Eigenvector Centrality”, clicca sull’elenco a discesa accanto a “Vertex Size” e seleziona “Betweenness Centrality”. Clicca su “Autofill” e poi sul pulsante Refresh Graph nel pannello di visualizzazione del grafico per aggiornare le dimensioni e i colori dei vertici nella tela del grafico. Fate un’altra regolazione prima di visualizzare il grafico: poiché @vlad43210 è al centro della sua rete egocentrica per definizione, le sue centralità betweenness e autovettore saranno alte ma non ci diranno nulla sulla posizione di @vlad43210 nella sua rete. Impostare manualmente le centralità betweenness e autovettore di @vlad43210 a 0 nel foglio di lavoro e premere di nuovo “Aggiorna grafico”.

Se si confrontano le figure 10.15 e 10.16, si vede che @vlad43210 ha una centralità egocentrica.16, si può vedere che i colleghi di @vlad43210 sono più centri di attenzione dei suoi amici, ma che i due cluster sono abbastanza simili in termini di flusso di informazioni (con l’eccezione di @redlog, che ha sia una centralità autovettoriale molto alta che una centralità betweenness molto alta e si presenta come un grande nodo verde nel grafico).

Figura 10.15. La rete Twitter egocentrica di 1,5 gradi di @vlad43210 (solo forti legami sociali). NodeXL identifica automaticamente i cluster e li colora in modo diverso. In alto a destra (verde) corrisponde agli amici di @vlad43210, e in basso a sinistra (viola) corrisponde ai suoi colleghi accademici.

Figura 10.16. La rete egocentrica di 1,5 gradi di @vlad43210 su Twitter. I vertici più verdi hanno una centralità dell’autovettore più alta, e i vertici più grandi hanno una centralità betweenness più alta.

Infine, confrontiamo la rete egocentrica di amici e follower di @vlad43210 con la rete di @replies e mentions di @vlad43210. Nota che entrambe queste reti sono egocentriche, ma gli alter non sono necessariamente gli stessi in ciascuna. NodeXL non importa dati dettagliati di @reply e mention per gli utenti al momento della scrittura, ma l’API di Twitter permette un rapido workaround. Utilizzando l’API di status/mentions, è possibile visitare l’URL www.twitter.com/statuses/mentions.xml e registrare manualmente i nomi di tutti gli amici o follower di @vlad43210 che hanno @replicato a lui o menzionato il suo nome utente Twitter in uno dei loro tweet, così come il numero di @replies o menzioni per nome. Poiché @vlad43210 non riceve molte @replies o menzioni, questo non è un compito che richiede molto tempo – per compiti che richiedono più tempo, un’alternativa sarebbe quella di scrivere uno script per registrare questi nomi automaticamente. Poi, per ogni nome, trova il bordo nel foglio di lavoro Edges che collega @vlad43210 a un utente che ha @replicato o menzionato. Imposta manualmente la larghezza di questi bordi al numero di @replies o menzioni di @vlad43210 dall’utente corrispondente. Infine, premi “Refresh Graph” per riflettere questi aggiornamenti (Fig. 10.17).

Figura 10.17. La rete egocentrica di 1,5 gradi di @vlad43210 su Twitter. I vertici più verdi hanno una centralità dell’autovettore più alta, e i vertici più grandi hanno una centralità betweenness più alta. I bordi più spessi corrispondono agli utenti che @rispondono a @vlad43210 o menzionano il suo nome utente in uno dei loro tweet.

Si può vedere che anche se i colleghi di @vlad43210 sono più centri di attenzione dei suoi amici, i suoi amici @rispondono a @vlad43210 e lo menzionano più spesso dei suoi colleghi. Notate anche che, sebbene alcune connessioni @reply e mention colleghino @vlad43210 ad attori di alta centralità come @redlog, altre collegano @vlad43210 ad attori di bassa centralità. Chiaramente, le relazioni di informazione e attenzione nella rete egocentrica amici/followers di @vlad43210 non hanno necessariamente lo stesso peso nella sua rete egocentrica @replies/mentions.

Avanced Topic

Allineamento dei vertici in un grafico

Guardiamo brevemente le figure 10.9 e 10.10 (la rete di informazione/attenzione e gli esempi della rete di centralità). Supponiamo di voler allineare un piccolo numero di vertici in modo da mostrare chiaramente i raggruppamenti. Deve essere un sacco di lavoro allineare quei vertici così nitidamente a mano, trascinandoli uno per uno.

Come abbiamo descritto nel riquadro “Avanzate” prima, puoi manipolare le reti di NodeXL proprio come i normali fogli di calcolo. La scheda Vertices contiene colonne chiamate “X” e “Y”, che contengono le posizioni dei vertici nel grafico. C’è anche una colonna chiamata “Locked?” che controlla se le posizioni dei vertici sono bloccate o se possono essere spostate quando il grafico viene ridisegnato.

Dopo aver ridisposto i vertici nel modo che preferite, eseguite la seguente macro per allinearli perfettamente:

Sub Realign()

′ la distanza a cui arrotondare ogni posizione

RDIST = 500

COL_VERTEX = 1

COL_LOCK = 21

COL_X = 19

COL_Y = 20

ROW_START = 3

Dim wksht As Worksheet

Set wksht = Sheets(“Vertices”)

current_row = ROW_START

While wksht.Cells(current_row, COL_VERTEX).Text > “”

′ assicurati che la posizione del vertice sia bloccata

wksht.Cells(current_row, COL_LOCK) = “Yes (1)”

′ arrotonda la x e la y

x = Round(wksht.Cells(current_row, COL_X) / RDIST) * RDIST

wksht.Cells(current_row, COL_X) = x

y = Round(wksht.Cells(current_row, COL_Y) / RDIST) * RDIST

wksht.Cells(current_row, COL_Y) = y

current_row = current_row + 1

Wend

End Sub

Questa macro gira attraverso ogni vertice del grafico. Prima blocca la posizione del vertice, poi arrotonda le coordinate X e Y ai 500 pixel più vicini. Quindi, se due vertici sono uno accanto all’altro e le loro coordinate y sono 1498 e 1502, ciascuno sarà riposizionato a y = 1500. Questo assicura che i vertici siano correttamente allineati.

Lascia un commento