SlideShare une entreprise Scribd logo
1  sur  49
Télécharger pour lire hors ligne
Universit`a di Pisa
Anno Accademico 2015/2016
Final term
Social Network Analysis
Alessia Barsotti Simona Gambacorta
Indice
1 Introduzione 1
2 Community Discovery 3
2.1 Demon . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2 K-clique . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3 Osservazioni generali . . . . . . . . . . . . . . . . . . . . 12
3 Node Similarity 14
3.1 Tie Strength & Giant Component . . . . . . . . . . . . . 14
3.1.1 Adamic Adar coefficient . . . . . . . . . . . . . . 16
3.1.2 Jaccard coefficient . . . . . . . . . . . . . . . . . 17
3.1.3 Preferential attachment coefficient . . . . . . . . . 18
3.2 Osservazioni generali . . . . . . . . . . . . . . . . . . . . 20
4 Epidemics 21
4.1 SI model . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.1.1 SI model: Desease weak . . . . . . . . . . . . . . 22
4.1.2 SI model: Desease strong . . . . . . . . . . . . . . 24
4.2 SIS model . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.2.1 SIS model: Endemic Weak . . . . . . . . . . . . . 28
4.2.2 SIS model: Endemic Strong . . . . . . . . . . . . 32
4.2.3 SIS model: Desease-Free Weak . . . . . . . . . . . 34
4.2.4 SIS model: Desease-Free Strong . . . . . . . . . . 36
4.3 SIR model . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.3.1 SIR model: Endemic Weak . . . . . . . . . . . . . 39
4.3.2 SIR model: Endemic Strong . . . . . . . . . . . . 42
4.3.3 SIR model: Desease-Free Weak . . . . . . . . . . 43
4.3.4 SIR model: Desease-Free Strong . . . . . . . . . . 45
4.4 Osservazioni generali . . . . . . . . . . . . . . . . . . . . 47
i
1 Introduzione
La presente relazione costituisce l’ultima fase dell’analisi condotta su
una rete reale, nell’ambito del progetto d’esame per il corso di Analisi
delle Reti Sociali. I risultati registrati durante la prima parte del lavoro
e confluiti nel mid-term report, rappresentano il punto di partenza di
questa trattazione.
La rete reale estrapolata dalla piattaforma social Last.FM, `e stata
inizialmente processata mediante vari tools, quali Cytoscape e Gephi,
grazie ai quali era stato possibile esaminare le propriet`a fondamentali
legate alle misure di centralit`a (Degree Distribution, Closeness Centrality,
Betweenness Centrality), alle relazioni fra vicini (Clustering Coefficient)
e alle relazioni fra coppie di nodi (Shortest Path).
Da queste analisi `e emerso che il grafo della nostra rete `e completo e
composto da 4824 nodi e 27481 archi. Ogni nodo `e collegato da almeno
un arco a tutti gli altri nodi, ma la Degree Distribution1
e il Clustering
Coefficient2
dimostrano che la maggior parte dei nodi `e connessa da pochi
link e solo pochi nodi (hub) hanno numerosi archi. Le misure di centralit`a
hanno confermato questa tendenza. Per quanto rigiuarda, ad esempio, la
betweennes centrality 3
, nella nostra rete la maggior parte dei nodi ha un
valore che non supera lo 0, 077 e se consideriamo che il valore massimo
pu`o essere 1 e il minimo 0, risulta piuttosto basso. Ne deriva che la
maggior parte dei nodi non `e centrale e quindi collegata diremente agli
altri nodi, al contrario la maggior parte ricorre negli shortest path una o
poche volte.
Per verificare queste premesse `e stata condotta un’analisi di Commu-
nity Discovery, mediante gli algoritmi Demon e K-cliques, volta a far
emergere le comunit`a della rete che condividono le stesse caratteristiche.
Ottenute le informazioni, sono state definite alcune misure di similarit`a
basate sui vicini e una misura da noi implementata basata sugli ascolti.
In particolare sono stati calcolati i coefficineti Jaccard, Adamic Adar e
1
k = 8.5
2
C = 0.133
3
calcola la centralit`a di un nodo nella rete. Se `e adiacente a tutti gli altri nodi, con
k = 1, allora avr`a una betweenness centrality molto alta.
1
1 Introduzione
Preferential attachment e sono stati confrontati con una misura calibrata
sugli artisti comuni ascoltati da coppie di nodi vicini.
Infine sono state effettuate varie simulazioni per valutare il compor-
tamento di due reti sottoposte alla diffusione di una malattia infettiva.
Sulle due reti, una rete random Erd˝os–R´enyi e la nostra rete Last.FM,
sono stati calcolati i modelli SI, SIR e SIS e i risultati sono stati messi
a confronto.
Ogni scritp `e stato sviluppato in Python (v. 2.7 e 3.6) e implementato
tramite l’ambiente IDE Pycharm (Community Edition 2016.3.1), me-
diante l’utilizzo di alcuni pacchetti e librerie dedicati, quali Nepidemix,
Networkx e Network Diffusion Library.
2
2 Community Discovery
Per verificare le caratteristiche emerse nella prima fase di questo lavoro,
abbiamo applicato alcuni algoritmi che estraggono informazioni relative
alle comunit`a presenti nella nostra rete complessa. Le comunit`a si iden-
tificano come gruppi di individui che presumibilmente hanno in comune
diverse propriet`a o interessi.
Accomunati dalle stesse caratteristiche, questi gruppi sono composti
da nodi fortemente connessi tra di loro e scarsamente collegati al resto
della rete.
Le reti sociali rispecchiano perfettamente questo modello di raggrup-
pamento in comunit`a, in quanto un singolo individuo pu`o appartenere
contemporaneamente a gruppi diversi: gli amici, i colleghi di lavoro, il
gruppo sportivo ecc.
Nel nostro contesto, il fattore accomunante `e costituito dai gusti mu-
sicali. Pertanto, ci si pu`o attendere che le comunit`a restituite dagli
algoritmi abbiano in comune il genere musicale.
Il primo algoritmo applicato calcola le communit`a sfruttando proprio
l’idea che un nodo possa comparire in pi`u gruppi e restituisce insiemi
sulla base del grado di sovrapposizione di un nodo.
Il secondo metodo si basa sull’idea dell’adiancenza, ossia restituisce
liste di comunit`a di dimensione k che possono essere raggiunte dalle clique
vicine.
2.1 Demon
Il metodo Community Discovery DEMON (Democratic Estimate of the
Modular Organization of a Network) permette di rilevare la presenza di
comunit`a all’interno di una rete complessa mediante un approccio local-
first, lasciando cio`e che l’organizzazione nascosta emerga dai pattern
locali.
Mentre ogni nodo offre la propria prospettiva della rete (per questo
motivo la denominazione Democratic), l’algoritmo estrae l’ego-network
di ciascun nodo -cio`e la rete costruita attorno ad un nodo principale,
3
2 Community Discovery
l’”ego”, e ai nodi ai quali l’ego `e direttamente connesso - e applica a
queste strutture un algoritmo Label Propagation CD, escludendo la pre-
senza dell’ego stesso. Successivamente ogni prospettiva viene combinata
e il risultato di questa fusione costituisce una stima delle comunit`a reali
presenti nella rete determinate dai componenti della rete stessa1
.
Mediante un specifica libreria fornitaci e con un opportuno script py-
thon2
abbiamo testato l’agloritmo implementando valori diversi di com-
munity size, cio`e il numero minimo di nodi all’interno di una comunit`a, e
di epsilon, cio`e il coefficiente di overlapping, ottenendo i seguenti risultati:
epsilon size community
0.25 3 99
0.25 5 75
0.25 10 48
0.50 3 311
0.50 5 271
0.50 10 197
0.65 3 687
0.65 5 529
0.65 10 317
0.70 3 800
0.70 5 650
0.70 10 368
Dati tali risiltati si `e deciso di prendere in considerazione le 75 comunit`a
individuate da epsilon pari a 0.25 e size pari a 5.
1
http://didawiki.cli.di.unipi.it/lib/exe/fetch.php/wma/cd_2015.pdf
2
https://github.com/GiulioRossetti/DEMON
4
2 Community Discovery
0 20 40 60 80
0
200
400
600
800
Numero comunit`a
Numerodinodinellacomunit`a
Figura 2.1: Demon Communities
Non potendo calcolare la densit`a delle comunit`a, in quanto l’agloritmo
fornisce soltanto il numero di comunit`a e i nodi appartenenti alle stesse,
`e stata calcolata la popolazione media, che risulta pari a 95 nodi.
Delle 75 comunit`a, la 38◦
presenta il pi`u alto numero di nodi, 837.
Con uno script python abbiamo validato le comunit`a usando dati ester-
ni (file listenings.csv) relativi ad artista, traccia e album pi`u riprodotti.
Per ogni comunit`a `e stato generato un file output contenente i dati re-
lativi agli ascolti di ogni nodo di quella determinata comunit`a, su questi
quindi `e stata svolta un’analisi di tipo statistico.
In particolare, considerando tre comunit`a (la pi`u popolata, la meno
popolata e una comunit`a mediamente popolata), son sono stati analizza-
ti:
ˆ Artista pi`u ascoltato:
– Community 38 (837 nodi): su un totale di 67024 ascolti, i 3
artisti pi`u ascoltati sono, in ordine decrescente, Artic Monkeys
(602 occorrenze), Bring Me The Horizon (410 occorrenze) e
Muse (395 occorrenze).
– Community 25 (7 nodi): su un totale di 600 ascolti, i 3
artisti pi`u ascoltati sono, in ordine decrescente, Aerosmith
(46 occorrenze), Leatherwolf (40 occorrenze) e Ramones (32
occorrenze).
– Community 55 (83 nodi): su un totale di 7111 ascolti, i
3 artisti pi`u ascoltati sono, in ordine decrescente, Limp Biz-
5
2 Community Discovery
kit (116 occorrenze), God is An Astronaut (105 occorrenze) e
Eminem (103 occorrenze).
ˆ Canzone pi`u ascoltata:
– Community 38 (837 nodi): su un totale di 67024 ascolti, le
3 canzoni pi`u ascoltate sono, in ordine decrescente, Survival
(111 occorrenze), In my place (101 occorrenze) e Get Lucky
(100 occorrenze).
– Community 25 (7 nodi): su un totale di 600 ascolti, le 3 can-
zoni pi`u ascoltate sono, in ordine decrescente, Mama Kin (42
occorrenze), Hideaway (15 occorrenze) e Spirits in the wind
(10 occorrenze).
– Community 55 (83 nodi): su un totale di 7111 ascolti, le
3 canzoni pi`u ascoltate sono, in ordine decrescente, Survival
(102 occorrenze), A Whiter Shade of Pale (79 occorrenze) e
Àðìàãåääîí (34 occorrenze).
A
rctic
M
onkeys
Bring
M
e
T
he
H
orizon
M
use
O
thers
0
20
40
60
80
100
0.9 0.61 0.59
97.9
Ascolti%
Figura 2.2: Artisti ascoltati nella comunit`a 38
6
2 Community Discovery
A
erosm
ith
Leatherwolf
R
am
ones
O
thers
0
20
40
60
80
7.67 6.67 5.33
80.33
Ascolti%
Figura 2.3: Artisti ascoltati nella comunit`a 25
Lim
p
Bizkit
G
od
is
A
n
A
stronaut
Em
inem
O
thers
0
20
40
60
80
100
1.63 1.48 1.45
95.44
Ascolti%
Figura 2.4: Artisti scoltati nella comunit`a 55
Per quanto riguarda il Genere, Last.FM permette ad ogni utente di
inserire in modo arbitrario il genere del brano ascoltato, uno stesso artista
dunque pu`o essere associato a generi diversi.
Non potendo effettuare un’analisi statistica precisa sul genere ascol-
tato, in quanto non siamo in possesso di dati univoci per ogni artista,
7
2 Community Discovery
sono state fatte delle considerazioni sommarie sugli ascolti delle comunit`a
sopra citate, in particolare:
ˆ Community 38 (837 nodi): tra gli artisti pi`u ascoltati della co-
munit`a 38 ci sono Artic Monkeys e Muse, entrambi associabili al
genere alternative rock. I Bring Me The Horizon, invece, apparten-
gono alla corrente del metalcore e del post-hardcore. Complessiva-
mente quindi possiamo sostenere che nella comunit`a 38 il genere
pi`u ascoltato sia il rock e i suoi sottogeneri indipendenti.
ˆ Community 25 (7 nodi): la comunit`a 25 `e caratterizzata da due
generi, l’hard rock degli Aerosmith e dei Leatherwolf, e il punk rock
dei Ramones.
ˆ Community 55 (83 nodi): la comunit`a 55 presenta generi varie-
gati, si va dall’alternative metal del Limp Bizkit, passando per la
musica elettronica dei God Is An Astronaut, fino al rap di Eminem.
2.2 K-clique
Un’altra misura che permette di scoprire le caratteristiche delle comunit`a
presenti nella rete `e il calcolo delle clique. Una clique si definisce come
un sottoinsieme di nodi in un grafo non orientato, tale per cui per ogni
coppia di vertici esiste un arco che li collega. In altro modo, si potrebbe
dire che ogni clique costituisce un grafo completo.
Mediante l’algoritmo K-clique abbiamo individuato le cliques del no-
stro grafo indiretto, atemporale e non pesato G, ovvero quei sotto-grafi
formati da una coppia di nodi collegata da un arco. Con uno script
Python abbiamo prima individuato le cliques di dimensione k (ovvero
il numero di nodi connessi tra di loro) e, successivamente, per effettua-
re un’analisi di tipo statistico abbiamo estrapolato gli ascolti di ogni
comunit`a.
Per individuare le clique sono stati fatti vari tentativi assegnando
diversi valori a k:
k cliques
4 105
5 41
6 19
In linea con le nostre aspettative, abbiamo constatato che il numero di
clique diminuisce drasticamente in relazione al numero di nodi connessi
8
2 Community Discovery
tra loro. Infatti, le clique con k = 4 sono 105, quelle con k = 5 sono
dimezzate a 41 e analogamente quelle con k = 6 sono 19.
Pertanto si `e stabilito di prendere in considerazione le 41 cliques indi-
viduate da k = 5. La popolazione media di tali k-cliques `e pari a circa
10 nodi per clique.
0 10 20 30 40
0
20
40
60
Figura 2.5: Distribuzione della popolazione nelle 41 cliques individuate
da k = 5
Come `e stato fatto per l’algoritmo Demon, abbiamo preso in conside-
razione tre cliques (la pi`u popolata, la meno popolata e una comunit`a
mediamente popolate) e abbiamo analizzato:
ˆ Artista pi`u ascoltato:
– Community 3 (67 nodi): su un totale di 5000 ascolti, i 3 ar-
tisti pi`u ascoltati sono, in ordine decrescente,The Devil Wears
Prada (109 occorrenze), The Holy Guile (84 occorrenze) e
Crown the Empire (82 occorrenze).
– Community 6 (5 nodi): su un totale di 400 ascolti, i 3 ar-
tisti pi`u ascoltati sono, in ordine decrescente, ProleteR (47
occorrenze), Jack Russell (32 occorrenze) e Deez Nuts (24
occorrenze).
– Community 39 (7 nodi): su un totale di 602 ascolti, i 3
artisti pi`u ascoltati sono, in ordine decrescente, Emil Bulls (59
occorrenze), Staind (28 occorrenze) e The Boxer Rebellion (26
occorrenze).
ˆ Canzone pi`u ascoltata:
9
2 Community Discovery
– Community 3 (67 nodi): su un totale di 5000 ascolti, le 3
canzoni pi`u ascoltate sono, in ordine crescente,Ugly Biddie (84
occorrenze), Monsieur Moustache Vs. Clitcat (35 occorrenze),
My Favorite Game (30 occorrenze).
– Community 6 (5 nodi): su un totale di 400 ascolti, le 3
canzoni pi`u ascoltate sono, in ordine decrescente, Ìîè ïî-
áåäû (äåìî 2012) (13 occorrenze), It don’t mean a thing (9
occorrenze), Deathbeds (8 occorrenze).
– Community 39 (7 nodi): su un totale di 602 ascolti, le 3
canzoni pi`u ascoltate sono, in ordine decrescente, Ìåñòî 37
(5 occorrenze), Òðóáà (feat. Anacondaz) (5 occorrenze) e I
Don’t Belong Here (4 occorrenze).
Le considerazioni fatte sul Genere invece, hanno prodotto i seguenti
risultati:
ˆ Community 3 (67 nodi): in questa clique il genere prevalente
ascoltato `e il metal, in quanto fra gli artisti pi`u ascoltati troviamo i
The Devil Wears Prada di genere christian metal, i The Holy Guile
di genere heavy metal e i Crown the Empire di genere metalcore.
ˆ Community 6 (5 nodi) la clique numero 6 presente generi vriegati
come ProleteR di genere hip hop, Jack Russell cantante heavy metal
e i Deez Nuts un gruppo hardcore punk.
ˆ Community 39 (7 nodi): la clique 39 `e caratterizzata dal genere
rock, con artisti come gli Emil Bulls e gli Staind, entrambi di genere
hard rock, e i The Boxer Rebellion di genere indie rock.
10
2 Community Discovery
T
he
D
evilW
ears
PradaT
he
H
oly
G
uile
C
row
n
the
Em
pire
O
thers
0
20
40
60
80
100
2.18 1.68 1.64
94.5
Ascolti%
Figura 2.6: Artisti ascoltati nella k-clique 3
ProleteR
Jack
R
ussell
D
eez
N
uts
O
thers
0
20
40
60
80
11.75
8 6
74.25
Ascolti%
Figura 2.7: Artisti ascolati nella k-clique 6
11
2 Community Discovery
Em
ilBulls
Staind
T
he
BoxerR
ebellion
O
thers
0
20
40
60
80
9.8
4.65 4.32
81.23
Ascolti%
Figura 2.8: Artisti ascoltati nella k-clique 39
2.3 Osservazioni generali
Dalle analisi effettuate mediante gli algoritmi Demon e K-clique possiamo
dedurre le seguenti osservazioni.
Mentrein Demon a parit`a di epsilon il numero di comunt`a risulta alto
per valori bassi di community size, con k-clique tale numero si abbassa
notevolmenteall’aumentare di k: infatti per ottenere un numero di co-
munit`a pari a 0 con k-clique `e sufficiente implementare k = 8, mentre in
Demon ci`a non accade neanche per un valore di community size pari a
10.
Ci`o `e giustificato dal diverso approccio dei due algoritmi e dalla scarsit`a
di legami fra i nodi della nostra rete, in cui, evidentemente, `e pi`u difficile
individuare clique adiacenti.
Tale disparit`a `e presente anche nel numero di nodi, per comunit`a, in
quanto la comunit`a pi`u grande individuata con Demon presenta una
popolazione di 837 nodi, mentre con k-clique `e pari a 67.
In generale possiamo osservare come le comunit`a riscontrate tendano
a mettere in relazione utenti dai gusti simili, che ascoltano sottogeneri
riconducibili ad una categoria principale.
Anche se le analisi sono state effettuate su un campione esiguo, le 6
comunit`a individuate dai due algoritmi, possiamo supporre che la rete di
12
2 Community Discovery
relazioni del nodo root, Sherman Gao, ascolti prevalentemente il genere
rock e le sue derivazioni.
13
3 Node Similarity
In letteratura le misure di similarit`a sono molte e variano in base al
contesto e al tipo di analisi che si vuole effettuare sui dati a propria
disposizione. In generale, dato un nodo con degli attributi ed, eventual-
mente, con un set di attributi strutturali rappresentati da connessioni,
per Node Similarity si intende la ricerca di nodi simili a quello dato.
Sulla rete in esame sono state effettuate delle misure di similarit`a fra
coppie di nodi.
Innanzi tutto abbiamo definito in modo arbitrario una misura basata
sui dati relativi agli ascolti degli utenti della rete. Questa misura ci `e
servita per condurre delle analisi sulla struttura del grafo: dopo aver
calcolato le componenti connesse `e stato analizzato il variare di queste
ultime in seguito alla rimozione di determinati archi.
Lo stesso processo `e stato effettuato con altri coefficienti di similarit`a,
quali Adamic Adar, Jaccard e Preferential attachment, calcolate sulla
stessa rete.
3.1 Tie Strength & Giant Component
Il concetto di tie strength, derivato dal lavoro del sociologo statunitense
Mark Granovetter, si basa sul peso dei legami fra nodi. In una rete sociale
i nodi sono gli individui della rete, mentre i legami sono le relazioni fra
questi individui.
Nel nostro caso la tie stregth `e stata calcolata attribuendo un valore
equivalente al numero di artisti comuni ascoltati da due nodi. Lo script
python con cui `e stata calcolata tale misura, ha restituito valori a partire
da 0, nessun artista in comune, fino ad un massimo di 10 artisti ascoltati
da entrambi i nodi della coppia.
Successivamente `e stata calcolata la giant component dell’intera rete.
Per componente connessa di una rete si intende un sottoinsieme di nodi,
in cui ogni nodo possiede un path verso ogni altro nodo del sottoinsie-
me.Tale propriet`a per`o non `e attribuibile all’insieme pi`u grande di cui la
14
3 Node Similarity
componente connessa `e parte, cio`e il grafo1
. L’attributo giant si riferi-
sce al numero di nodi della componente connessa, formata da una parte
notevole e consistente dei nodi di tutta la rete.
Una rete pu`o contenere soltanto una giant component, unica e distin-
guibile.
La nostra rete contiene una giant component formata da tutti i 4824
nodi.
Dopo aver calcolato la giant component della nostra rete, l’abbiamo
messa in relazione con la misura da noi definita: ad ogni iterazione dello
script `e stato rimosso un arco ed `e stato ricalcolato il numero di com-
ponenti connesse, ci`o `e stato fatto prima a partire dai valori ascendenti
rilevati dalla nostra misura, quindi i valori pi`u bassi (0), poi dai valori
discendenti, cio`e i pi`u alti (10).
Figura 3.1: Andamento della struttura della rete dopo la rimozione di
ogni arco appartenente ai valori ascendenti della tie strenght,
in blu, e ai valori discendenti, in rosso
La soglia che determina il passaggio da una giant component a due
componenti connesse varia a seconda dei valori presi in considerazione:
mentre per i valori ascendenti soltanto dopo 80 archi rimossi si rileva
la formazione di due componenti connesse, per i valori discendenti la
threshold si raggiunge al 19◦
arco rimosso. La curva dei valori ascendenti,
quindi, inizialmente `e pi`u stabile.
1
David A. Easley, Jon M. Kleinberg: Networks, Crowds, and Markets - Reasoning
About a Highly Connected World, Chapter 2, Graph, Cambridge University Press,
2010
15
3 Node Similarity
Dalla pendenza delle due curve, inoltre, possiamo notare che fino a cir-
ca met`a degli archi rimossi la curva dei valori ascendenti `e dominante su
quella dei valori discendenti. Quest’ultima pero cresce progressivamen-
te, mentre i valori della curva ascendente hanno una crescita pi`u lenta e
meno progressiva. Infine le due curve arrivano a convergenza.
Da notare come il punto di intersezione delle due curve si trovi circa
a met`a del numero totale di archi rimossi (approssimativamente 6500
archi): da un controllo sui dati possiamo verificare che tra l’arco 6402
e l’arco 6405, entrambe le curve presentano un numero di componenti
connesse pari a 526.
3.1.1 Adamic Adar coefficient
Il coefficiente Adamic Adar assegna un valore maggiore alle qualit`a pi`u
rare in comune. Caratteristiche non comuni, infatti, sono pi`u determi-
nanti nel definire il rapporto fra due nodi: se, ad esempio, due testi
condividono la frase “for example” probabilmente sono meno simili di
due documenti che condividono la frase “clustering coefficient”2
. Tale
misura `e definita come:
3
A(x, y) =
u∈Γ(x)∩Γ(y)
1
log(|Γ(u)|)
(3.1)
in cui Γ(u) `e il set di vicini di u.
Come `e stato fatto in precedenza, per la misura da noi definita, `e stato
calcolato il numero di componenti connesse della rete dopo ogni arco
rimosso appartenente a valori ascendenti, prima, e discendenti, dopo,
della suddetta misura.
2
http://be.amazd.com/link-prediction/
3
https://networkx.github.io/documentation/development/reference/
generated/networkx.algorithms.link_prediction.adamic_adar_index.
html
16
3 Node Similarity
Figura 3.2: Andamento della struttura della rete dopo la rimozione di
ogni arco appartenente ai valori ascendenti del coefficiente
Adamic Adar, in blu, e ai valori discendenti, in rosso.
Come possiamo notare dal plot, la curva dei valori crescenti (blu) resta
costantemente superiore a quella dei valori decrescenti (rossa). Presenta
inoltre un picco intorno al 12000◦
arco rimosso, che si assesta nel tratto
successivo, lievemente piatto, in cui il numero di componenti connesse si
stabilizza per diverse centinaia di iterazioni a 2467. La curva continua
poi a crescere in modo lineare.
Per i valori discendenti invece, possiamo notare un tratto con anda-
mento lineare seguito (arco 13000 circa) da un tratto non lineare.
3.1.2 Jaccard coefficient
Il coefficiente Jaccard `e una misura di similarit`a, comunemente usata in
information retrieval, che indica il numero di vicini comuni a due nodi in
rapporto al totale degli amici di entrambi i nodi:
4
A(x, y) =
Γ(x) ∩ Γ(y)
Γ(x) ∪ Γ(y)
(3.2)
Dopo aver calcolato il coefficiente Jaccard per ogni coppia di nodi nella
nostra rete, sono state calcolate le componenti connesse.
4
https://networkx.github.io/documentation/networkx-1.9/reference/
generated/networkx.algorithms.link_prediction.jaccard_coefficient.
html
17
3 Node Similarity
Figura 3.3: Andamento della struttura della rete dopo la rimozione di
ogni arco appartenente ai valori ascendenti del coefficiente
Jaccard, in blu, e ai valori discendenti, in rosso.
Dal plot risulta che le due linee, ascendente (blu) e dicescente (rossa),
non hanno alcun punto di contatto. In particolare dai dati risulta che il
valore di soglia, per la linea dei valori ascendenti, `e pari a 1, cio`e gi`a dopo
la rimozione di un arco si verifica la presenza di due componenti connesse.
Da tale iterazione in poi la linea presenta un aumento constante e poco
meno di 8000 mila archi rimossi dopo, si verifica una cresicita di tipo
non lineare. Dopo 12000 archi rimossi si nota una fase di stabilit`a, che si
protrae per altri mille archi rimossi, successivamente riprende a crescere.
A differenza della curva blu, la curva dei valori discendenti presenta una
valore di soglia pi`u alto, al 132◦
arco rimosso si passa da una componente
a connessa a due. Dopo tale variazione, fino a 8500 iterazioni circa, la
curva presenta un andamento pi`u o meno lineare. Il successivo aumento
di pendenza denota un passaggio da una situazione di maggiore ad una di
minore stabilit`a, in quano il numero di componenti connesse varia pi`u in
fretta. La curva continua variare in pi`u punti, pi`u evidenti i cambiamenti
di pendenza intono a 14000 e 18000 archi rimossi, in la crescita risulta
non lienare.
3.1.3 Preferential attachment coefficient
Il preferential attachment coefficient `e una misura di similarit`a che ti-
picamente si riferisce a forme di credito e ricchezza, secondo il concetto
‘’the rich get richer”. Nelle reti sociali tale concetto si esplicita con la
18
3 Node Similarity
nozione secondo la quale utenti con molti amici tendono a creare pi`u le-
gami, ovvero pi`u un nodo `e connesso pi`u alta sar`a la probabilit`a che crei
nuovi collegamenti. Nodi fortemente collegati rappresentano individui
molto conosciuti e con molte relazioni, cos`ı quando un nuovo nodo entra
nella rete verosimilmente instaurer`a un legame con i nodi pi`u in vista.
Tale coefficiente viene calcolato moltiplicando il numero di collegamen-
ti, quindi di vicini, di una coppia di nodi:
5
A(x, y) = |Γ(x)| |Γ(y)| (3.3)
Come per le altre misure di similarit`a, anche per il Preferential atta-
chment coefficient `e stato calcolato il variare del numero di componenti
connesse dopo la rimozione degli archi a partire da quelli deboli fino a
quelli pi`u pesanti, e viceversa.
Figura 3.4: Andamento della struttura della rete dopo la rimozione di
ogni arco appartenente ai valori ascendenti del coefficiente
Preferential attachment, in blu, e ai valori discendenti, in
rosso.
Come possiamo osservare dal plot le due curve si intrecciano in pi`u pun-
ti, in corrispondenza dei quali presentano lo stesso numero di componenti
connesse.
Mentre fino a poco meno di 5000 archi rimossi le due curve presen-
tanto un andamento molto simile, successivamente la curca dei legami
5
https://networkx.github.io/documentation/networkx-1.10/reference/
generated/networkx.algorithms.link_prediction.preferential_
attachment.html
19
3 Node Similarity
discendenti (in rosso) subisce un picco e quella dei legami ascendenti (in
blu) cresce con pi`u lentezza.
Il picco della curva rossa subisce un arresto intorno a 7000 archi ri-
mossi e mantiene il numero di componenti connesse costante per diverse
centinaia di iterazioni, per poi riprendere a crescere.
Le due curve si incontrano nuovamente dopo poco pi`u di 14000 archi
rimossi, da questa iterazione in poi la curva dei legami ascendenti cresce
in modo lineare per poi incontrare nuovamente la curva rossa un centinaio
di archi prima delle 18000 iterazioni.
Infine le due curve crescono di pari passo fino al completamento del
ciclo.
3.2 Osservazioni generali
Il confronto dei plot risultanti dall’applicazione delle quattro misure pro-
poste ci permette di fare alcune osservazioni.
In particolare dall’analisi dei valori di threshold si nota come per le tre
misure di similarit`a (Adamic Adar, Jaccard e Preferential attachment, i
collegamenti deboli influiscano maggiormente sulla struttura della rete e
sulle dinamiche di formazione delle componenti connesse rispetto a quelli
forti.
Nella misura da noi definita, invece, i legami deboli, quelli quindi in-
staurati fra nodi che hanno pochi o nessun artista ascoltato in comune,
hanno poco peso sulla struttura del grafo, a differenza dei collegamenti
fra nodi con gli stessi interessi musicali.
Da tale comportamento pssiamo supporre che la maggior parte dei nodi
contragga legami deboli con i nodi vicini, e coppie di nodi con elevato
numero di artisti in comune funga da collegamento tra componenti.
In conclusione riteniamo che gli utenti della nostra rete ascoltino generi
e sottogeneri simili, come visto nella sezione Community discovery.
Ma basandoci sulla misura da noi definita, che si riferisce solamente
agli artisti ascoltati, possiamo ipotizzare che il basso numero di legami
forti sia dovuto ad una grande variet`a di artisti ascoltati, appartenenti
per`o a sottogeneri musicali affini.
20
4 Epidemics
La network epidemics offre spunti analitici e numerici per quantificare e
predire la diffusione di patologie infettive. Le epidemie possono propagar-
si in maniera improvvisa all’interno di una popolazione, oppure possono
persistere per lungo tempo alternando andamenti ascendenti o discen-
denti. In casi estremi un singolo caso di contagio pu`o comportare effetti
devastanti su un’intera civilt`a, come accadde con l’arrivo degli europei
nelle Americhe o lo scoppio della peste bubbonica1
.
Esistono diversi tipi di modelli per la descrizione della propagazione
delle epidemie, nella nostra trattazione prenderemo in considerazionei i
modelli SI, SIS e SIR, applicandoli prima ad una rete random Erd˝os-
R´enyi e poi alla nostra rete.
4.1 SI model
Il modello SI (Susceptible-Infected)2
rappresenta il modello base della
propagazione di un’epidemia, in quanto un nodo v all’interno di una rete
di N individui pu`o assumere solo due stati:
ˆ Susceptible (S(t)): non ancora contagiato ma suscettibile alla ma-
lattia;
ˆ Infected (I): nodo infetto.
Con St saranno indicati i nodi suscettibili al tempo t e con It i nodi che
sono gi`a stati contagiati. Al tempo t0 ogni individuo della rete risulta
esposto alla malattia (S0 = N) e nessuno `e infetto (I0 = 0). Assumendo
che un individuo abbia in media k contatti e che la probabilit`a di trasmis-
sione dell’epidemia da un nodo infetto ad uno suscettibile in una unit`a
di tempo sia pari a β (infection rate, la probabilit`a che un una persona
infetta incontri un individuo suscettibile `e pari a St
N
, quindi l’individuo
1
David A. Easley, Jon M. Kleinberg: Networks, Crowds, and Markets - Reasoning
About a Highly Connected World, Chapter 21, Epidemics, Cambridge University
Press 2010
2
http://barabasi.com/f/617.pdf
21
4 Epidemics
infetto entra in contatto con < k > St
N
soggetti esposti in una unit`a
di tempo. Dal momento che It individui infetti trasmettono la malattia
ognuno con probabilit`a β, la media di nuove infezioni durante un periodo
dt `e:
3
β < k >
StIt
N
dt (4.1)
It dunque varier`a al variare di β:
dIt
dt
= β < k >
StIt
N
(4.2)
Lo script4
per l’implementazione del modello SI `e stato applicato ad
una rete random Erd˝os-R´enyi e alla nostra rete con i risultati riportati
di seguito.
4.1.1 SI model: Desease weak
Innanzi tutto abbiamo testato il modello SI con un valore di β molto
basso, pari a 0, 0003, per verificare lo stato endemico della malattia.
3
David A. Easley, Jon M. Kleinberg: Networks, Crowds, and Markets - Reasoning
About a Highly Connected World, Chapter 21, Epidemics, Cambridge University
Press 2010
4
https://github.com/GiulioRossetti/ndlib/tree/config-ndlib
22
4 Epidemics
Figura 4.1: Modello SI applicato alla rete random Erd˝os–R´enyi, con un
numero di iterazioni pari a 200
23
4 Epidemics
Figura 4.2: Modello SI applicato alla rete LastFM, con un numero di
iterazioni pari a 200
Nella rete random Erd˝os–R´enyi al diminuire della curva dei nodi Su-
sceptible corrisponde un parallelo aumento di quella di quella dei nodi
Infected. Ad un numero di iterazioni inferiori a t = 100 il propagarsi del
morbo `e reso evidente dall’incontro delle due curve, l’epidemia continua
a crescere in modo costante.
La rete LastFm presenta invece un calo e una crescita lineare dei nodi
Susceptible e Infected rispettivamente. L’osservazione del plot non mo-
stra in maniera evidente il propagarsi della malattia, possiamo supporre
per`o, in modo intuitivo, che dato il progressivo aumento di I e il costante
di S, all’aumentare del numero di iterazioni le due curve si avvicineranno
sempre di pi`u.
4.1.2 SI model: Desease strong
Impostando un valore di β = 0.07 ci aspettiamo che la malattia risulti
endemica.
24
4 Epidemics
Figura 4.3: Modello SI applicato alla rete random Erd˝os–R´enyi, con un
numero di iterazioni pari a 200
25
4 Epidemics
Figura 4.4: Modello SI applicato alla rete LastFM, con un numero di
iterazioni pari a 200
Dal plot della rete random possiamo notare come pochissimo tempo do-
po l’inizio del contagio, t = 10 circa, si verifichi una drastica diminuzione
dei nodi Susceptible ed un amuneto dei nodi Infected. Da questa itera-
zione in poi le due curve si mantengono costanti, la malattia s propaga
in tutta la rete fino ad una situazione in cui S = 0 e I = N.
La rete LastFM presenta una una diminuzione dei nodi Susceptible
inizialmente lineare poi al rallentare della diffusione della malattia pi`u
lenta, stesso comportamento `e osservabile per la crescita della curva dei
nodi Infected. Al tempo t = 50 circa il propagarsi del morbo si assesta,
la malattia quindi risulta endemica con valori pari a S = 0 e I = N.
4.2 SIS model
Estensione del modello SI `e il modello SIS, che prevede il ripresentarsi
dell’epidemia in uno stesso soggetto precedentemente infettatto. Una
volta contagiato e poi guarito, l’individuo non risulta immunizzato ma
pu`o contrarre nuovamente la malattia. Gli stati assumibili da un nodo
quindo sono, come nel modello precedente, solamente due:
26
4 Epidemics
ˆ Susceptible (S(t)): il nodo non `e contagiato ma `e esposto alla
malattia;
ˆ Infected (I(t)): il nodo `e infetto e una volta guarito torna allo stato
iniziale, ovvero S.
Dal momento che S = N −I, l’equazione differenziale che descrive tale
modello `e:
5 dI
dt
= βI(N − I) − γI = βI(N −
γ
β
− I) (4.3)
L’equazione descrive la diffusione della malattia sulla base di due para-
metri: β e γ. Mentre β descrive la percentuale di contagio dell’epidemia
(infection rate), γ (recovery rate) `e la percentuale media di guarigione, e
1
γ
`e il periodo di tempo medio durante il quale un individuo infetto pu`o
trasmettere la malattia. Nel modello SIS la progressione dell’epidemia
prevede i seguenti step:6
ˆ inzialmente alcuni nodi si trovano nello stato I mentre tutti gli altri
nello stato S;
ˆ ogni nodo v che assume stato I rimane infetto per un certo numero
di step tI;
ˆ durante ognuno di questi step tI, v ha probabilit`a p di trasmettere
la malattia ad ognuno dei suoi vicini suscettibili;
ˆ dopo un certo numero di step tI, il nodo v non `e pi`u infetto e torna
nello stato S.
Il rapporto fra β e γ determina il basic reproductive number R0, ovvero
il numero atteso di nuovi casi di contagio dovuti ad un singolo individuo.
Al variare di R0 la malattia pu`o comportarsi in due modi:
ˆ R0 > 1 (β > γ ): se l’infection rate `e superiore al recovery rate
gli individui infetti contagiano i vicini molto pi`u velocemente di
quanto riescano a guarire. La popolazione infettata si approssima
a:
(β − γ)N
β
(4.4)
5
David A. Easley, Jon M. Kleinberg: Networks, Crowds, and Markets - Reasoning
About a Highly Connected World, Chapter 21, Epidemics, Cambridge University
Press 2010
6
David A. Easley, Jon M. Kleinberg: Networks, Crowds, and Markets - Reasoning
About a Highly Connected World, Chapter 21, Epidemics, Cambridge University
Press 2010
27
4 Epidemics
Mentre la popolazione suscettibile:
γN
β
(4.5)
Quindi, dato tale rapporto fra β e γ, la malattia persiste e diventa
endemica.
ˆ R0 < 1 (β < γ): se l’infection rate `e inferiore al recovery rate la
popolazione infetta si ristabilisce pi`u in fretta rispetto all’indice
di contagio. La popolazione degli Infected si approssima a zero e
l’epidemia termina dopo una serie finita di iterazioni.
Tramite uno script python7
`e stato possibile implementare il modello SIS
su una rete random (Erdos-Renyi) e sulla nostra rete LastFm. Variando
di volta in volta i valori di β e γ sono stati ottenuti diversi plot, tramite
i quali `e stato possibile analizzare i differenti comportamenti delle due
reti nei casi attesi: diffusione endemica della malattia e fine del contagio
dopo un certo numero di step.
4.2.1 SIS model: Endemic Weak
Il primo caso preso in considerazione riguarda il diffondersi della malat-
tia in modo endemico all’interno di una comunit`a. L’infection rate e il
recovery rateassumono valori pari a β = 0.05 e γ = 0.03, quindi di non
molto superiori uno all’altro.
7
https://github.com/GiulioRossetti/ndlib/tree/config-ndlib
28
4 Epidemics
Figura 4.5: Modello SIS applicato alla rete random Erd˝os–R´enyi, con un
numero di iterazioni pari a 200
29
4 Epidemics
Figura 4.6: Modello SIS applicato alla rete LastFM, con un numero di
iterazioni pari a 200
Il plot della rete random denota un picco repentino e discendente di
S e specularmente un picco ascendente dei nodi infected. Dal tempo
t = 2 in poi S e I proseguono specurlarmente, senza presentare picchi
improssivisi o degni di nota, ma con un andamento non lineare e con
punti leggermente superiori o inferiori all’andamento medio.
Impostando un numero di iterazioni minori (dt = 10) `e possibile vedere
nel dettaglio il diverso comportamento delle due reti.
30
4 Epidemics
Figura 4.7: Modello SIS applicato alla rete random Erd˝os–R´enyii, con un
numero di iterazioni pari a 10
31
4 Epidemics
Figura 4.8: Modello SIS applicato alla rete LastFM, con un numero di
iterazioni pari a 10
Mentre nella prima la trasmissione della malattia ai nodi suscettibili
`e abbastanza immediata (tempo t = 2), nella seconda ci`o avviene in
maniera pi`u lenta, e si ha un in’inversione di tendenza fra S e I solamente
dopo il tempo t = 7.
L’ipotesi iniziale quindi `e confermata dai plot, in cui il persistere della
malattia `e evidente ma non marcato, in quanto il recovery rate `e di poco
inferiore a β.
4.2.2 SIS model: Endemic Strong
Un altro caso in cui la malattia risulta endemica `e quello che presenta
valori β e γ molto distanti, cio`e l’infection rate `e di molto superiore al
recovery rate.
Abbiamo settato i dui indici a volori pari a β = 0.05 e γ = 0.0003.
32
4 Epidemics
Figura 4.9: Modello SIS applicato alla rete random Erd˝os–R´enyii, con un
numero di iterazioni pari a 200
33
4 Epidemics
Figura 4.10: Modello SIS applicato alla rete LastFM, con un numero di
iterazioni pari a 200
I plot delle due reti non differiscono molto dai plot visti in precedenza,
ma si nota un andamento molto pi`u lineare nelle due linne di tendenza
di S e I, oltre che un evidente approssimarsi a zero dei nodi susceptible.
Anche in questo caso il valore di soglia che determina l’inversione di
tendenza fra le due curve S e I differisce nelle due reti: `e pari a t = 2
per la rete random e superiore a t = 7 nella nostra rete.
In questo caso, quindi, con tali valori di β e di γ la malattia risulta
fortemente endemica.
4.2.3 SIS model: Desease-Free Weak
Il plot del modello SIS con valori di β e γ settati con valori paria a 0.005
e 0.1, `e molto simile al plot endemic weak, in quanto l’infection rate `e di
poco pi`u elevato rispetto al recovery rate.
34
4 Epidemics
Figura 4.11: Modello SIS applicato alla rete random Erd˝os–R´enyi, con
un numero di iterazioni pari a 200
35
4 Epidemics
Figura 4.12: Modello SIS applicato alla rete LastFM, con un numero di
iterazioni pari a 200
Mentre per`o nella rete random i nodi infetti aumentano al decrescere
di quelli suscettibili e l’andamento per entrambi presenta numerosi picchi
ascendenti e discendenti, nella rete LastFM S e I risultano variare di poco
nell’arco di iterazioni dal tempo t = 0 al tempo t = 200, ci`o conferma il
cessare della malattia dopo un determinato numero di iterazioni.
4.2.4 SIS model: Desease-Free Strong
Infine, per verificare il modello desease-free strong, abbiamo posto valori
β e γ pari a, rispettivamente, 0.0003 e 0.05.
36
4 Epidemics
Figura 4.13: Modello SIS applicato alla rete random Erd˝os–R´enyi, con
un numero di iterazioni pari a 200
37
4 Epidemics
Figura 4.14: Modello SIS applicato alla rete LastFM, con un numero di
iterazioni pari a 200
Come possiamo notare dai plot di entrambe le reti non vi sono an-
damenti paticolari e degni di nota, entrambe le curve dopo un aumento
iniziale, nel cao di S, o di una diminuzione, nel caso di I, si mantengono
pressoch`e costanti, con la tedenza del numero di nodi infected a raggiun-
gere lo zero, a conferma dell’ipotesi inziale secondo cui se β < γ allora
la malattia termina dopo un numero finito di iterazioni, in questo caso
dopo un tempo compreso fra t = 50 e t = 100.
4.3 SIR model
Il modello SIR8
descrive patologie in cui ogni individuo contrae il morbo
solo una volta in tutta la vita: dopo essere stato contagiato il nodo
viene rimosso o perch`e ha acquisito un’immunit`a perenne o perch`e non
`e sopravvissuto alla malattia.
Ogni nodo della popolazione, quindi, pu`o trovarsi in uno dei tre stati
stati previsti:
8
David A. Easley, Jon M. Kleinberg: Networks, Crowds, and Markets - Reasoning
About a Highly Connected World, Chapter 21, Epidemics, Cambridge University
Press 2010
38
4 Epidemics
ˆ Susceptible (S(t)): il nodo non `e ancora stato contagiato, ma `e
esposto alla malattia tramite i vicini;
ˆ Infected (I(t)): una volta contagiato il nodo risulta infetto e po-
tenzialmente in grado di trasmettere il morbo ai vicini ancora nello
stadio S;
ˆ Removed (R(t)): dal momento che il nodo ha contratto la malattia
viene rimosso dalla rete, in quanto non `e pi`u in grado di essere
contagiato.
L’epidemia, quindi, sar`a caratterizzata da vari stadi:
ˆ un periodo iniziale in cui alcuni nodi si trovano nello stato I e tutti
gli altri si trovano dello stato S;
ˆ ogni nodo v che assume stato I, rimane infetto per un numero fisso
di step tI;
ˆ durante ognuno di questi step tI, v ha la probabilit`a p di trasmet-
tere la malattia a ciascuno dei suoi vicini nello stato S;
ˆ dopo un numero di step tI il nodo v non `e pi`u infetto o soggetto ad
un nuovo contagio, il suo stato dunque passa da I a R, dal momento
che risulta essere un nodo inerte all’interno della rete.
L’equazione differenziale che descrive tale modello `e:
dS
dt
= −
βSI
N
(4.6a)
dI
dt
=
βSI
N
− γI (4.6b)
dR
dt
= γI (4.6c)
I risulatati di tale implementazione sono riportati nelle sottosezioni pre-
senti di seguito.
4.3.1 SIR model: Endemic Weak
Il primo caso preso in esame presente un infection rate β poco superiore
al recovery rate γ: in particolare β = 0.075 e γ = 0.01.
Con una iterazione dello script settata a 200, possiamo avere un quadro
completo delle due reti e fare alcune osservazioni.
39
4 Epidemics
Figura 4.15: Modello SIR applicato ad una rete random Erd˝os–R´enyi,
con un numero di iterazioni pari a 200
40
4 Epidemics
Figura 4.16: Modello SIR applicato alla rete LastFM, con un numero di
iterazioni pari a 200
Nella rete random il repentino aumento dei nodi infected `e parallelo
al calo dei nodi susceptible. Al tempo t = 2 il valore di S sar`a pari a 0,
cio`e la maggior parte dei nodi sono stati contagiati e una minima parte
risulta removed.
Successivamente al decrescere di I si ha un parallelo aumento di R.
Tale diminuzione dei nodi infetti porter`a ad un progressivo aumento di
quelli rimossi, fino al tempo t = 70, in cui avremo in egual numero nodi
infetti e nodi rimossi dalla rete.
Infine come `e possibile evincere dal plot, ma anche implementando
un maggior numero delle iterazioni, il numero degli infetti continuer`a
a diminuire ma non arriver`a mai a 0, in quanto, seppur di non molto,
l’infection rate risulta minore del recovery rate.
Nella rete LastFM il diminuire dei susceptible `e meno repentino e pi`u
lieve. La curva S non raggiunge mai lo 0 e si stabilizza prima di raggiun-
gere un quarto delle iterazioni totali. Il valore dei nodi removed inizia a
crescere in maniera progressiva a partire dal tempo t = 10 circa.
Anche in questo caso, come nella rete random, possiamo notare sul
lungo termine una diminuzione dei nodi infetti, valore che per`o non
41
4 Epidemics
raggiunge mai lo zero.
In entrambi i casi quindi ci troviamo di fronte a una malattia debol-
mente endemica.
4.3.2 SIR model: Endemic Strong
Per verificare un caso di malattia fortemente endemica, `e stato imple-
mentato uno script python con valori pari a β = 0.0075 e γ = 0.0005.
Figura 4.17: Modello SIR applicato ad una rete random Erd˝os–R´enyi,
con un numero di iterazioni pari a 200
Come possiamo notare dal plot della rete random, dopo pochissimo
tempo dall’inizio delle iterazioni il numero dei susceptible diminuisce ver-
tiginosamente e va ad incrementare, altrettanto repentinamente, il nu-
mero dei soggetti infected. Il numero dei nodi rimossi R, invece, aumenta
in modo molto pi`u lento ma abbastanza costante.
42
4 Epidemics
Figura 4.18: Modello SIR applicato alla rete LastFM, con un numero di
iterazioni pari a 200
Il plot della rete LatFM non `e molto diverso da quello della rete ran-
dom, in questo caso per`o il diminuire dei nodi suscettibili e l’aumentare
di quelli infetti risulta meno improvviso e leggermente pi`u lento. Il valore
di R, anche in questo caso, aumenta in maniera costante iterazione dopo
iterazione.
In generale possiamo sostenre che la malattia rappresentata con i valori
dati a β e γ, si conferma fortemente endemica, con una linea di nodi in-
fected che non si avvicina allo zero neanche dopo un numero di iterazioni
pari a 200.
4.3.3 SIR model: Desease-Free Weak
Il caso di una malattia cessata dopo un numero finito di iterazioni `e stato
verificato con valori di β e di γ pari a, rispettivamente, 0.05 e 0.075.
43
4 Epidemics
Figura 4.19: Modello SIR applicato ad una rete random Erd˝os–R´enyi,
con un numero di iterazioni pari a 200
Dal plot della rete random, riportato di seguito, possiamo notare picchi
repentini (t = 1) e discendenti di nodi susceptible contrapposti a picchi
ascendenti di individui infetti. In questo caso, all’incirca ad un tempo
pari a t = 70 S e I vanno a zero, mentre R = N.
44
4 Epidemics
Figura 4.20: Modello SIR applicato alla rete LastFM, con un numero di
iterazioni pari a 200
Nella rete LastFM possiamo notare come ad un picco massimo di nodi
infected al tempo t = 10, circa, non corrisponda una picco minimo di
nodi susceptible che, intorno all’iterazione t = 50 si stabilizzano al di
sotto della soglia dei mille nodi fino alla fine del ciclo. Allo stabilizzarsi
di I = 0 corrisponde un valore di R costante fino a t = 200. Al tempo
t = 80, circa, possiamo dichiarare il cessare della malattia nella rete.
Entrambi i casi verificano l’ipotesi iniziale, per cui se β < γ la malattia
cesser`a dopo un numero finito di terazioni.
4.3.4 SIR model: Desease-Free Strong
L’ultimo test riguarda l’implementazione del modello SIR nel caso di
un cessare deciso della malattia, ovvero nel caso in in cui l’infection
rate abbia un valore di molto inferiore al recovery rate: β = 0.0005 e
γ = 0.075.
45
4 Epidemics
Figura 4.21: Modello SIR applicato ad una rete random Erd˝os–R´enyi,
con un numero di iterazioni pari a 200
46
4 Epidemics
Figura 4.22: Modello SIS applicato alla rete LastFM, con un numero di
iterazioni pari a 200
I plot delle due reti prese in considerazione non sono molto diversi: in
entrambi i casi, infatti, la malattia non raggiunge mai un picco massimo
superiore a S e cessa dopo un numero relatiamente basso di iterazioni, a
conferma della probabilit`a molto bassa di contrarre la malattia.
4.4 Osservazioni generali
Per quanto riguarda l’implementazione di modelli relativi alla diffusione
delle malattie, abbiamo potuto osservare che mentre nella rete random
Erd˝os–R´enyi un individuo pu`o contagiare ogni altro individuo in maniera
omogenea, in quanto tutti i nodi hanno numero di contatti pari a < k >,
la rete reale da noi osservata, in quanto scale-free, presenta una diffusione
della malattia fortemente legata al variare del grado del nodo contagiato.
Per questo motivo, dato che il numero di hub `e molto basso, la proba-
bilit`a di contagio di un nodo con grado basso `e maggiore di quella di in-
fettare un nodo molto connesso, ci`o impedisce alla malattia di diffondersi
molto pi`u velocemente.
47

Contenu connexe

Similaire à Social Network Analysis

BisPy: un pacchetto Python per il calcolo della massima bisimulazione di graf...
BisPy: un pacchetto Python per il calcolo della massima bisimulazione di graf...BisPy: un pacchetto Python per il calcolo della massima bisimulazione di graf...
BisPy: un pacchetto Python per il calcolo della massima bisimulazione di graf...Francesco Andreuzzi
 
Extended Summary of Optimized Design of a Human Intranet Network
Extended Summary of Optimized Design of a Human Intranet NetworkExtended Summary of Optimized Design of a Human Intranet Network
Extended Summary of Optimized Design of a Human Intranet NetworkOlesiaRonzon
 
Reti di partecipazione fra società di capitale in Italia: presenza di topolog...
Reti di partecipazione fra società di capitale in Italia: presenza di topolog...Reti di partecipazione fra società di capitale in Italia: presenza di topolog...
Reti di partecipazione fra società di capitale in Italia: presenza di topolog...Andrea Cavicchini
 
Reti, memetica e contagio di idee e comportamenti - parte 2/3
Reti, memetica e contagio di idee e comportamenti - parte 2/3Reti, memetica e contagio di idee e comportamenti - parte 2/3
Reti, memetica e contagio di idee e comportamenti - parte 2/3Valerio Eletti
 
Extended Summary of Self-building Neural Networks
Extended Summary of Self-building Neural NetworksExtended Summary of Self-building Neural Networks
Extended Summary of Self-building Neural Networkschiarabotter
 
Sintesi automatica di una metrica di similarità tra stringhe tramite tecniche...
Sintesi automatica di una metrica di similarità tra stringhe tramite tecniche...Sintesi automatica di una metrica di similarità tra stringhe tramite tecniche...
Sintesi automatica di una metrica di similarità tra stringhe tramite tecniche...mfurlanetto
 
Extended Summary of "Engineered Self-Organization for Resilient Robot Self-As...
Extended Summary of "Engineered Self-Organization for Resilient Robot Self-As...Extended Summary of "Engineered Self-Organization for Resilient Robot Self-As...
Extended Summary of "Engineered Self-Organization for Resilient Robot Self-As...SergioMilo1
 
Metodologia per la classificazione automatica di commenti su social network tesi
Metodologia per la classificazione automatica di commenti su social network tesiMetodologia per la classificazione automatica di commenti su social network tesi
Metodologia per la classificazione automatica di commenti su social network tesiSimone Maver
 
Guida all'estrazione di dati dai Social Network
Guida all'estrazione di dati dai Social NetworkGuida all'estrazione di dati dai Social Network
Guida all'estrazione di dati dai Social NetworkLeonardo Di Donato
 
UNA NUOVA RAPPRESENTAZIONE SEMANTICA CON GLI ALGORITMI GENETICI PER LA PROGET...
UNA NUOVA RAPPRESENTAZIONE SEMANTICA CON GLI ALGORITMI GENETICI PER LA PROGET...UNA NUOVA RAPPRESENTAZIONE SEMANTICA CON GLI ALGORITMI GENETICI PER LA PROGET...
UNA NUOVA RAPPRESENTAZIONE SEMANTICA CON GLI ALGORITMI GENETICI PER LA PROGET...Fausto Intilla
 
Algoritmo probabilistico di tipo montecarlo per il list decoding elaborato
Algoritmo probabilistico di tipo montecarlo per il list decoding   elaboratoAlgoritmo probabilistico di tipo montecarlo per il list decoding   elaborato
Algoritmo probabilistico di tipo montecarlo per il list decoding elaboratodanielenicassio
 
Network analysis - Irene Chiarolanza
Network analysis - Irene ChiarolanzaNetwork analysis - Irene Chiarolanza
Network analysis - Irene ChiarolanzaIrene Chiarolanza
 
Sistema di acquisizione in banda multispettrale
Sistema di acquisizione in banda multispettraleSistema di acquisizione in banda multispettrale
Sistema di acquisizione in banda multispettraleGiovanni Schettino
 
Dispersion centrality
Dispersion centralityDispersion centrality
Dispersion centralitySimone Romano
 
Studio e sviluppo di una soluzione circuitale per la simulazione di un rivela...
Studio e sviluppo di una soluzione circuitale per la simulazione di un rivela...Studio e sviluppo di una soluzione circuitale per la simulazione di un rivela...
Studio e sviluppo di una soluzione circuitale per la simulazione di un rivela...DanieleMarchese6
 
Analisi ed implementazione di file system distribuiti in ambiente GNU/Linux
Analisi ed implementazione di file system distribuiti in ambiente GNU/LinuxAnalisi ed implementazione di file system distribuiti in ambiente GNU/Linux
Analisi ed implementazione di file system distribuiti in ambiente GNU/LinuxRaul Cafini
 

Similaire à Social Network Analysis (20)

BisPy: un pacchetto Python per il calcolo della massima bisimulazione di graf...
BisPy: un pacchetto Python per il calcolo della massima bisimulazione di graf...BisPy: un pacchetto Python per il calcolo della massima bisimulazione di graf...
BisPy: un pacchetto Python per il calcolo della massima bisimulazione di graf...
 
Extended Summary of Optimized Design of a Human Intranet Network
Extended Summary of Optimized Design of a Human Intranet NetworkExtended Summary of Optimized Design of a Human Intranet Network
Extended Summary of Optimized Design of a Human Intranet Network
 
Reti di partecipazione fra società di capitale in Italia: presenza di topolog...
Reti di partecipazione fra società di capitale in Italia: presenza di topolog...Reti di partecipazione fra società di capitale in Italia: presenza di topolog...
Reti di partecipazione fra società di capitale in Italia: presenza di topolog...
 
AV_tesi_v5
AV_tesi_v5AV_tesi_v5
AV_tesi_v5
 
Reti, memetica e contagio di idee e comportamenti - parte 2/3
Reti, memetica e contagio di idee e comportamenti - parte 2/3Reti, memetica e contagio di idee e comportamenti - parte 2/3
Reti, memetica e contagio di idee e comportamenti - parte 2/3
 
Extended Summary of Self-building Neural Networks
Extended Summary of Self-building Neural NetworksExtended Summary of Self-building Neural Networks
Extended Summary of Self-building Neural Networks
 
Sintesi automatica di una metrica di similarità tra stringhe tramite tecniche...
Sintesi automatica di una metrica di similarità tra stringhe tramite tecniche...Sintesi automatica di una metrica di similarità tra stringhe tramite tecniche...
Sintesi automatica di una metrica di similarità tra stringhe tramite tecniche...
 
Extended Summary of "Engineered Self-Organization for Resilient Robot Self-As...
Extended Summary of "Engineered Self-Organization for Resilient Robot Self-As...Extended Summary of "Engineered Self-Organization for Resilient Robot Self-As...
Extended Summary of "Engineered Self-Organization for Resilient Robot Self-As...
 
Metodologia per la classificazione automatica di commenti su social network tesi
Metodologia per la classificazione automatica di commenti su social network tesiMetodologia per la classificazione automatica di commenti su social network tesi
Metodologia per la classificazione automatica di commenti su social network tesi
 
Guida all'estrazione di dati dai Social Network
Guida all'estrazione di dati dai Social NetworkGuida all'estrazione di dati dai Social Network
Guida all'estrazione di dati dai Social Network
 
UNA NUOVA RAPPRESENTAZIONE SEMANTICA CON GLI ALGORITMI GENETICI PER LA PROGET...
UNA NUOVA RAPPRESENTAZIONE SEMANTICA CON GLI ALGORITMI GENETICI PER LA PROGET...UNA NUOVA RAPPRESENTAZIONE SEMANTICA CON GLI ALGORITMI GENETICI PER LA PROGET...
UNA NUOVA RAPPRESENTAZIONE SEMANTICA CON GLI ALGORITMI GENETICI PER LA PROGET...
 
Analisi e modellazione di reti sociali dinamiche
Analisi e modellazione di reti sociali dinamiche Analisi e modellazione di reti sociali dinamiche
Analisi e modellazione di reti sociali dinamiche
 
Algoritmo probabilistico di tipo montecarlo per il list decoding elaborato
Algoritmo probabilistico di tipo montecarlo per il list decoding   elaboratoAlgoritmo probabilistico di tipo montecarlo per il list decoding   elaborato
Algoritmo probabilistico di tipo montecarlo per il list decoding elaborato
 
Network analysis - Irene Chiarolanza
Network analysis - Irene ChiarolanzaNetwork analysis - Irene Chiarolanza
Network analysis - Irene Chiarolanza
 
Sistema di acquisizione in banda multispettrale
Sistema di acquisizione in banda multispettraleSistema di acquisizione in banda multispettrale
Sistema di acquisizione in banda multispettrale
 
Dispersion centrality
Dispersion centralityDispersion centrality
Dispersion centrality
 
Studio e sviluppo di una soluzione circuitale per la simulazione di un rivela...
Studio e sviluppo di una soluzione circuitale per la simulazione di un rivela...Studio e sviluppo di una soluzione circuitale per la simulazione di un rivela...
Studio e sviluppo di una soluzione circuitale per la simulazione di un rivela...
 
domenicoCaputiTriennale
domenicoCaputiTriennaledomenicoCaputiTriennale
domenicoCaputiTriennale
 
Analisi ed implementazione di file system distribuiti in ambiente GNU/Linux
Analisi ed implementazione di file system distribuiti in ambiente GNU/LinuxAnalisi ed implementazione di file system distribuiti in ambiente GNU/Linux
Analisi ed implementazione di file system distribuiti in ambiente GNU/Linux
 
Andrea_Gangemi_tesi
Andrea_Gangemi_tesiAndrea_Gangemi_tesi
Andrea_Gangemi_tesi
 

Dernier

AI nel mondo delle scuole. Formazione docente per creare un ponte con gli stu...
AI nel mondo delle scuole. Formazione docente per creare un ponte con gli stu...AI nel mondo delle scuole. Formazione docente per creare un ponte con gli stu...
AI nel mondo delle scuole. Formazione docente per creare un ponte con gli stu...Human Singularity
 
educazione civica storia Martina fellone.pptx
educazione civica storia Martina fellone.pptxeducazione civica storia Martina fellone.pptx
educazione civica storia Martina fellone.pptxPatrickVervenna1
 
BATTERIE A LITIO Martina Fellon 5F A.S. 23/24
BATTERIE A LITIO  Martina Fellon 5F A.S. 23/24BATTERIE A LITIO  Martina Fellon 5F A.S. 23/24
BATTERIE A LITIO Martina Fellon 5F A.S. 23/24PatrickVervenna1
 
15 Consoli Castellana Grotte - Lavorare per vivere.pdf
15 Consoli Castellana Grotte - Lavorare per vivere.pdf15 Consoli Castellana Grotte - Lavorare per vivere.pdf
15 Consoli Castellana Grotte - Lavorare per vivere.pdfdalpalcoscenicoallaprevenzione
 
25 ĐỀ THAM KHẢO THI TUYỂN SINH VÀO LỚP 10 THPT MÔN TIẾNG ANH NĂM HỌC 2024 - 2...
25 ĐỀ THAM KHẢO THI TUYỂN SINH VÀO LỚP 10 THPT MÔN TIẾNG ANH NĂM HỌC 2024 - 2...25 ĐỀ THAM KHẢO THI TUYỂN SINH VÀO LỚP 10 THPT MÔN TIẾNG ANH NĂM HỌC 2024 - 2...
25 ĐỀ THAM KHẢO THI TUYỂN SINH VÀO LỚP 10 THPT MÔN TIẾNG ANH NĂM HỌC 2024 - 2...Nguyen Thanh Tu Collection
 
1 Liceo Simone Morea Conversano - Ci vediamo stasera.pdf
1 Liceo Simone Morea Conversano - Ci vediamo stasera.pdf1 Liceo Simone Morea Conversano - Ci vediamo stasera.pdf
1 Liceo Simone Morea Conversano - Ci vediamo stasera.pdfdalpalcoscenicoallaprevenzione
 

Dernier (11)

AI nel mondo delle scuole. Formazione docente per creare un ponte con gli stu...
AI nel mondo delle scuole. Formazione docente per creare un ponte con gli stu...AI nel mondo delle scuole. Formazione docente per creare un ponte con gli stu...
AI nel mondo delle scuole. Formazione docente per creare un ponte con gli stu...
 
2 Padre A. M. Tannoia Corato - L'ultimo giorno.pdf
2 Padre A. M. Tannoia Corato - L'ultimo giorno.pdf2 Padre A. M. Tannoia Corato - L'ultimo giorno.pdf
2 Padre A. M. Tannoia Corato - L'ultimo giorno.pdf
 
14 Galileo Galilei Bitonto - Rosso latte.pdf
14 Galileo Galilei Bitonto - Rosso latte.pdf14 Galileo Galilei Bitonto - Rosso latte.pdf
14 Galileo Galilei Bitonto - Rosso latte.pdf
 
educazione civica storia Martina fellone.pptx
educazione civica storia Martina fellone.pptxeducazione civica storia Martina fellone.pptx
educazione civica storia Martina fellone.pptx
 
BATTERIE A LITIO Martina Fellon 5F A.S. 23/24
BATTERIE A LITIO  Martina Fellon 5F A.S. 23/24BATTERIE A LITIO  Martina Fellon 5F A.S. 23/24
BATTERIE A LITIO Martina Fellon 5F A.S. 23/24
 
13 Consoli Castellana grotte - La caduta.pdf
13 Consoli Castellana grotte - La caduta.pdf13 Consoli Castellana grotte - La caduta.pdf
13 Consoli Castellana grotte - La caduta.pdf
 
15 Consoli Castellana Grotte - Lavorare per vivere.pdf
15 Consoli Castellana Grotte - Lavorare per vivere.pdf15 Consoli Castellana Grotte - Lavorare per vivere.pdf
15 Consoli Castellana Grotte - Lavorare per vivere.pdf
 
25 ĐỀ THAM KHẢO THI TUYỂN SINH VÀO LỚP 10 THPT MÔN TIẾNG ANH NĂM HỌC 2024 - 2...
25 ĐỀ THAM KHẢO THI TUYỂN SINH VÀO LỚP 10 THPT MÔN TIẾNG ANH NĂM HỌC 2024 - 2...25 ĐỀ THAM KHẢO THI TUYỂN SINH VÀO LỚP 10 THPT MÔN TIẾNG ANH NĂM HỌC 2024 - 2...
25 ĐỀ THAM KHẢO THI TUYỂN SINH VÀO LỚP 10 THPT MÔN TIẾNG ANH NĂM HỌC 2024 - 2...
 
11 Modugno Conversano - Per chi resta.pdf
11 Modugno Conversano - Per chi resta.pdf11 Modugno Conversano - Per chi resta.pdf
11 Modugno Conversano - Per chi resta.pdf
 
1 Liceo Simone Morea Conversano - Ci vediamo stasera.pdf
1 Liceo Simone Morea Conversano - Ci vediamo stasera.pdf1 Liceo Simone Morea Conversano - Ci vediamo stasera.pdf
1 Liceo Simone Morea Conversano - Ci vediamo stasera.pdf
 
16 Calasso Lecce - Ricordi di lavoro.pdf
16 Calasso Lecce - Ricordi di lavoro.pdf16 Calasso Lecce - Ricordi di lavoro.pdf
16 Calasso Lecce - Ricordi di lavoro.pdf
 

Social Network Analysis

  • 1. Universit`a di Pisa Anno Accademico 2015/2016 Final term Social Network Analysis Alessia Barsotti Simona Gambacorta
  • 2. Indice 1 Introduzione 1 2 Community Discovery 3 2.1 Demon . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.2 K-clique . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.3 Osservazioni generali . . . . . . . . . . . . . . . . . . . . 12 3 Node Similarity 14 3.1 Tie Strength & Giant Component . . . . . . . . . . . . . 14 3.1.1 Adamic Adar coefficient . . . . . . . . . . . . . . 16 3.1.2 Jaccard coefficient . . . . . . . . . . . . . . . . . 17 3.1.3 Preferential attachment coefficient . . . . . . . . . 18 3.2 Osservazioni generali . . . . . . . . . . . . . . . . . . . . 20 4 Epidemics 21 4.1 SI model . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 4.1.1 SI model: Desease weak . . . . . . . . . . . . . . 22 4.1.2 SI model: Desease strong . . . . . . . . . . . . . . 24 4.2 SIS model . . . . . . . . . . . . . . . . . . . . . . . . . . 26 4.2.1 SIS model: Endemic Weak . . . . . . . . . . . . . 28 4.2.2 SIS model: Endemic Strong . . . . . . . . . . . . 32 4.2.3 SIS model: Desease-Free Weak . . . . . . . . . . . 34 4.2.4 SIS model: Desease-Free Strong . . . . . . . . . . 36 4.3 SIR model . . . . . . . . . . . . . . . . . . . . . . . . . . 38 4.3.1 SIR model: Endemic Weak . . . . . . . . . . . . . 39 4.3.2 SIR model: Endemic Strong . . . . . . . . . . . . 42 4.3.3 SIR model: Desease-Free Weak . . . . . . . . . . 43 4.3.4 SIR model: Desease-Free Strong . . . . . . . . . . 45 4.4 Osservazioni generali . . . . . . . . . . . . . . . . . . . . 47 i
  • 3. 1 Introduzione La presente relazione costituisce l’ultima fase dell’analisi condotta su una rete reale, nell’ambito del progetto d’esame per il corso di Analisi delle Reti Sociali. I risultati registrati durante la prima parte del lavoro e confluiti nel mid-term report, rappresentano il punto di partenza di questa trattazione. La rete reale estrapolata dalla piattaforma social Last.FM, `e stata inizialmente processata mediante vari tools, quali Cytoscape e Gephi, grazie ai quali era stato possibile esaminare le propriet`a fondamentali legate alle misure di centralit`a (Degree Distribution, Closeness Centrality, Betweenness Centrality), alle relazioni fra vicini (Clustering Coefficient) e alle relazioni fra coppie di nodi (Shortest Path). Da queste analisi `e emerso che il grafo della nostra rete `e completo e composto da 4824 nodi e 27481 archi. Ogni nodo `e collegato da almeno un arco a tutti gli altri nodi, ma la Degree Distribution1 e il Clustering Coefficient2 dimostrano che la maggior parte dei nodi `e connessa da pochi link e solo pochi nodi (hub) hanno numerosi archi. Le misure di centralit`a hanno confermato questa tendenza. Per quanto rigiuarda, ad esempio, la betweennes centrality 3 , nella nostra rete la maggior parte dei nodi ha un valore che non supera lo 0, 077 e se consideriamo che il valore massimo pu`o essere 1 e il minimo 0, risulta piuttosto basso. Ne deriva che la maggior parte dei nodi non `e centrale e quindi collegata diremente agli altri nodi, al contrario la maggior parte ricorre negli shortest path una o poche volte. Per verificare queste premesse `e stata condotta un’analisi di Commu- nity Discovery, mediante gli algoritmi Demon e K-cliques, volta a far emergere le comunit`a della rete che condividono le stesse caratteristiche. Ottenute le informazioni, sono state definite alcune misure di similarit`a basate sui vicini e una misura da noi implementata basata sugli ascolti. In particolare sono stati calcolati i coefficineti Jaccard, Adamic Adar e 1 k = 8.5 2 C = 0.133 3 calcola la centralit`a di un nodo nella rete. Se `e adiacente a tutti gli altri nodi, con k = 1, allora avr`a una betweenness centrality molto alta. 1
  • 4. 1 Introduzione Preferential attachment e sono stati confrontati con una misura calibrata sugli artisti comuni ascoltati da coppie di nodi vicini. Infine sono state effettuate varie simulazioni per valutare il compor- tamento di due reti sottoposte alla diffusione di una malattia infettiva. Sulle due reti, una rete random Erd˝os–R´enyi e la nostra rete Last.FM, sono stati calcolati i modelli SI, SIR e SIS e i risultati sono stati messi a confronto. Ogni scritp `e stato sviluppato in Python (v. 2.7 e 3.6) e implementato tramite l’ambiente IDE Pycharm (Community Edition 2016.3.1), me- diante l’utilizzo di alcuni pacchetti e librerie dedicati, quali Nepidemix, Networkx e Network Diffusion Library. 2
  • 5. 2 Community Discovery Per verificare le caratteristiche emerse nella prima fase di questo lavoro, abbiamo applicato alcuni algoritmi che estraggono informazioni relative alle comunit`a presenti nella nostra rete complessa. Le comunit`a si iden- tificano come gruppi di individui che presumibilmente hanno in comune diverse propriet`a o interessi. Accomunati dalle stesse caratteristiche, questi gruppi sono composti da nodi fortemente connessi tra di loro e scarsamente collegati al resto della rete. Le reti sociali rispecchiano perfettamente questo modello di raggrup- pamento in comunit`a, in quanto un singolo individuo pu`o appartenere contemporaneamente a gruppi diversi: gli amici, i colleghi di lavoro, il gruppo sportivo ecc. Nel nostro contesto, il fattore accomunante `e costituito dai gusti mu- sicali. Pertanto, ci si pu`o attendere che le comunit`a restituite dagli algoritmi abbiano in comune il genere musicale. Il primo algoritmo applicato calcola le communit`a sfruttando proprio l’idea che un nodo possa comparire in pi`u gruppi e restituisce insiemi sulla base del grado di sovrapposizione di un nodo. Il secondo metodo si basa sull’idea dell’adiancenza, ossia restituisce liste di comunit`a di dimensione k che possono essere raggiunte dalle clique vicine. 2.1 Demon Il metodo Community Discovery DEMON (Democratic Estimate of the Modular Organization of a Network) permette di rilevare la presenza di comunit`a all’interno di una rete complessa mediante un approccio local- first, lasciando cio`e che l’organizzazione nascosta emerga dai pattern locali. Mentre ogni nodo offre la propria prospettiva della rete (per questo motivo la denominazione Democratic), l’algoritmo estrae l’ego-network di ciascun nodo -cio`e la rete costruita attorno ad un nodo principale, 3
  • 6. 2 Community Discovery l’”ego”, e ai nodi ai quali l’ego `e direttamente connesso - e applica a queste strutture un algoritmo Label Propagation CD, escludendo la pre- senza dell’ego stesso. Successivamente ogni prospettiva viene combinata e il risultato di questa fusione costituisce una stima delle comunit`a reali presenti nella rete determinate dai componenti della rete stessa1 . Mediante un specifica libreria fornitaci e con un opportuno script py- thon2 abbiamo testato l’agloritmo implementando valori diversi di com- munity size, cio`e il numero minimo di nodi all’interno di una comunit`a, e di epsilon, cio`e il coefficiente di overlapping, ottenendo i seguenti risultati: epsilon size community 0.25 3 99 0.25 5 75 0.25 10 48 0.50 3 311 0.50 5 271 0.50 10 197 0.65 3 687 0.65 5 529 0.65 10 317 0.70 3 800 0.70 5 650 0.70 10 368 Dati tali risiltati si `e deciso di prendere in considerazione le 75 comunit`a individuate da epsilon pari a 0.25 e size pari a 5. 1 http://didawiki.cli.di.unipi.it/lib/exe/fetch.php/wma/cd_2015.pdf 2 https://github.com/GiulioRossetti/DEMON 4
  • 7. 2 Community Discovery 0 20 40 60 80 0 200 400 600 800 Numero comunit`a Numerodinodinellacomunit`a Figura 2.1: Demon Communities Non potendo calcolare la densit`a delle comunit`a, in quanto l’agloritmo fornisce soltanto il numero di comunit`a e i nodi appartenenti alle stesse, `e stata calcolata la popolazione media, che risulta pari a 95 nodi. Delle 75 comunit`a, la 38◦ presenta il pi`u alto numero di nodi, 837. Con uno script python abbiamo validato le comunit`a usando dati ester- ni (file listenings.csv) relativi ad artista, traccia e album pi`u riprodotti. Per ogni comunit`a `e stato generato un file output contenente i dati re- lativi agli ascolti di ogni nodo di quella determinata comunit`a, su questi quindi `e stata svolta un’analisi di tipo statistico. In particolare, considerando tre comunit`a (la pi`u popolata, la meno popolata e una comunit`a mediamente popolata), son sono stati analizza- ti: ˆ Artista pi`u ascoltato: – Community 38 (837 nodi): su un totale di 67024 ascolti, i 3 artisti pi`u ascoltati sono, in ordine decrescente, Artic Monkeys (602 occorrenze), Bring Me The Horizon (410 occorrenze) e Muse (395 occorrenze). – Community 25 (7 nodi): su un totale di 600 ascolti, i 3 artisti pi`u ascoltati sono, in ordine decrescente, Aerosmith (46 occorrenze), Leatherwolf (40 occorrenze) e Ramones (32 occorrenze). – Community 55 (83 nodi): su un totale di 7111 ascolti, i 3 artisti pi`u ascoltati sono, in ordine decrescente, Limp Biz- 5
  • 8. 2 Community Discovery kit (116 occorrenze), God is An Astronaut (105 occorrenze) e Eminem (103 occorrenze). ˆ Canzone pi`u ascoltata: – Community 38 (837 nodi): su un totale di 67024 ascolti, le 3 canzoni pi`u ascoltate sono, in ordine decrescente, Survival (111 occorrenze), In my place (101 occorrenze) e Get Lucky (100 occorrenze). – Community 25 (7 nodi): su un totale di 600 ascolti, le 3 can- zoni pi`u ascoltate sono, in ordine decrescente, Mama Kin (42 occorrenze), Hideaway (15 occorrenze) e Spirits in the wind (10 occorrenze). – Community 55 (83 nodi): su un totale di 7111 ascolti, le 3 canzoni pi`u ascoltate sono, in ordine decrescente, Survival (102 occorrenze), A Whiter Shade of Pale (79 occorrenze) e Àðìàãåääîí (34 occorrenze). A rctic M onkeys Bring M e T he H orizon M use O thers 0 20 40 60 80 100 0.9 0.61 0.59 97.9 Ascolti% Figura 2.2: Artisti ascoltati nella comunit`a 38 6
  • 9. 2 Community Discovery A erosm ith Leatherwolf R am ones O thers 0 20 40 60 80 7.67 6.67 5.33 80.33 Ascolti% Figura 2.3: Artisti ascoltati nella comunit`a 25 Lim p Bizkit G od is A n A stronaut Em inem O thers 0 20 40 60 80 100 1.63 1.48 1.45 95.44 Ascolti% Figura 2.4: Artisti scoltati nella comunit`a 55 Per quanto riguarda il Genere, Last.FM permette ad ogni utente di inserire in modo arbitrario il genere del brano ascoltato, uno stesso artista dunque pu`o essere associato a generi diversi. Non potendo effettuare un’analisi statistica precisa sul genere ascol- tato, in quanto non siamo in possesso di dati univoci per ogni artista, 7
  • 10. 2 Community Discovery sono state fatte delle considerazioni sommarie sugli ascolti delle comunit`a sopra citate, in particolare: ˆ Community 38 (837 nodi): tra gli artisti pi`u ascoltati della co- munit`a 38 ci sono Artic Monkeys e Muse, entrambi associabili al genere alternative rock. I Bring Me The Horizon, invece, apparten- gono alla corrente del metalcore e del post-hardcore. Complessiva- mente quindi possiamo sostenere che nella comunit`a 38 il genere pi`u ascoltato sia il rock e i suoi sottogeneri indipendenti. ˆ Community 25 (7 nodi): la comunit`a 25 `e caratterizzata da due generi, l’hard rock degli Aerosmith e dei Leatherwolf, e il punk rock dei Ramones. ˆ Community 55 (83 nodi): la comunit`a 55 presenta generi varie- gati, si va dall’alternative metal del Limp Bizkit, passando per la musica elettronica dei God Is An Astronaut, fino al rap di Eminem. 2.2 K-clique Un’altra misura che permette di scoprire le caratteristiche delle comunit`a presenti nella rete `e il calcolo delle clique. Una clique si definisce come un sottoinsieme di nodi in un grafo non orientato, tale per cui per ogni coppia di vertici esiste un arco che li collega. In altro modo, si potrebbe dire che ogni clique costituisce un grafo completo. Mediante l’algoritmo K-clique abbiamo individuato le cliques del no- stro grafo indiretto, atemporale e non pesato G, ovvero quei sotto-grafi formati da una coppia di nodi collegata da un arco. Con uno script Python abbiamo prima individuato le cliques di dimensione k (ovvero il numero di nodi connessi tra di loro) e, successivamente, per effettua- re un’analisi di tipo statistico abbiamo estrapolato gli ascolti di ogni comunit`a. Per individuare le clique sono stati fatti vari tentativi assegnando diversi valori a k: k cliques 4 105 5 41 6 19 In linea con le nostre aspettative, abbiamo constatato che il numero di clique diminuisce drasticamente in relazione al numero di nodi connessi 8
  • 11. 2 Community Discovery tra loro. Infatti, le clique con k = 4 sono 105, quelle con k = 5 sono dimezzate a 41 e analogamente quelle con k = 6 sono 19. Pertanto si `e stabilito di prendere in considerazione le 41 cliques indi- viduate da k = 5. La popolazione media di tali k-cliques `e pari a circa 10 nodi per clique. 0 10 20 30 40 0 20 40 60 Figura 2.5: Distribuzione della popolazione nelle 41 cliques individuate da k = 5 Come `e stato fatto per l’algoritmo Demon, abbiamo preso in conside- razione tre cliques (la pi`u popolata, la meno popolata e una comunit`a mediamente popolate) e abbiamo analizzato: ˆ Artista pi`u ascoltato: – Community 3 (67 nodi): su un totale di 5000 ascolti, i 3 ar- tisti pi`u ascoltati sono, in ordine decrescente,The Devil Wears Prada (109 occorrenze), The Holy Guile (84 occorrenze) e Crown the Empire (82 occorrenze). – Community 6 (5 nodi): su un totale di 400 ascolti, i 3 ar- tisti pi`u ascoltati sono, in ordine decrescente, ProleteR (47 occorrenze), Jack Russell (32 occorrenze) e Deez Nuts (24 occorrenze). – Community 39 (7 nodi): su un totale di 602 ascolti, i 3 artisti pi`u ascoltati sono, in ordine decrescente, Emil Bulls (59 occorrenze), Staind (28 occorrenze) e The Boxer Rebellion (26 occorrenze). ˆ Canzone pi`u ascoltata: 9
  • 12. 2 Community Discovery – Community 3 (67 nodi): su un totale di 5000 ascolti, le 3 canzoni pi`u ascoltate sono, in ordine crescente,Ugly Biddie (84 occorrenze), Monsieur Moustache Vs. Clitcat (35 occorrenze), My Favorite Game (30 occorrenze). – Community 6 (5 nodi): su un totale di 400 ascolti, le 3 canzoni pi`u ascoltate sono, in ordine decrescente, Ìîè ïî- áåäû (äåìî 2012) (13 occorrenze), It don’t mean a thing (9 occorrenze), Deathbeds (8 occorrenze). – Community 39 (7 nodi): su un totale di 602 ascolti, le 3 canzoni pi`u ascoltate sono, in ordine decrescente, Ìåñòî 37 (5 occorrenze), Òðóáà (feat. Anacondaz) (5 occorrenze) e I Don’t Belong Here (4 occorrenze). Le considerazioni fatte sul Genere invece, hanno prodotto i seguenti risultati: ˆ Community 3 (67 nodi): in questa clique il genere prevalente ascoltato `e il metal, in quanto fra gli artisti pi`u ascoltati troviamo i The Devil Wears Prada di genere christian metal, i The Holy Guile di genere heavy metal e i Crown the Empire di genere metalcore. ˆ Community 6 (5 nodi) la clique numero 6 presente generi vriegati come ProleteR di genere hip hop, Jack Russell cantante heavy metal e i Deez Nuts un gruppo hardcore punk. ˆ Community 39 (7 nodi): la clique 39 `e caratterizzata dal genere rock, con artisti come gli Emil Bulls e gli Staind, entrambi di genere hard rock, e i The Boxer Rebellion di genere indie rock. 10
  • 13. 2 Community Discovery T he D evilW ears PradaT he H oly G uile C row n the Em pire O thers 0 20 40 60 80 100 2.18 1.68 1.64 94.5 Ascolti% Figura 2.6: Artisti ascoltati nella k-clique 3 ProleteR Jack R ussell D eez N uts O thers 0 20 40 60 80 11.75 8 6 74.25 Ascolti% Figura 2.7: Artisti ascolati nella k-clique 6 11
  • 14. 2 Community Discovery Em ilBulls Staind T he BoxerR ebellion O thers 0 20 40 60 80 9.8 4.65 4.32 81.23 Ascolti% Figura 2.8: Artisti ascoltati nella k-clique 39 2.3 Osservazioni generali Dalle analisi effettuate mediante gli algoritmi Demon e K-clique possiamo dedurre le seguenti osservazioni. Mentrein Demon a parit`a di epsilon il numero di comunt`a risulta alto per valori bassi di community size, con k-clique tale numero si abbassa notevolmenteall’aumentare di k: infatti per ottenere un numero di co- munit`a pari a 0 con k-clique `e sufficiente implementare k = 8, mentre in Demon ci`a non accade neanche per un valore di community size pari a 10. Ci`o `e giustificato dal diverso approccio dei due algoritmi e dalla scarsit`a di legami fra i nodi della nostra rete, in cui, evidentemente, `e pi`u difficile individuare clique adiacenti. Tale disparit`a `e presente anche nel numero di nodi, per comunit`a, in quanto la comunit`a pi`u grande individuata con Demon presenta una popolazione di 837 nodi, mentre con k-clique `e pari a 67. In generale possiamo osservare come le comunit`a riscontrate tendano a mettere in relazione utenti dai gusti simili, che ascoltano sottogeneri riconducibili ad una categoria principale. Anche se le analisi sono state effettuate su un campione esiguo, le 6 comunit`a individuate dai due algoritmi, possiamo supporre che la rete di 12
  • 15. 2 Community Discovery relazioni del nodo root, Sherman Gao, ascolti prevalentemente il genere rock e le sue derivazioni. 13
  • 16. 3 Node Similarity In letteratura le misure di similarit`a sono molte e variano in base al contesto e al tipo di analisi che si vuole effettuare sui dati a propria disposizione. In generale, dato un nodo con degli attributi ed, eventual- mente, con un set di attributi strutturali rappresentati da connessioni, per Node Similarity si intende la ricerca di nodi simili a quello dato. Sulla rete in esame sono state effettuate delle misure di similarit`a fra coppie di nodi. Innanzi tutto abbiamo definito in modo arbitrario una misura basata sui dati relativi agli ascolti degli utenti della rete. Questa misura ci `e servita per condurre delle analisi sulla struttura del grafo: dopo aver calcolato le componenti connesse `e stato analizzato il variare di queste ultime in seguito alla rimozione di determinati archi. Lo stesso processo `e stato effettuato con altri coefficienti di similarit`a, quali Adamic Adar, Jaccard e Preferential attachment, calcolate sulla stessa rete. 3.1 Tie Strength & Giant Component Il concetto di tie strength, derivato dal lavoro del sociologo statunitense Mark Granovetter, si basa sul peso dei legami fra nodi. In una rete sociale i nodi sono gli individui della rete, mentre i legami sono le relazioni fra questi individui. Nel nostro caso la tie stregth `e stata calcolata attribuendo un valore equivalente al numero di artisti comuni ascoltati da due nodi. Lo script python con cui `e stata calcolata tale misura, ha restituito valori a partire da 0, nessun artista in comune, fino ad un massimo di 10 artisti ascoltati da entrambi i nodi della coppia. Successivamente `e stata calcolata la giant component dell’intera rete. Per componente connessa di una rete si intende un sottoinsieme di nodi, in cui ogni nodo possiede un path verso ogni altro nodo del sottoinsie- me.Tale propriet`a per`o non `e attribuibile all’insieme pi`u grande di cui la 14
  • 17. 3 Node Similarity componente connessa `e parte, cio`e il grafo1 . L’attributo giant si riferi- sce al numero di nodi della componente connessa, formata da una parte notevole e consistente dei nodi di tutta la rete. Una rete pu`o contenere soltanto una giant component, unica e distin- guibile. La nostra rete contiene una giant component formata da tutti i 4824 nodi. Dopo aver calcolato la giant component della nostra rete, l’abbiamo messa in relazione con la misura da noi definita: ad ogni iterazione dello script `e stato rimosso un arco ed `e stato ricalcolato il numero di com- ponenti connesse, ci`o `e stato fatto prima a partire dai valori ascendenti rilevati dalla nostra misura, quindi i valori pi`u bassi (0), poi dai valori discendenti, cio`e i pi`u alti (10). Figura 3.1: Andamento della struttura della rete dopo la rimozione di ogni arco appartenente ai valori ascendenti della tie strenght, in blu, e ai valori discendenti, in rosso La soglia che determina il passaggio da una giant component a due componenti connesse varia a seconda dei valori presi in considerazione: mentre per i valori ascendenti soltanto dopo 80 archi rimossi si rileva la formazione di due componenti connesse, per i valori discendenti la threshold si raggiunge al 19◦ arco rimosso. La curva dei valori ascendenti, quindi, inizialmente `e pi`u stabile. 1 David A. Easley, Jon M. Kleinberg: Networks, Crowds, and Markets - Reasoning About a Highly Connected World, Chapter 2, Graph, Cambridge University Press, 2010 15
  • 18. 3 Node Similarity Dalla pendenza delle due curve, inoltre, possiamo notare che fino a cir- ca met`a degli archi rimossi la curva dei valori ascendenti `e dominante su quella dei valori discendenti. Quest’ultima pero cresce progressivamen- te, mentre i valori della curva ascendente hanno una crescita pi`u lenta e meno progressiva. Infine le due curve arrivano a convergenza. Da notare come il punto di intersezione delle due curve si trovi circa a met`a del numero totale di archi rimossi (approssimativamente 6500 archi): da un controllo sui dati possiamo verificare che tra l’arco 6402 e l’arco 6405, entrambe le curve presentano un numero di componenti connesse pari a 526. 3.1.1 Adamic Adar coefficient Il coefficiente Adamic Adar assegna un valore maggiore alle qualit`a pi`u rare in comune. Caratteristiche non comuni, infatti, sono pi`u determi- nanti nel definire il rapporto fra due nodi: se, ad esempio, due testi condividono la frase “for example” probabilmente sono meno simili di due documenti che condividono la frase “clustering coefficient”2 . Tale misura `e definita come: 3 A(x, y) = u∈Γ(x)∩Γ(y) 1 log(|Γ(u)|) (3.1) in cui Γ(u) `e il set di vicini di u. Come `e stato fatto in precedenza, per la misura da noi definita, `e stato calcolato il numero di componenti connesse della rete dopo ogni arco rimosso appartenente a valori ascendenti, prima, e discendenti, dopo, della suddetta misura. 2 http://be.amazd.com/link-prediction/ 3 https://networkx.github.io/documentation/development/reference/ generated/networkx.algorithms.link_prediction.adamic_adar_index. html 16
  • 19. 3 Node Similarity Figura 3.2: Andamento della struttura della rete dopo la rimozione di ogni arco appartenente ai valori ascendenti del coefficiente Adamic Adar, in blu, e ai valori discendenti, in rosso. Come possiamo notare dal plot, la curva dei valori crescenti (blu) resta costantemente superiore a quella dei valori decrescenti (rossa). Presenta inoltre un picco intorno al 12000◦ arco rimosso, che si assesta nel tratto successivo, lievemente piatto, in cui il numero di componenti connesse si stabilizza per diverse centinaia di iterazioni a 2467. La curva continua poi a crescere in modo lineare. Per i valori discendenti invece, possiamo notare un tratto con anda- mento lineare seguito (arco 13000 circa) da un tratto non lineare. 3.1.2 Jaccard coefficient Il coefficiente Jaccard `e una misura di similarit`a, comunemente usata in information retrieval, che indica il numero di vicini comuni a due nodi in rapporto al totale degli amici di entrambi i nodi: 4 A(x, y) = Γ(x) ∩ Γ(y) Γ(x) ∪ Γ(y) (3.2) Dopo aver calcolato il coefficiente Jaccard per ogni coppia di nodi nella nostra rete, sono state calcolate le componenti connesse. 4 https://networkx.github.io/documentation/networkx-1.9/reference/ generated/networkx.algorithms.link_prediction.jaccard_coefficient. html 17
  • 20. 3 Node Similarity Figura 3.3: Andamento della struttura della rete dopo la rimozione di ogni arco appartenente ai valori ascendenti del coefficiente Jaccard, in blu, e ai valori discendenti, in rosso. Dal plot risulta che le due linee, ascendente (blu) e dicescente (rossa), non hanno alcun punto di contatto. In particolare dai dati risulta che il valore di soglia, per la linea dei valori ascendenti, `e pari a 1, cio`e gi`a dopo la rimozione di un arco si verifica la presenza di due componenti connesse. Da tale iterazione in poi la linea presenta un aumento constante e poco meno di 8000 mila archi rimossi dopo, si verifica una cresicita di tipo non lineare. Dopo 12000 archi rimossi si nota una fase di stabilit`a, che si protrae per altri mille archi rimossi, successivamente riprende a crescere. A differenza della curva blu, la curva dei valori discendenti presenta una valore di soglia pi`u alto, al 132◦ arco rimosso si passa da una componente a connessa a due. Dopo tale variazione, fino a 8500 iterazioni circa, la curva presenta un andamento pi`u o meno lineare. Il successivo aumento di pendenza denota un passaggio da una situazione di maggiore ad una di minore stabilit`a, in quano il numero di componenti connesse varia pi`u in fretta. La curva continua variare in pi`u punti, pi`u evidenti i cambiamenti di pendenza intono a 14000 e 18000 archi rimossi, in la crescita risulta non lienare. 3.1.3 Preferential attachment coefficient Il preferential attachment coefficient `e una misura di similarit`a che ti- picamente si riferisce a forme di credito e ricchezza, secondo il concetto ‘’the rich get richer”. Nelle reti sociali tale concetto si esplicita con la 18
  • 21. 3 Node Similarity nozione secondo la quale utenti con molti amici tendono a creare pi`u le- gami, ovvero pi`u un nodo `e connesso pi`u alta sar`a la probabilit`a che crei nuovi collegamenti. Nodi fortemente collegati rappresentano individui molto conosciuti e con molte relazioni, cos`ı quando un nuovo nodo entra nella rete verosimilmente instaurer`a un legame con i nodi pi`u in vista. Tale coefficiente viene calcolato moltiplicando il numero di collegamen- ti, quindi di vicini, di una coppia di nodi: 5 A(x, y) = |Γ(x)| |Γ(y)| (3.3) Come per le altre misure di similarit`a, anche per il Preferential atta- chment coefficient `e stato calcolato il variare del numero di componenti connesse dopo la rimozione degli archi a partire da quelli deboli fino a quelli pi`u pesanti, e viceversa. Figura 3.4: Andamento della struttura della rete dopo la rimozione di ogni arco appartenente ai valori ascendenti del coefficiente Preferential attachment, in blu, e ai valori discendenti, in rosso. Come possiamo osservare dal plot le due curve si intrecciano in pi`u pun- ti, in corrispondenza dei quali presentano lo stesso numero di componenti connesse. Mentre fino a poco meno di 5000 archi rimossi le due curve presen- tanto un andamento molto simile, successivamente la curca dei legami 5 https://networkx.github.io/documentation/networkx-1.10/reference/ generated/networkx.algorithms.link_prediction.preferential_ attachment.html 19
  • 22. 3 Node Similarity discendenti (in rosso) subisce un picco e quella dei legami ascendenti (in blu) cresce con pi`u lentezza. Il picco della curva rossa subisce un arresto intorno a 7000 archi ri- mossi e mantiene il numero di componenti connesse costante per diverse centinaia di iterazioni, per poi riprendere a crescere. Le due curve si incontrano nuovamente dopo poco pi`u di 14000 archi rimossi, da questa iterazione in poi la curva dei legami ascendenti cresce in modo lineare per poi incontrare nuovamente la curva rossa un centinaio di archi prima delle 18000 iterazioni. Infine le due curve crescono di pari passo fino al completamento del ciclo. 3.2 Osservazioni generali Il confronto dei plot risultanti dall’applicazione delle quattro misure pro- poste ci permette di fare alcune osservazioni. In particolare dall’analisi dei valori di threshold si nota come per le tre misure di similarit`a (Adamic Adar, Jaccard e Preferential attachment, i collegamenti deboli influiscano maggiormente sulla struttura della rete e sulle dinamiche di formazione delle componenti connesse rispetto a quelli forti. Nella misura da noi definita, invece, i legami deboli, quelli quindi in- staurati fra nodi che hanno pochi o nessun artista ascoltato in comune, hanno poco peso sulla struttura del grafo, a differenza dei collegamenti fra nodi con gli stessi interessi musicali. Da tale comportamento pssiamo supporre che la maggior parte dei nodi contragga legami deboli con i nodi vicini, e coppie di nodi con elevato numero di artisti in comune funga da collegamento tra componenti. In conclusione riteniamo che gli utenti della nostra rete ascoltino generi e sottogeneri simili, come visto nella sezione Community discovery. Ma basandoci sulla misura da noi definita, che si riferisce solamente agli artisti ascoltati, possiamo ipotizzare che il basso numero di legami forti sia dovuto ad una grande variet`a di artisti ascoltati, appartenenti per`o a sottogeneri musicali affini. 20
  • 23. 4 Epidemics La network epidemics offre spunti analitici e numerici per quantificare e predire la diffusione di patologie infettive. Le epidemie possono propagar- si in maniera improvvisa all’interno di una popolazione, oppure possono persistere per lungo tempo alternando andamenti ascendenti o discen- denti. In casi estremi un singolo caso di contagio pu`o comportare effetti devastanti su un’intera civilt`a, come accadde con l’arrivo degli europei nelle Americhe o lo scoppio della peste bubbonica1 . Esistono diversi tipi di modelli per la descrizione della propagazione delle epidemie, nella nostra trattazione prenderemo in considerazionei i modelli SI, SIS e SIR, applicandoli prima ad una rete random Erd˝os- R´enyi e poi alla nostra rete. 4.1 SI model Il modello SI (Susceptible-Infected)2 rappresenta il modello base della propagazione di un’epidemia, in quanto un nodo v all’interno di una rete di N individui pu`o assumere solo due stati: ˆ Susceptible (S(t)): non ancora contagiato ma suscettibile alla ma- lattia; ˆ Infected (I): nodo infetto. Con St saranno indicati i nodi suscettibili al tempo t e con It i nodi che sono gi`a stati contagiati. Al tempo t0 ogni individuo della rete risulta esposto alla malattia (S0 = N) e nessuno `e infetto (I0 = 0). Assumendo che un individuo abbia in media k contatti e che la probabilit`a di trasmis- sione dell’epidemia da un nodo infetto ad uno suscettibile in una unit`a di tempo sia pari a β (infection rate, la probabilit`a che un una persona infetta incontri un individuo suscettibile `e pari a St N , quindi l’individuo 1 David A. Easley, Jon M. Kleinberg: Networks, Crowds, and Markets - Reasoning About a Highly Connected World, Chapter 21, Epidemics, Cambridge University Press 2010 2 http://barabasi.com/f/617.pdf 21
  • 24. 4 Epidemics infetto entra in contatto con < k > St N soggetti esposti in una unit`a di tempo. Dal momento che It individui infetti trasmettono la malattia ognuno con probabilit`a β, la media di nuove infezioni durante un periodo dt `e: 3 β < k > StIt N dt (4.1) It dunque varier`a al variare di β: dIt dt = β < k > StIt N (4.2) Lo script4 per l’implementazione del modello SI `e stato applicato ad una rete random Erd˝os-R´enyi e alla nostra rete con i risultati riportati di seguito. 4.1.1 SI model: Desease weak Innanzi tutto abbiamo testato il modello SI con un valore di β molto basso, pari a 0, 0003, per verificare lo stato endemico della malattia. 3 David A. Easley, Jon M. Kleinberg: Networks, Crowds, and Markets - Reasoning About a Highly Connected World, Chapter 21, Epidemics, Cambridge University Press 2010 4 https://github.com/GiulioRossetti/ndlib/tree/config-ndlib 22
  • 25. 4 Epidemics Figura 4.1: Modello SI applicato alla rete random Erd˝os–R´enyi, con un numero di iterazioni pari a 200 23
  • 26. 4 Epidemics Figura 4.2: Modello SI applicato alla rete LastFM, con un numero di iterazioni pari a 200 Nella rete random Erd˝os–R´enyi al diminuire della curva dei nodi Su- sceptible corrisponde un parallelo aumento di quella di quella dei nodi Infected. Ad un numero di iterazioni inferiori a t = 100 il propagarsi del morbo `e reso evidente dall’incontro delle due curve, l’epidemia continua a crescere in modo costante. La rete LastFm presenta invece un calo e una crescita lineare dei nodi Susceptible e Infected rispettivamente. L’osservazione del plot non mo- stra in maniera evidente il propagarsi della malattia, possiamo supporre per`o, in modo intuitivo, che dato il progressivo aumento di I e il costante di S, all’aumentare del numero di iterazioni le due curve si avvicineranno sempre di pi`u. 4.1.2 SI model: Desease strong Impostando un valore di β = 0.07 ci aspettiamo che la malattia risulti endemica. 24
  • 27. 4 Epidemics Figura 4.3: Modello SI applicato alla rete random Erd˝os–R´enyi, con un numero di iterazioni pari a 200 25
  • 28. 4 Epidemics Figura 4.4: Modello SI applicato alla rete LastFM, con un numero di iterazioni pari a 200 Dal plot della rete random possiamo notare come pochissimo tempo do- po l’inizio del contagio, t = 10 circa, si verifichi una drastica diminuzione dei nodi Susceptible ed un amuneto dei nodi Infected. Da questa itera- zione in poi le due curve si mantengono costanti, la malattia s propaga in tutta la rete fino ad una situazione in cui S = 0 e I = N. La rete LastFM presenta una una diminuzione dei nodi Susceptible inizialmente lineare poi al rallentare della diffusione della malattia pi`u lenta, stesso comportamento `e osservabile per la crescita della curva dei nodi Infected. Al tempo t = 50 circa il propagarsi del morbo si assesta, la malattia quindi risulta endemica con valori pari a S = 0 e I = N. 4.2 SIS model Estensione del modello SI `e il modello SIS, che prevede il ripresentarsi dell’epidemia in uno stesso soggetto precedentemente infettatto. Una volta contagiato e poi guarito, l’individuo non risulta immunizzato ma pu`o contrarre nuovamente la malattia. Gli stati assumibili da un nodo quindo sono, come nel modello precedente, solamente due: 26
  • 29. 4 Epidemics ˆ Susceptible (S(t)): il nodo non `e contagiato ma `e esposto alla malattia; ˆ Infected (I(t)): il nodo `e infetto e una volta guarito torna allo stato iniziale, ovvero S. Dal momento che S = N −I, l’equazione differenziale che descrive tale modello `e: 5 dI dt = βI(N − I) − γI = βI(N − γ β − I) (4.3) L’equazione descrive la diffusione della malattia sulla base di due para- metri: β e γ. Mentre β descrive la percentuale di contagio dell’epidemia (infection rate), γ (recovery rate) `e la percentuale media di guarigione, e 1 γ `e il periodo di tempo medio durante il quale un individuo infetto pu`o trasmettere la malattia. Nel modello SIS la progressione dell’epidemia prevede i seguenti step:6 ˆ inzialmente alcuni nodi si trovano nello stato I mentre tutti gli altri nello stato S; ˆ ogni nodo v che assume stato I rimane infetto per un certo numero di step tI; ˆ durante ognuno di questi step tI, v ha probabilit`a p di trasmettere la malattia ad ognuno dei suoi vicini suscettibili; ˆ dopo un certo numero di step tI, il nodo v non `e pi`u infetto e torna nello stato S. Il rapporto fra β e γ determina il basic reproductive number R0, ovvero il numero atteso di nuovi casi di contagio dovuti ad un singolo individuo. Al variare di R0 la malattia pu`o comportarsi in due modi: ˆ R0 > 1 (β > γ ): se l’infection rate `e superiore al recovery rate gli individui infetti contagiano i vicini molto pi`u velocemente di quanto riescano a guarire. La popolazione infettata si approssima a: (β − γ)N β (4.4) 5 David A. Easley, Jon M. Kleinberg: Networks, Crowds, and Markets - Reasoning About a Highly Connected World, Chapter 21, Epidemics, Cambridge University Press 2010 6 David A. Easley, Jon M. Kleinberg: Networks, Crowds, and Markets - Reasoning About a Highly Connected World, Chapter 21, Epidemics, Cambridge University Press 2010 27
  • 30. 4 Epidemics Mentre la popolazione suscettibile: γN β (4.5) Quindi, dato tale rapporto fra β e γ, la malattia persiste e diventa endemica. ˆ R0 < 1 (β < γ): se l’infection rate `e inferiore al recovery rate la popolazione infetta si ristabilisce pi`u in fretta rispetto all’indice di contagio. La popolazione degli Infected si approssima a zero e l’epidemia termina dopo una serie finita di iterazioni. Tramite uno script python7 `e stato possibile implementare il modello SIS su una rete random (Erdos-Renyi) e sulla nostra rete LastFm. Variando di volta in volta i valori di β e γ sono stati ottenuti diversi plot, tramite i quali `e stato possibile analizzare i differenti comportamenti delle due reti nei casi attesi: diffusione endemica della malattia e fine del contagio dopo un certo numero di step. 4.2.1 SIS model: Endemic Weak Il primo caso preso in considerazione riguarda il diffondersi della malat- tia in modo endemico all’interno di una comunit`a. L’infection rate e il recovery rateassumono valori pari a β = 0.05 e γ = 0.03, quindi di non molto superiori uno all’altro. 7 https://github.com/GiulioRossetti/ndlib/tree/config-ndlib 28
  • 31. 4 Epidemics Figura 4.5: Modello SIS applicato alla rete random Erd˝os–R´enyi, con un numero di iterazioni pari a 200 29
  • 32. 4 Epidemics Figura 4.6: Modello SIS applicato alla rete LastFM, con un numero di iterazioni pari a 200 Il plot della rete random denota un picco repentino e discendente di S e specularmente un picco ascendente dei nodi infected. Dal tempo t = 2 in poi S e I proseguono specurlarmente, senza presentare picchi improssivisi o degni di nota, ma con un andamento non lineare e con punti leggermente superiori o inferiori all’andamento medio. Impostando un numero di iterazioni minori (dt = 10) `e possibile vedere nel dettaglio il diverso comportamento delle due reti. 30
  • 33. 4 Epidemics Figura 4.7: Modello SIS applicato alla rete random Erd˝os–R´enyii, con un numero di iterazioni pari a 10 31
  • 34. 4 Epidemics Figura 4.8: Modello SIS applicato alla rete LastFM, con un numero di iterazioni pari a 10 Mentre nella prima la trasmissione della malattia ai nodi suscettibili `e abbastanza immediata (tempo t = 2), nella seconda ci`o avviene in maniera pi`u lenta, e si ha un in’inversione di tendenza fra S e I solamente dopo il tempo t = 7. L’ipotesi iniziale quindi `e confermata dai plot, in cui il persistere della malattia `e evidente ma non marcato, in quanto il recovery rate `e di poco inferiore a β. 4.2.2 SIS model: Endemic Strong Un altro caso in cui la malattia risulta endemica `e quello che presenta valori β e γ molto distanti, cio`e l’infection rate `e di molto superiore al recovery rate. Abbiamo settato i dui indici a volori pari a β = 0.05 e γ = 0.0003. 32
  • 35. 4 Epidemics Figura 4.9: Modello SIS applicato alla rete random Erd˝os–R´enyii, con un numero di iterazioni pari a 200 33
  • 36. 4 Epidemics Figura 4.10: Modello SIS applicato alla rete LastFM, con un numero di iterazioni pari a 200 I plot delle due reti non differiscono molto dai plot visti in precedenza, ma si nota un andamento molto pi`u lineare nelle due linne di tendenza di S e I, oltre che un evidente approssimarsi a zero dei nodi susceptible. Anche in questo caso il valore di soglia che determina l’inversione di tendenza fra le due curve S e I differisce nelle due reti: `e pari a t = 2 per la rete random e superiore a t = 7 nella nostra rete. In questo caso, quindi, con tali valori di β e di γ la malattia risulta fortemente endemica. 4.2.3 SIS model: Desease-Free Weak Il plot del modello SIS con valori di β e γ settati con valori paria a 0.005 e 0.1, `e molto simile al plot endemic weak, in quanto l’infection rate `e di poco pi`u elevato rispetto al recovery rate. 34
  • 37. 4 Epidemics Figura 4.11: Modello SIS applicato alla rete random Erd˝os–R´enyi, con un numero di iterazioni pari a 200 35
  • 38. 4 Epidemics Figura 4.12: Modello SIS applicato alla rete LastFM, con un numero di iterazioni pari a 200 Mentre per`o nella rete random i nodi infetti aumentano al decrescere di quelli suscettibili e l’andamento per entrambi presenta numerosi picchi ascendenti e discendenti, nella rete LastFM S e I risultano variare di poco nell’arco di iterazioni dal tempo t = 0 al tempo t = 200, ci`o conferma il cessare della malattia dopo un determinato numero di iterazioni. 4.2.4 SIS model: Desease-Free Strong Infine, per verificare il modello desease-free strong, abbiamo posto valori β e γ pari a, rispettivamente, 0.0003 e 0.05. 36
  • 39. 4 Epidemics Figura 4.13: Modello SIS applicato alla rete random Erd˝os–R´enyi, con un numero di iterazioni pari a 200 37
  • 40. 4 Epidemics Figura 4.14: Modello SIS applicato alla rete LastFM, con un numero di iterazioni pari a 200 Come possiamo notare dai plot di entrambe le reti non vi sono an- damenti paticolari e degni di nota, entrambe le curve dopo un aumento iniziale, nel cao di S, o di una diminuzione, nel caso di I, si mantengono pressoch`e costanti, con la tedenza del numero di nodi infected a raggiun- gere lo zero, a conferma dell’ipotesi inziale secondo cui se β < γ allora la malattia termina dopo un numero finito di iterazioni, in questo caso dopo un tempo compreso fra t = 50 e t = 100. 4.3 SIR model Il modello SIR8 descrive patologie in cui ogni individuo contrae il morbo solo una volta in tutta la vita: dopo essere stato contagiato il nodo viene rimosso o perch`e ha acquisito un’immunit`a perenne o perch`e non `e sopravvissuto alla malattia. Ogni nodo della popolazione, quindi, pu`o trovarsi in uno dei tre stati stati previsti: 8 David A. Easley, Jon M. Kleinberg: Networks, Crowds, and Markets - Reasoning About a Highly Connected World, Chapter 21, Epidemics, Cambridge University Press 2010 38
  • 41. 4 Epidemics ˆ Susceptible (S(t)): il nodo non `e ancora stato contagiato, ma `e esposto alla malattia tramite i vicini; ˆ Infected (I(t)): una volta contagiato il nodo risulta infetto e po- tenzialmente in grado di trasmettere il morbo ai vicini ancora nello stadio S; ˆ Removed (R(t)): dal momento che il nodo ha contratto la malattia viene rimosso dalla rete, in quanto non `e pi`u in grado di essere contagiato. L’epidemia, quindi, sar`a caratterizzata da vari stadi: ˆ un periodo iniziale in cui alcuni nodi si trovano nello stato I e tutti gli altri si trovano dello stato S; ˆ ogni nodo v che assume stato I, rimane infetto per un numero fisso di step tI; ˆ durante ognuno di questi step tI, v ha la probabilit`a p di trasmet- tere la malattia a ciascuno dei suoi vicini nello stato S; ˆ dopo un numero di step tI il nodo v non `e pi`u infetto o soggetto ad un nuovo contagio, il suo stato dunque passa da I a R, dal momento che risulta essere un nodo inerte all’interno della rete. L’equazione differenziale che descrive tale modello `e: dS dt = − βSI N (4.6a) dI dt = βSI N − γI (4.6b) dR dt = γI (4.6c) I risulatati di tale implementazione sono riportati nelle sottosezioni pre- senti di seguito. 4.3.1 SIR model: Endemic Weak Il primo caso preso in esame presente un infection rate β poco superiore al recovery rate γ: in particolare β = 0.075 e γ = 0.01. Con una iterazione dello script settata a 200, possiamo avere un quadro completo delle due reti e fare alcune osservazioni. 39
  • 42. 4 Epidemics Figura 4.15: Modello SIR applicato ad una rete random Erd˝os–R´enyi, con un numero di iterazioni pari a 200 40
  • 43. 4 Epidemics Figura 4.16: Modello SIR applicato alla rete LastFM, con un numero di iterazioni pari a 200 Nella rete random il repentino aumento dei nodi infected `e parallelo al calo dei nodi susceptible. Al tempo t = 2 il valore di S sar`a pari a 0, cio`e la maggior parte dei nodi sono stati contagiati e una minima parte risulta removed. Successivamente al decrescere di I si ha un parallelo aumento di R. Tale diminuzione dei nodi infetti porter`a ad un progressivo aumento di quelli rimossi, fino al tempo t = 70, in cui avremo in egual numero nodi infetti e nodi rimossi dalla rete. Infine come `e possibile evincere dal plot, ma anche implementando un maggior numero delle iterazioni, il numero degli infetti continuer`a a diminuire ma non arriver`a mai a 0, in quanto, seppur di non molto, l’infection rate risulta minore del recovery rate. Nella rete LastFM il diminuire dei susceptible `e meno repentino e pi`u lieve. La curva S non raggiunge mai lo 0 e si stabilizza prima di raggiun- gere un quarto delle iterazioni totali. Il valore dei nodi removed inizia a crescere in maniera progressiva a partire dal tempo t = 10 circa. Anche in questo caso, come nella rete random, possiamo notare sul lungo termine una diminuzione dei nodi infetti, valore che per`o non 41
  • 44. 4 Epidemics raggiunge mai lo zero. In entrambi i casi quindi ci troviamo di fronte a una malattia debol- mente endemica. 4.3.2 SIR model: Endemic Strong Per verificare un caso di malattia fortemente endemica, `e stato imple- mentato uno script python con valori pari a β = 0.0075 e γ = 0.0005. Figura 4.17: Modello SIR applicato ad una rete random Erd˝os–R´enyi, con un numero di iterazioni pari a 200 Come possiamo notare dal plot della rete random, dopo pochissimo tempo dall’inizio delle iterazioni il numero dei susceptible diminuisce ver- tiginosamente e va ad incrementare, altrettanto repentinamente, il nu- mero dei soggetti infected. Il numero dei nodi rimossi R, invece, aumenta in modo molto pi`u lento ma abbastanza costante. 42
  • 45. 4 Epidemics Figura 4.18: Modello SIR applicato alla rete LastFM, con un numero di iterazioni pari a 200 Il plot della rete LatFM non `e molto diverso da quello della rete ran- dom, in questo caso per`o il diminuire dei nodi suscettibili e l’aumentare di quelli infetti risulta meno improvviso e leggermente pi`u lento. Il valore di R, anche in questo caso, aumenta in maniera costante iterazione dopo iterazione. In generale possiamo sostenre che la malattia rappresentata con i valori dati a β e γ, si conferma fortemente endemica, con una linea di nodi in- fected che non si avvicina allo zero neanche dopo un numero di iterazioni pari a 200. 4.3.3 SIR model: Desease-Free Weak Il caso di una malattia cessata dopo un numero finito di iterazioni `e stato verificato con valori di β e di γ pari a, rispettivamente, 0.05 e 0.075. 43
  • 46. 4 Epidemics Figura 4.19: Modello SIR applicato ad una rete random Erd˝os–R´enyi, con un numero di iterazioni pari a 200 Dal plot della rete random, riportato di seguito, possiamo notare picchi repentini (t = 1) e discendenti di nodi susceptible contrapposti a picchi ascendenti di individui infetti. In questo caso, all’incirca ad un tempo pari a t = 70 S e I vanno a zero, mentre R = N. 44
  • 47. 4 Epidemics Figura 4.20: Modello SIR applicato alla rete LastFM, con un numero di iterazioni pari a 200 Nella rete LastFM possiamo notare come ad un picco massimo di nodi infected al tempo t = 10, circa, non corrisponda una picco minimo di nodi susceptible che, intorno all’iterazione t = 50 si stabilizzano al di sotto della soglia dei mille nodi fino alla fine del ciclo. Allo stabilizzarsi di I = 0 corrisponde un valore di R costante fino a t = 200. Al tempo t = 80, circa, possiamo dichiarare il cessare della malattia nella rete. Entrambi i casi verificano l’ipotesi iniziale, per cui se β < γ la malattia cesser`a dopo un numero finito di terazioni. 4.3.4 SIR model: Desease-Free Strong L’ultimo test riguarda l’implementazione del modello SIR nel caso di un cessare deciso della malattia, ovvero nel caso in in cui l’infection rate abbia un valore di molto inferiore al recovery rate: β = 0.0005 e γ = 0.075. 45
  • 48. 4 Epidemics Figura 4.21: Modello SIR applicato ad una rete random Erd˝os–R´enyi, con un numero di iterazioni pari a 200 46
  • 49. 4 Epidemics Figura 4.22: Modello SIS applicato alla rete LastFM, con un numero di iterazioni pari a 200 I plot delle due reti prese in considerazione non sono molto diversi: in entrambi i casi, infatti, la malattia non raggiunge mai un picco massimo superiore a S e cessa dopo un numero relatiamente basso di iterazioni, a conferma della probabilit`a molto bassa di contrarre la malattia. 4.4 Osservazioni generali Per quanto riguarda l’implementazione di modelli relativi alla diffusione delle malattie, abbiamo potuto osservare che mentre nella rete random Erd˝os–R´enyi un individuo pu`o contagiare ogni altro individuo in maniera omogenea, in quanto tutti i nodi hanno numero di contatti pari a < k >, la rete reale da noi osservata, in quanto scale-free, presenta una diffusione della malattia fortemente legata al variare del grado del nodo contagiato. Per questo motivo, dato che il numero di hub `e molto basso, la proba- bilit`a di contagio di un nodo con grado basso `e maggiore di quella di in- fettare un nodo molto connesso, ci`o impedisce alla malattia di diffondersi molto pi`u velocemente. 47