Ishodi učenja:
Izračunati i interpretirati više mjera centralnosti na istoj mreži.
Usporediti mjere (lokalne vs. globalne) i objasniti kada koja ima smisla.
Analizirati osjetljivost rangiranja na promjene strukture/težina veza.
Donijeti zaključke o utjecaju/moći uz ograničenja i alternative.
library(igraph)
library(ggraph)
library(tidygraph)
library(netrankr)
library(igraphdata)
library(tidyverse)
library(dplyr)
library(magrittr)
library(statnet)
library(psych)
U analizi mreža pojam centralnosti označava skup mjera kojima kvantificiramo “važnost” čvora ili veze u odnosu na strukturu mreže. Važno je odmah naglasiti da centralnost nije jedinstven koncept: različite mjere operacionaliziraju različite oblike važnosti. U jednoj mreži čvor može biti “važan” zato što ima mnogo neposrednih veza (lokalna popularnost), zato što je prosječno blizu svima (doseg), zato što povezuje inače slabije povezane dijelove mreže (posredovanje), ili zato što je uronjen u jezgru gusto povezanih aktera (ukorijenjenost u kohezivne strukture). Zbog toga se centralnosti gotovo uvijek interpretiraju komparativno:
Centralnosti se često dijele na lokalne i globalne. Lokalne mjere (npr. degree/strength) ovise pretežno o neposrednom susjedstvu čvora i zato su relativno robusne, ali mogu propustiti širu strukturnu sliku. Globalne mjere (npr. closeness, betweenness, spektralne i “walk-based” centralnosti) koriste informacije o cijeloj mreži i hvataju poziciju čvora u ukupnoj topologiji, ali mogu biti osjetljivije na nepovezanost, izolirane čvorove i izbor normalizacije. U primjeni je zato dobra praksa ne oslanjati se na jednu mjeru, nego koristiti “paket” mjera koje zajedno daju potpuniju sliku: tko je umrežen, tko brzo doseže druge, tko posreduje, tko je u jezgri, a tko ima strukturnu prednost u odnosima ovisnosti.
Pregled mjera centralnosti
Napomena: formule su dane u tipičnom obliku; normalizacije se mogu razlikovati po softveru i konvenciji. Kod mjera temeljenih na udaljenostima pretpostavlja se da je \(d(\cdot,\cdot)\) duljina najkraćeg puta.
| Mjera | Što mjeri (osnovna ideja) | Tipična formula | Kad je uputno koristiti (tip mreže / preduvjeti) |
Koju informaciju daje |
|---|---|---|---|---|
| Degree centrality | Lokalnu povezanost: broj neposrednih veza. | \[C_D(v)=k_v\] (neusmjerena) ; \[k_v^{in},,k_v^{out}\] (usmjerena) | Usmjerene i neusmjerene mreže; brza “prva slika” strukture. | “Tko ima najviše neposrednih kontakata” (popularnost, dostupnost resursa u 1 koraku). |
| Normalizirani degree | Udio ostvarenih veza od maksimalno mogućih. | \[C_D^{norm}(v)=\frac{k_v}{n-1}\] | Kad želimo uspoređivati mreže različite veličine ili vremenske presjeke. | Relativna povezanost (koliko % potencijalnih veza čvor ostvaruje). |
| Strength | Ukupni intenzitet veza (zbroj težina). | \[s_v=\sum_u w_{vu}\] | Ponderirane mreže (komunikacija, transakcije, učestalost); u neponderiranoj je isto što i degree. | “Koliko je čvor ukupno ‘jak’ kroz intenzitet odnosa”, ne samo kroz broj veza. |
| Closeness | Efikasnost dosega: koliko je čvor prosječno blizu svima. | \[C_C(v)=\frac{1}{\sum_{u\neq v} d(v,u)}\] (često normalizirano s \(n-1\)) | Povezane mreže (ili najveća komponenta); oprez kod nepovezanih (beskonačne udaljenosti). | Potencijal brzog širenja/ koordinacije: “tko može brzo doći do svih”. |
| Harmonijska centralnost | “Blizinu” kroz zbroj recipročnih udaljenosti; stabilna i kad mreža nije povezana. | \[C_H(v)=\sum_{u\neq v}\frac{1}{d(v,u)} \\ \frac{1}{\infty}=0\] | Kad postoji nepovezanost ili želimo robusniju varijantu closeness. | Slična poruka kao closeness, ali tolerantna na nedosežne čvorove. |
| Betweenness | Posredovanje po najkraćim putovima: koliko često čvor leži između drugih. | \[C_B(v)=\sum_{s\neq v\neq t}\frac{\sigma_{st}(v)}{\sigma_{st}}\] | Kad je važna kontrola tokova / brokerska pozicija; osjetljivo na promjene bridova. | “Tko spaja blokove” i “tko kontrolira prolaz” (brokeri, strukturne rupe). |
| Edge betweenness | Posredovanje bridova: koji su bridovi važni kanali povezivanja. | \[C_B(e)=\sum_{s\neq t}\frac{\sigma_{st}(e)}{\sigma_{st}}\] | Za traženje mostova, rezova, bridova čije uklanjanje najviše mijenja strukturu; korisno uz community detection. | “Koje veze drže mrežu na okupu” i gdje su potencijalne točke loma. |
| Current-flow betweenness | Posredovanje kad se tok raspodjeljuje kroz više ruta (ne samo najkraće). | \[C_B^{CF}(v)=\sum_{s<t} I^{st}(v)\] | Kad proces sliči difuziji/ raspodijeljenom toku; računski zahtjevnije; dobro kao robusnija alternativa shortest-path betweenness. | “Tko je važan čak i kad postoje alternativne rute”. |
| Eigenvector centrality | Prestiž/ važnost kroz važnost susjeda (“važan je tko je povezan s važnima”). | \[\mathbf{x}=\lambda A\mathbf{x}\] ili \[x_i=\frac{1}{\lambda}\sum_j a_{ij}x_j\] | Smisleno kad važnost “dolazi” kroz jezgru; može biti problematično kod nepovezanih komponenti (ovisno o implementaciji). | Ugrađenost u elitnu jezgru; prestiž i “kvaliteta” susjedstva. |
| PageRank | Stacionarnu vjerojatnost slučajnog hoda s teleportacijom. | \[\mathbf{p}=\alpha P^\top\mathbf{p}+(1-\alpha)\frac{1}{n}\mathbf{1}\] | Izvorno za usmjerene mreže, ali radi i za neusmjerene; stabilno zbog teleportacije. | Dugoročna “posjećenost”; globalna važnost uz ublažavanje dominacije jezgre. |
| HITS (hub/authority) | Dvije komplementarne važnosti u usmjerenim mrežama (tko upućuje vs. tko prima). | \[\mathbf{a}=A^\top\mathbf{h},;;\mathbf{h}=A\mathbf{a}\] | Primarno usmjerene mreže (web, citati); u neusmjerenoj se hub i authority poklapaju. | Razlikuje “kuratore” (hub) i “autoritete” (authority) u sustavima poveznica. |
| Katz centrality | Sve šetnje prema čvoru, s penalizacijom duljine; svi dobivaju bazni input. | \[\mathbf{x}=\alpha A\mathbf{x}+\beta\mathbf{1}=(I-\alpha A)^{-1}\beta\mathbf{1}\] | Kad želimo uključiti i indirektne veze, ali kontrolirano; parametrizacija \(\alpha\) je važna. | Globalni doseg kroz mnoge rute; akumulacija indirektne povezanosti. |
| Alfa (Bonacich) centrality | Kombinira endogenu mrežnu važnost i egzogeni input (npr. bogatstvo). | \[\mathbf{x}=\alpha A\mathbf{x}+\mathbf{e}=(I-\alpha A)^{-1}\mathbf{e}\] | Kad postoji smislen vanjski resurs (wealth, status) koji želimo ugraditi u centralnost. | “Mreža + resurs”: tko je važan jer je dobro pozicioniran i/ ili jer ima početni kapital. |
| Power centrality (Bonacich power) | Relacijsku moć kroz ovisnost: moć može rasti i povezivanjem s onima koji imaju malo alternativa. | (ovisno o definiciji/ parametru) spektralna forma s \(\beta\) koja mijenja interpretaciju | Smisleno u mrežama razmjene/ ovisnosti; interpretacija snažno ovisi o parametru i teoriji. | Strukturna moć (tko “dobiva” jer su drugi ovisni), nije isto što i popularnost. |
| Subgraph centrality | Uključenost u lokalne cikluse/ podgrafove; naglašava kratke zatvorene šetnje. | \[C_S(v)=(e^A)*{vv}\] gdje je \[e^A=\sum*{k=0}^\infty \frac{A^k}{k!}\] | Kad želimo mjeriti ukorijenjenost u kohezivne strukture (klike, ciklusi); prikladno za jezgru. | “Koliko je čvor upleten u gustu lokalnu strukturu” (kohezija, jezgra). |
Za ovu lekciju koristit ćemo malu mrežu Obitelji iz Firence (Florentine families). Mreža ima 16 čvorova, veze su brakovi među elitnim obiteljima renesansne Firence. Dovoljno je mala da se sve vidi, a dovoljno strukturirana da centralnosti “imaju smisla” (posrednici, klike, jezgra/ periferija).
Povjesničari (i politički sociolozi koji su radili s povijesnim izvorima) nastojali su objasniti kako je nepoznata i “nova” obitelj došla na čelnu poziciju u Firenci. Uzeli su arhivske podatke o brakovima, poslovnim partnerstvima i političkim ulogama, pretvorili ih u mreže i onda pokazali da Medici imaju strukturnu poziciju koja objašnjava kako se “nova” obitelj mogla pretvoriti u politički centar.
U tadašnjoj Firenci postojale su stare, etablirane elite i velike kuće (npr. Strozzi i sl.) koje su po bogatstvu, uglednim funkcijama i “vidljivoj” reputaciji bile barem jednako jake ili jače. Velike kuće često ispadnu više “zatvorene” u vlastiti blok: puno veza, ali većinom unutar iste elite/ frakcije. To daje snagu, ali i krutost. Kad se nacrta mreža brakova i poslovnih veza među elitnim obiteljima, ispadne da je Medici-pozicija tipična za mostove/brokere:
nisu nužno čvor s najviše veza (degree),
ali su često čvor kroz koji prolaze najkraći putevi između različitih blokova (visoka betweenness),
i nalaze se na spoju više “svjetova” (multiplex: brakovi + poslovanje + patronat/politika), što stvara strukturne rupe koje oni mogu premošćivati.
U jeziku mreža: Medici spajaju frakcije koje se inače ne bi lako povezale (stare vs. nove kuće, različiti klanovi), pa postaju “nezamjenjivi” za koordinaciju.
Pozicija mosta (brokera) donosi tri ogromne prednosti:
Informacije: prvi saznaju tko s kim pregovara, gdje su pukotine, tko mijenja stranu.
Posredovanje i uvjetovanje: mogu povezati A i B, ali pod uvjetima koji njima odgovaraju (usluge, dugovi, patronat).
Koalicijska fleksibilnost: mogu danas surađivati s jednom stranom, sutra s drugom, a da ne izdaju identitet jedne frakcije — jer su pozicionirani između, a ne u jednom bloku.
Padgett & Ansell taj stil opisuju kao “robust action”: djelovanje koje je stabilno jer ne ovisi o jednoj krutoj ideologiji ili jednoj frakciji, nego o sposobnosti da se u hodu slažu koalicije kroz mrežne veze.
Ono što je posebno u florentinskom primjeru je da veze nisu samo jedne vrste. Skup podataka i interpretacije naglašavaju višeslojnost (brakovi i poslovne veze; u širem istraživanju i političko-patronatske veze). To znači da čak i ako u jednom sloju nisu ekstremno centralni, kombinacija slojeva može ih postaviti u čvorište kroz koje se prelama suradnja, povjerenje i krediti (doslovno i metaforički).
U R-u je dostupna preko paketa netrankr, ali u pitanju
je samo mreža brakova (poslovna mreža ovdje nije uključena).
# 1) učitavanje
flo <- florentine_m
glimpse(flo)
## Class 'igraph' hidden list of 10
## $ : num 16
## $ : logi FALSE
## $ : num [1:20] 8 5 6 8 4 8 6 10 14 10 ...
## $ : num [1:20] 0 1 1 1 2 2 3 3 3 4 ...
## $ : num [1:20] 4 1 2 6 11 0 3 5 7 9 ...
## $ : num [1:20] 0 1 2 3 4 5 6 7 8 9 ...
## $ : num [1:17] 0 0 0 0 0 1 2 4 5 8 ...
## $ : num [1:17] 0 1 4 6 9 11 11 13 13 16 ...
## $ :List of 4
## ..$ : num [1:3] 1 0 1
## ..$ : Named list()
## ..$ :List of 2
## .. ..$ name : chr [1:16] "Acciaiuol" "Albizzi" "Barbadori" "Bischeri" ...
## .. ..$ wealth: int [1:16] 10 36 55 44 20 32 8 42 103 48 ...
## ..$ : list()
## $ :<environment: 0x000001c61281b628>
flo[9]
## Acciaiuol Albizzi Barbadori Bischeri Castellan Ginori Guadagni Lambertes
## 1 1 1 0 0 0 0 0
## Medici Pazzi Peruzzi Pucci Ridolfi Salviati Strozzi Tornabuon
## 0 0 0 0 1 1 0 1
# Osnovno: bez petlji i multiveza (radi konzistentnosti)
g <- simplify(flo)
# brzi uvid u mrežu
plot(g)
Vidimo da je obitelj Pucci izolirana od ostatka mreže. To je analitički važno jer:
mjere bazirane na udaljenostima pretpostavljaju da postoji put između čvorova, dok su u nepovezanoj mreži udaljenosti do izoliranih čvorova beskonačne
spektralne mjere mogu se izračunati i na nepovezanoj mreži, ali se interpretacija mijenja: izolirani čvor dobiva minimalnu vrijednost “po definiciji”, a usporedba rangova postaje djelomično artefakt.
S obzirom da, osim što želimo prikazati izračun mjera centralnosti, želimo ih i usporediti na istoj mreži i pritom imati konzistentne rangove i interpretacije, koristit ćemo najveću povezanu komponentu (engl. giant component). To znači da ćemo izdvojiti obitelj Pucci iz mreže koju koristimo u nastavku.
g <- delete_vertices(g, V(g)[igraph::degree(g) == 0]) # ako smo učitali više paketa
# koji imaju iste nazive naredbi
# moramo precizirati koji paket koristimo
# zbog toga: igraph::degree(g)
plot(g)
Polazište lokalnih centralnosti jest da se “važnost” aktera najprije može promatrati kroz ono što je neposredno vidljivo u mreži: koliko akter ima veza i koliki je ukupni intenzitet tih veza. Ovakav pristup pretpostavlja da se resursi, informacije ili utjecaj često prenose preko neposrednih kontakata, pa je broj izravnih veza najjednostavnija aproksimacija dostupnosti resursa “u jednom koraku”. Prednost ovih mjera je robustnost i interpretacijska transparentnost: minimalno ovise o ostatku topologije, ne oslanjaju se na pretpostavke o kretanju kroz mrežu i često su stabilne na manje promjene u strukturi.
Matematička podloga je jednostavna aritmetika. Stupanj čvora je broj bridova incidentnih čvoru, tj. broj susjeda. U usmjerenim mrežama isti princip se razdvaja na ulazni i izlazni stupanj (tko prima veze i tko ih šalje), čime se dobiva drugačija interpretacijska semantika (npr. “popularnost” vs. “aktivnost”). U ponderiranim mrežama stupanj se generalizira u snagu (strength), koja zbraja težine svih veza čvora. Time se umjesto same prisutnosti odnosa uvažava njegov intenzitet (učestalost, iznos, trajanje), pa dva aktera s jednakim brojem veza mogu imati vrlo različitu ukupnu uključenost u mrežu.
Iz ovih izračuna proizlazi interpretacija lokalne “uključenosti”: tko je najviše umrežen, tko ima najveći zbroj intenziteta odnosa i koliko je mreža heterogena u raspodjeli neposrednih veza. Međutim, lokalne mjere same po sebi ne govore o strukturnoj ulozi aktera u povezivanju grupa niti o njegovoj poziciji u globalnoj topologiji.
Centralnost prema stupnju čvora predstavlja najjednostavniju i intuitivno najjasniju mjeru centralnosti. Temelji se na ideji da je čvor važan ako ima velik broj neposrednih veza s drugim čvorovima. Drugim riječima, mjeri lokalnu povezanost aktera u mreži.
U neusmjerenom grafu centralnost prema stupnju definira se kao:
\[ C_D(v) = k_v, \]
gdje je \(k_v\) broj susjeda čvora \(v\), odnosno broj bridova incidentnih tom čvoru.
U usmjerenom grafu razlikujemo ulazni i izlazni stupanj:
\[ k_v^{in} = \text{broj ulaznih veza u čvor } v, \]
\[ k_v^{out} = \text{broj izlaznih veza iz čvora } v. \]
Temeljna ideja mjere može se sažeti ovako:
Čvor je važan ako je neposredno povezan s mnogima.
Za razliku od globalnih mjera, centralnost prema stupnju ne uzima u obzir cjelokupnu strukturu mreže niti udaljenosti između čvorova, nego isključivo neposredno susjedstvo. Upravo zbog te lokalne prirode, degree centralnost često se koristi kao početna referentna točka u analizi mreža.
deg <- igraph::degree(g, mode = "all", normalized = FALSE)
deg
## Acciaiuol Albizzi Barbadori Bischeri Castellan Ginori Guadagni Lambertes
## 1 3 2 3 3 1 4 1
## Medici Pazzi Peruzzi Ridolfi Salviati Strozzi Tornabuon
## 6 1 3 3 2 4 3
Degree nam može reći puno više od toga “koliko je pojedini čvor povezan”. Putem statističkih pokazatelja o stupnju čvora dobivamo uvide kako je mreža u cjelini strukturirana.
summary(deg)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1.000 1.500 3.000 2.667 3.000 6.000
Naredba summary() iza paketa base je
generička funkcija koja sažima rezultate. Kad ju primijenimo na vektor
ili podatkovni okvir (data.frame), rezultira sažetkom
statističkih pokazatelja u obliku Tukey-evih 5 brojeva i prosjekom.
Analiza stupnjeva pokazuje da se broj neposrednih veza po obitelji kreće od 1 do 6, uz prosječnu vrijednost 2.67 i medijan 3. To znači da obitelji prosječno imaju oko tri braka s drugim elitnim kućama, što upućuje na umjerenu razinu povezivanja u mreži.
Interkavrtil, razlika trećeg i prvog kvartila, ukazuje na to da središnjih 50% obitelji ima više od 1.5 i manje od 3 veze. Polovica promatranih čvorova ima 3 veze ili manje od toga, a polovica ima 3 veze ili više od toga (medijan). Četvrtina promatranih čvorova ima 1.5 veza ili manje od toga, dok preostale tri četvrtine imaju barem 1.5 (tj. 2, ako zaokružimo) veze. 75% čvorova ima 3 veze ili manje od toga, a preostalih 25% čvorova ima 3 veze ili više od toga.
describe(deg)
## vars n mean sd median trimmed mad min max range skew kurtosis se
## X1 1 15 2.67 1.4 3 2.54 1.48 1 6 5 0.56 -0.18 0.36
Funkcija describe() dolazi iz paketa psych.
Pruža pregled pokazatelja deskriptivne statistike za uneseni argument.
Argument može biti vektor, matrica ili podatkovni okvir.
U kontekstu mreže od 15 čvorova (nakon uklanjanja izoliranog čvora Pucci), maksimalan mogući stupanj bio bi 14. Najveća opažena vrijednost (6) znatno je niža od tog maksimuma, što pokazuje da mreža nije ekstremno centralizirana oko jednog čvora. Standardna devijacija od 1.4 znači da broj veza standardno odstupa od prosjeka (2.67) za 1.4 veze, što sugerira umjerenu raznolikost u povezanosti — postoje razlike među obiteljima, ali nisu drastične.
Medijan (3) je nešto viši od prosjeka (2.67), što sugerira blagu asimetriju distribucije. To potvrđuje i pozitivna vrijednost koeficijenta asimetrije (skew = 0.56).
Pozitivna asimetrija znači da postoji nekoliko obitelji s višim brojem veza koje “vuku rep” distribucije udesno. Drugim riječima, većina obitelji ima 1–3 veze, dok manji broj obitelji ima osjetno više veza. To nije ekstremna koncentracija, ali pokazuje početke hijerarhijske diferencijacije.
Koeficijent asimetrije (0.56) upućuje na blagu pozitivnu asimetriju, dok kurtoza ili koeficijent zaobljenosti od -0.18 pokazuje da je distribucija vrhom blago zaobljenija (spljoštenija) od normalne, ali nije izrazito spljoštena niti su krakovi distribucije izrazito teški.
Drugim riječima, ne vidimo izdvojenice (drugi naziv - ekstreme, engl. outlieri) niti jaku koncentraciju oko jedne vrijednosti. Struktura je relativno stabilna i bez dramatičnih odstupanja.
Navedeno možemo i vidjeti na histogramu.
hist(deg)
Vizualizacija
v_size <- deg*10
plot.igraph(g, layout = layout_nicely, vertex.size = v_size)
Kako promatramo mrežu u kojoj je veličina čvora određena stupnjem?
U ovom prikazu veličina čvora proporcionalna je njegovu stupnju (broju neposrednih veza). Time se vizualno kodira lokalna centralnost: veći čvorovi imaju više izravnih brakova s drugim obiteljima.
Što nam prvo upada u oči?
Prvo što vizualno dominira jest čvor Medici, koji je uočljivo veći od ostalih. To odmah sugerira da Medici imaju najveći broj neposrednih veza u mreži. Vizualna dominacija nije samo estetski efekt — ona odražava numerički maksimum stupnja (6 veza).
Drugo, uočavamo nekoliko srednje velikih čvorova (npr. Guadagni, Strozzi), koji su povezani s više obitelji, ali ne dominiraju mrežom. Oko njih se formira svojevrsna “polucentralna zona”.
Treće, vidimo niz manjih čvorova na periferiji (npr. Acciaiuol, Lambertes, Ginori, Pazzi), koji imaju samo jednu vezu. Oni su strukturno ovisni o centralnijim obiteljima jer im je pristup ostatku mreže posredovan kroz jednog susjeda.
Kako čitamo strukturu, a ne samo veličinu čvora?
Kod vizualne interpretacije važno je razlikovati tri stvari:
Veličinu čvora – lokalna količina veza
Položaj čvora u prostoru grafa – rezultat layout algoritma
Gustoću veza oko čvora – indikacija klasterske strukture
Iako layout (npr. Fruchterman–Reingold) pozicionira čvorove tako da povezani budu bliže, on nije geometrijski dokaz centralnosti, nego heuristička aproksimacija.
Primjećujemo da je Medici smješten relativno centralno u prostornom smislu, što se poklapa s njegovim visokim stupnjem. Međutim, prostorna centralnost nije nužno isto što i strukturna centralnost — to ćemo vidjeti kod drugih mjera.
Što nam raspodjela veličina govori o mreži?
Vizualno možemo zaključiti:
Ne postoji jedan ekstremni super-čvor koji bi bio višestruko veći od svih ostalih.
Postoji umjerena hijerarhija: nekoliko srednje velikih čvorova i veći broj manjih.
Mreža nije zvjezdasta (star network), nego ima jezgru od nekoliko povezanijih obitelji.
To je u skladu s ranijom numeričkom analizom: stupnjevi variraju, ali ne radikalno. Medici imaju najviše veza, ali razlika nije toliko velika da bi sama po sebi objasnila političku dominaciju.
Što možemo zaključiti o moći iz ovog prikaza?
Iz ove vizualizacije možemo reći:
Medici imaju najveći lokalni društveni kapital (najviše neposrednih saveza).
Postoje alternativni centri (npr. Guadagni, Strozzi), što znači da mreža nije monolitna.
Periferni akteri imaju ograničen manevarski prostor jer su ovisni o jednoj vezi.
Međutim, ne možemo zaključiti:
Tko kontrolira tok informacija.
Tko povezuje inače nepovezane skupine.
Tko je nezamjenjiv u strukturi.
Za to su potrebne globalne mjere (koje ćemo proći u kasnijim poglavljima).
Kako metodološki promatramo grafički prikaz mreže?
Prilikom interpretacije mreže s kodiranom veličinom čvora preporučljivo je ići ovim redoslijedom:
Uočiti ekstremne vrijednosti (najveći i najmanji čvorovi).
Promatrati jesu li veliki čvorovi međusobno povezani.
Identificirati periferiju i eventualne mostove.
Usporediti vizualni dojam s numeričkim pokazateljima.
Vizualna analiza nikada ne zamjenjuje numeričku, ali može:
potvrditi nalaze,
otkriti neočekivane obrasce,
poslužiti kao heuristički alat za hipoteze.
Normalizirani stupanj čvora predstavlja skaliranu verziju degree centralnosti. Budući da apsolutni broj veza ovisi o veličini mreže, korisno je stupanj izraziti u odnosu na maksimalan mogući broj veza koje čvor može imati. Time se omogućuje usporedba između mreža različitih veličina.
Matematički, normalizirani stupanj definira se kao:
\[ C_D^{norm}(v) = \frac{k_v}{n - 1}, \]
gdje je:
Budući da čvor može biti povezan s najviše \(n - 1\) drugih čvorova, normalizirana vrijednost uvijek se nalazi u intervalu \([0,1]\).
Temeljna ideja mjere može se sažeti ovako:
Koliki udio svih mogućih veza čvor doista ostvaruje?
Za razliku od apsolutnog stupnja, koji daje broj veza, normalizirani stupanj omogućuje relativnu interpretaciju povezanosti, što je osobito korisno kod usporedbe različitih mreža ili različitih vremenskih presjeka iste mreže.
deg_n <- igraph::degree(g, normalized = TRUE)
deg_n
## Acciaiuol Albizzi Barbadori Bischeri Castellan Ginori Guadagni
## 0.07142857 0.21428571 0.14285714 0.21428571 0.21428571 0.07142857 0.28571429
## Lambertes Medici Pazzi Peruzzi Ridolfi Salviati Strozzi
## 0.07142857 0.42857143 0.07142857 0.21428571 0.21428571 0.14285714 0.28571429
## Tornabuon
## 0.21428571
Ovdje vidimo rezultat normalizacije. Normalizirani degree ne možemo više izravno iščitavati kao broj veza između čvorova. Ovakav pristup nam omogućuje usporedbu u odnosu na maksimalan broj mogućih veza (n−1 = 14). Preciznije, normalizirani stupanj čvora daje udio ostvarenih veza od svih mogućih veza. Vrijednosti se kreću od:
0.07 (1 veza od mogućih 14, Pazzi)
do 0.43 (6 veza od mogućih 14, Medici)
summary(deg_n)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.07143 0.10714 0.21429 0.19048 0.21429 0.42857
Prosječna normalizirana vrijednost iznosi 0.19, što znači da prosječna obitelj ostvaruje oko 19% mogućih brakova unutar elite.
Najvišu vrijednost ima Medici (0.43), što znači da su povezani s gotovo polovinom svih ostalih obitelji. Međutim, to još uvijek nije dominantna ili “zvjezdasta” pozicija — riječ je o relativno otvorenoj, ali ne monopolističkoj strukturi.
describe(deg_n)
## vars n mean sd median trimmed mad min max range skew kurtosis se
## X1 1 15 0.19 0.1 0.21 0.18 0.11 0.07 0.43 0.36 0.56 -0.18 0.03
Prosjek (0.19) i medijan (0.21) vrlo su blizu, što znači da distribucija nije snažno iskrivljena. Medijan je nešto viši od prosjeka, što – zajedno s pozitivnom asimetrijom (skew = 0.56) – potvrđuje postojanje nekoliko čvorova s relativno višim stupnjem koji blago povisuju rep distribucije.
U relativnim terminima, prosječna obitelj ostvaruje oko 20% svih mogućih veza, dok najpovezanija obitelj ostvaruje oko 43% maksimalnog potencijala povezivanja.
Standardna devijacija iznosi 0.10, što znači da se tipične vrijednosti nalaze unutar intervala od približno \(0 – 0.39\) (±2 SD od prosjeka - podsjetite se pravila Čebišova i Empirijskog pravila).
Raspon (0.36) pokazuje da postoji razlika između perifernih i centralnijih obitelji, ali ta razlika nije ekstremna. Najpovezaniji čvor nije ni blizu teorijskog maksimuma (1), što znači da mreža nema dominantnu “zvjezdastu” strukturu.
hist(deg_n)
Oblik distribucije možemo već naslutiti iz vrijednosti asimetrije (0.56), koja je jednaka onoj za nenormalizirani stupanj, što je i očekivano jer je riječ o linearnoj transformaciji istih podataka.
Kurtozs (-0.18) pokazuje da distribucija nema izražene ekstremne vrijednosti (nije leptokurtična), što upućuje na relativno umjerenu disperziju bez radikalnih odstupanja.
Vizualizacija
v_size <- deg_n*100
plot.igraph(g, layout = layout_nicely, vertex.size = v_size)
U ovom prikazu veličina čvora određena je normaliziranim stupnjem, odnosno udjelom ostvarenih veza u odnosu na maksimalno moguće veze \((n−1)\). Budući da je normalizacija linearna transformacija običnog stupnja, strukturalni odnos među čvorovima ostaje isti, ali interpretacija prelazi iz apsolutnih u relativne vrijednosti.
Vizualno ponovno uočavamo da je Medici najveći čvor, što znači da ostvaruje najveći udio mogućih saveza (oko 43%). Također se vidi da većina obitelji ima relativno slične, umjerene veličine čvorova, što potvrđuje da je mreža diferencirana, ali ne ekstremno centralizirana. Periferni akteri (s jednom vezom) sada su jasno identificirani s minimalnim udjelom, što naglašava njihovu strukturnu ovisnost o centralnijim obiteljima. Drugim riječima, graf pokazuje istu hijerarhiju kao i kod nenormaliziranog stupnja.
Normalizirani stupanj omogućuje nam da interpretaciju premjestimo iz apsolutnih brojeva u relativne brojeve - proporcije:
Prosječna obitelj povezana je, otprilike, s petinom elite.
Najpovezanija obitelj povezana je s manje od polovice elite.
Većina obitelji koncentrirana je u uskom intervalu relativne povezanosti.
To potvrđuje raniji zaključak: mreža pokazuje umjerenu diferencijaciju, ali ne i ekstremnu centralizaciju.
Drugim riječima, iako Medici imaju najveći broj neposrednih veza, njihova prednost u degree centralnosti nije toliko dramatična da bi sama po sebi objasnila političku dominaciju.
To nas prirodno vodi prema globalnijim mjerama koje hvataju poziciju u strukturi, a ne samo broj neposrednih kontakata. No, prvo ćemo još analizirati snagu čvora.
Snaga čvora (strength) proširuje ideju stupnja čvora na ponderirane mreže. Dok degree centralnost mjeri broj veza, snaga mjeri ukupni intenzitet povezanosti, uzimajući u obzir težine veza.
Matematički, snaga čvora definira se kao:
\[ s_v = \sum_{u} w_{vu}, \]
gdje je:
Temeljna ideja mjere može se sažeti ovako:
Čvor je važan ako ima snažne ili intenzivne veze, čak i ako ih nema mnogo.
U neponderiranoj mreži, gdje sve veze imaju težinu 1, snaga je numerički jednaka stupnju čvora. Ipak, konceptualno je korisno razmatrati strength zasebno jer u općem slučaju omogućuje analizu intenziteta odnosa (npr. broj transakcija, učestalost komunikacije, iznos kredita), a ne samo njihovu prisutnost.
# Ako nema weights, igraph tretira kao NULL
str <- strength(g, mode = "all")
str
## Acciaiuol Albizzi Barbadori Bischeri Castellan Ginori Guadagni Lambertes
## 1 3 2 3 3 1 4 1
## Medici Pazzi Peruzzi Ridolfi Salviati Strozzi Tornabuon
## 6 1 3 3 2 4 3
Vrijednosti strength kreću se od 1 do 6. Najvišu vrijednost ima Medici (6), zatim Guadagni i Strozzi (4), dok nekoliko obitelji ima samo jednu vezu (Acciaiuol, Ginori, Lambertes, Pazzi).
To znači da je Medici povezan s najvećim brojem drugih obitelji putem brakova, odnosno da ima najveći neposredni društveni kapital u mreži. Međutim, razlika između Medici (6) i sljedeće skupine (4) nije dramatična u odnosu na maksimalni mogući broj veza (14), što upućuje na to da njihova lokalna dominacija nije apsolutna.
summary(str)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1.000 1.500 3.000 2.667 3.000 6.000
Prosječna vrijednost strength iznosi 2.67, a medijan 3. To znači da prosječna obitelj ostvaruje oko tri veze unutar elite. Bliska vrijednost prosjeka i medijana sugerira relativno uravnoteženu distribuciju bez snažnog pomaka prema ekstremima.
describe(str)
## vars n mean sd median trimmed mad min max range skew kurtosis se
## X1 1 15 2.67 1.4 3 2.54 1.48 1 6 5 0.56 -0.18 0.36
Standardna devijacija (1.4) pokazuje umjerenu varijabilnost. Razlike među obiteljima postoje, ali nisu izrazito velike. Raspon (5) ukazuje na strukturalnu raznolikost u povezivanju.
Koeficijent asimetrije (0.56) ukazuje na blagu pozitivnu asimetriju: postoji nekoliko obitelji s višim brojem veza koje odvlače desni krak distribucije. Negativna kurtoza (-0.18) sugerira da je distribucija vrhom blago zaobljenija od normalne, ali nije obilježena ekstremnim outlierima. Mreža pokazuje umjerenu, ali ne i ekstremnu hijerarhiju.
Histogram potvrđuje da je većina obitelji koncentrirana u rasponu 2–3 veze, dok je mali broj iznad toga.
hist(str)
Vizualizacija
v_size <- str*10
plot.igraph(g, layout = layout_nicely, vertex.size = v_size)
U ovom prikazu veličina čvora određena je snagom (strength), odnosno zbrojem težina svih veza koje čvor ima. Budući da je mreža neponderirana (svaka veza ima težinu 1), snaga je numerički jednaka stupnju, pa se rang čvorova ne mijenja u odnosu na prethodni graf. Razlika je isključivo interpretativna: ovdje veličina ne predstavlja samo broj kontakata, nego ukupni intenzitet povezanosti.
Vizualno ponovno dominira Medici, što potvrđuje da je ta obitelj
najintenzivnije povezana unutar mreže. Međutim, važno je naglasiti da
potencijalni dojam veće veličine u odnosu na prethodni graf proizlazi iz
layouta, a ne iz promjene mjere. Algoritam rasporeda
(layout_nicely) može promijeniti prostorni položaj čvorova
i time pojačati vizualni kontrast, iako su numeričke vrijednosti
iste.
Strukturno gledano, graf potvrđuje raniji zaključak: postoji jedan najpovezaniji čvor, nekoliko srednje povezanih aktera (npr. Guadagni, Strozzi) te skupina perifernih obitelji s minimalnim intenzitetom veza. Budući da je riječ o neponderiranoj mreži, strength ovdje ne donosi novu informaciju u odnosu na degree, ali konceptualno priprema teren za situacije u kojima veze imaju različite težine (npr. broj poslovnih transakcija, iznos kredita, učestalost interakcija).
Drugim riječima, ovaj graf ne mijenja naš zaključak o lokalnoj strukturi moći, nego potvrđuje da se Medici ističu po količini neposrednih odnosa, ali još uvijek ne znamo ništa o njihovoj ulozi u posredovanju ili kontroli strukture.
Zamislite da nas, umjesto pukog broja veza, zanima “doseg”: koliko brzo akter može doći do svih drugih i koliko je prosječno udaljen od ostatka sustava. Takvo pitanje već prelazi granice lokalnog susjedstva i uvodi mjere temeljene na udaljenostima.
Geodetske centralnosti polaze od pretpostavke da se mnogi procesi u mrežama mogu aproksimirati kretanjem po najkraćim putovima: informacije se prenose kroz minimalan broj posrednika, koordinacija je učinkovitija kada je “mrežna udaljenost” mala, a trošak dosega raste s brojem koraka. U tom okviru, važnost čvora nije određena samo brojem neposrednih veza nego njegovom prosječnom blizinom prema svima ostalima. Ovaj pogled je posebno koristan kada nas zanima efikasnost komunikacije, brzina širenja ili dostupnost cijelog sustava iz jedne točke.
Ključni matematički pojam ovdje je najkraći put (geodetska udaljenost) između dva čvora: minimalan broj bridova koji je potrebno prijeći da bi se stiglo od jednog čvora do drugog (u ponderiranim mrežama minimalna suma troškova/ udaljenosti, ovisno o definiciji težine). Closeness centralnost koristi udaljenosti od promatranog čvora do svih ostalih te ih agregira: što je ukupni zbroj udaljenosti manji, to je čvor “bliži” mreži i dobiva veću vrijednost centralnosti. Harmonijska centralnost uvodi robusniju varijantu istog načela tako da zbraja recipročne udaljenosti; time se izbjegava konceptualni problem nepovezanih mreža (nedosežni čvorovi se tretiraju kao nulti doprinos, umjesto da “ruše” mjeru).
Interpretacijski, geodetske mjere podupiru priču o efikasnosti dohvata: tko ima strukturnu prednost jer je “u prosjeku blizu” mnogima, tko je u prednosti, a tko ovisi o više posrednika te koliko je mreža “kompaktna” u smislu udaljenosti. No, ove mjere ne opisuju kontrolu nad tokovima: činjenica da je čvor blizu svima ne znači nužno da drugi moraju prolaziti kroz njega.
Konceptualno, closeness mjeri potencijal brzog dosega — koliko brzo čvor može doći do svih drugih aktera u mreži (ili koliko brzo informacija može krenuti od njega prema ostatku sustava). Matematički je to zadano kao:
\[ C_C(v)=\frac{1}{\sum_{u \neq v} d(v,u)} \]
Normalizirano: često se množi s \(n-1\).
gdje je:
\(v\) – promatrani čvor,
\(u\) – svi ostali čvorovi u mreži,
\(d(v,u)\) – duljina najkraćeg puta (geodetska udaljenost) između čvorova \(v\) i \(u\),
\(∑_{u≠v}d(v,u)\) – ukupna udaljenost čvora \(v\) do svih ostalih čvorova,
\(n\) je broj čvorova u mreži.
Napomena: kod nepovezanih grafova closeness zna biti problematičan (beskonačne udaljenosti).
Osnovna ideja mjere jest sljedeća:
Čvor je centralan ako je, u prosjeku, blizu svim ostalim čvorovima.
Što je zbroj udaljenosti manji, to je njegov recipročni iznos (closeness) veći.
Normalizirana verzija množi izraz s \((n−1)\), gdje je \(n\) broj čvorova u mreži. Time se vrijednosti skaliraju tako da budu usporedive između mreža različite veličine.
Ova interpretacija u skladu je s klasičnim definicijama centralnosti prema udaljenosti u teoriji kompleksnih mreža (npr. Freeman, 1979).
clo_k <- igraph::closeness(g, normalized = FALSE)
clo_k
## Acciaiuol Albizzi Barbadori Bischeri Castellan Ginori Guadagni
## 0.02631579 0.03448276 0.03125000 0.02857143 0.02777778 0.02380952 0.03333333
## Lambertes Medici Pazzi Peruzzi Ridolfi Salviati Strozzi
## 0.02325581 0.04000000 0.02040816 0.02631579 0.03571429 0.02777778 0.03125000
## Tornabuon
## 0.03448276
Vrijednosti clo_k kreću se od približno 0.02 do 0.04.
Najvišu vrijednost ima Medici (0.04), što znači da ima najmanji ukupni
zbroj udaljenosti do svih ostalih obitelji. Drugim riječima, Medici su,
u prosjeku, najbliže svim drugim akterima u mreži. Najnižu vrijednost
ima Pazzi (0.02), što znači da su strukturno najudaljeniji od ostatka
elite.
Važno je primijetiti da su apsolutne vrijednosti male jer predstavljaju recipročni iznos ukupnih udaljenosti — njihova numerička veličina nije intuitivna sama po sebi, nego je važna relativna usporedba.
clo_n <- igraph::closeness(g, normalized = TRUE)
clo_n
## Acciaiuol Albizzi Barbadori Bischeri Castellan Ginori Guadagni Lambertes
## 0.3684211 0.4827586 0.4375000 0.4000000 0.3888889 0.3333333 0.4666667 0.3255814
## Medici Pazzi Peruzzi Ridolfi Salviati Strozzi Tornabuon
## 0.5600000 0.2857143 0.3684211 0.5000000 0.3888889 0.4375000 0.4827586
Normalizirani closeness (clo_n) kreće se
od:
0.29 (Pazzi)
do 0.56 (Medici)
Prosječna vrijednost iznosi 0.42, a medijan 0.40. To znači da prosječna obitelj ostvaruje oko 42% maksimalno moguće blizine u mreži. Medici s vrijednošću 0.56 jasno odskaču od prosjeka. To potvrđuje da nisu samo najpovezaniji (po stupnju), nego su i strukturno najbliži ostatku mreže. Ridolfi (0.50), Albizzi (0.48) i Tornabuon (0.48) također su relativno blizu središtu mreže, dok Pazzi (0.29) i Lambertes (0.33) ostaju periferni.
describe(clo_n)
## vars n mean sd median trimmed mad min max range skew kurtosis se
## X1 1 15 0.42 0.07 0.4 0.41 0.1 0.29 0.56 0.27 0.12 -1 0.02
U našoj mreži normalizirane vrijednosti closeness centralnosti kreću se od 0.29 do 0.56, pri čemu prosjek iznosi 0.42, a medijan 0.4. Blizina tih dviju vrijednosti pokazuje da je distribucija relativno simetrična i da nema snažnog pomaka prema jednom dijelu raspona.
Standardno odstupanje od prosjeka od 0.07 ukazuje na umjerenu disperziju: razlike među obiteljima postoje, ali nisu ekstremne. Raspon od 0.27 sugerira da mreža ipak pokazuje diferencijaciju u strukturnoj blizini, no ta diferencijacija nije radikalna. Koeficijent asimetrije (0.12) vrlo je blizu nule, što znači da je distribucija gotovo simetrična, dok negativna kurtoza (−1) upućuje na blago spljošten oblik distribucije bez izraženih izdvojenica. Drugim riječima, closeness vrijednosti raspoređene su relativno ravnomjerno.
hist(clo_n)
Strukturna interpretacija tih rezultata postaje jasnija kada ih povežemo s grafičkim prikazom mreže. Vizualno se vidi da je Medici smješten u samom središtu grafa, s vezama koje se šire prema više dijelova mreže. To se odražava i u najvišoj closeness vrijednosti (0.56), što znači da Medici ima najmanju prosječnu udaljenost do svih ostalih obitelji. Nije riječ samo o velikom broju veza, nego o položaju koji omogućuje kratak put prema gotovo svakoj drugoj obitelji. S druge strane, Pazzi, koji ima najnižu closeness vrijednost (0.29), nalazi se na periferiji mreže i do većine ostalih aktera dolazi preko više posrednika. Vizualni dojam perifernosti tako se podudara s numeričkim pokazateljima udaljenosti.
v_size <- clo_n*100
plot.igraph(g, layout = layout_nicely, vertex.size = v_size)
Zanimljivo je primijetiti da razlike između najviših i srednjih vrijednosti (medijan, prosjek) nisu dramatične. Nekoliko obitelji (Ridolfi, Albizzi, Tornabuon) također se nalaze relativno blizu središta mreže, što znači da struktura nije organizirana oko jednog apsolutnog centra. Mreža pokazuje jezgru od nekoliko međusobno povezanih aktera, a Medici se unutar te jezgre ističe, ali ne u mjeri koja bi upućivala na potpunu dominaciju.
Closeness nam, dakle, otkriva nešto drukčije od degree centralnosti. Dok degree govori koliko neposrednih veza čvor ima, closeness govori koliko je čvor „udaljen” od ostatka strukture. U kontekstu političke dinamike Firence to znači da Medici nisu samo povezani s mnogima, nego su i strukturno pozicionirani tako da su brzo dostupni cijeloj eliti. To implicira potencijal za brzu koordinaciju, efikasno širenje informacija i kraće pregovaračke lance. Ipak, closeness ne govori ništa o tome koliko su drugi ovisni o tom čvoru — ona mjeri blizinu, ali ne i kontrolu.
Closeness centralnost naglašava efikasnost pristupa mreži, a ne broj neposrednih kontakata.
U kontekstu florentinskih obitelji to znači:
Medici nisu samo bogato umreženi, nego su i strateški pozicionirani tako da su blizu svim frakcijama.
Periferni akteri (npr. Pazzi) moraju prolaziti kroz više posrednika kako bi došli do ostatka elite.
Za obitelj Medici to implicira:
veći potencijal brzog širenja informacija,
kraće pregovaračke lance,
veću sposobnost koordinacije.
Međutim, closeness još uvijek ne mjeri kontrolu nad tokovima — samo prosječnu udaljenost.
Drugim riječima:
Closeness mjeri koliko je čvor blizu svim ostalim čvorovima.
Ne mjeri koliko su drugi ovisni o tom čvoru.
Za to nam je potrebna betweenness centralnost (obradit će se nešto kasnije u tekstu).
Za razliku od klasične closeness centralnosti, koja koristi recipročnu vrijednost zbroja udaljenosti, harmonijska centralnost zbraja recipročnе udaljenosti (slično kao harmonijska sredina). Time svaki drugi (povezani) čvor doprinosi mjeri promatranog čvora proporcionalno svojoj “blizini”: bliži čvorovi doprinose više, udaljeniji manje. Važna konvencija je \(\frac{1}{∞}=0\), što znači da čvorovi koji nisu dosežni ne doprinose sumi. Upravo zbog toga harmonijska centralnost ostaje stabilna i smisleno definirana i u nepovezanim mrežama, jer ne zahtijeva da su svi čvorovi međusobno povezani.
Matematički, harmonijska centralnost definira se kao:
\(C_H(v)=\sum_{u \neq v}\frac{1}{d(v,u)}\), uz konvenciju \(1/\infty = 0\).
pri čemu je \(v\) promatrani čvor, \(u\) bilo koji drugi čvor u mreži, a \(d(v,u)\) duljina najkraćeg puta između njih.
Napomena: stabilna je za nepovezane grafove.
har <- harmonic_centrality(g)
har
## Acciaiuol Albizzi Barbadori Bischeri Castellan Ginori Guadagni Lambertes
## 5.916667 7.833333 7.083333 7.200000 6.916667 5.333333 8.083333 5.366667
## Medici Pazzi Peruzzi Ridolfi Salviati Strozzi Tornabuon
## 9.500000 4.766667 6.783333 8.000000 6.583333 7.833333 7.833333
U ovoj mreži vrijednosti harmonijske centralnosti kreću se od 4.77 do 9.50, pri čemu najveću vrijednost ima Medici (9.50). To znači da čvor Medici, u prosjeku, ostvaruje najveći “zbroj bliskosti” prema svim ostalim obiteljima: mnoge druge obitelji su s njim ili neposredno povezane ili dosežne kroz vrlo kratak broj posrednika.
Sljedeću skupinu čine Guadagni (8.08) i Ridolfi (8.00), dok Albizzi, Strozzi i Tornabuon (7.83) također pripadaju strukturno bliskoj jezgri. Na suprotnom kraju nalazi se čvor Pazzi (4.77), što upućuje na periferni položaj: većina mreže od njega je udaljena kroz više koraka, pa su recipročne udaljenosti manje, a ukupna suma niža.
describe(har)
## vars n mean sd median trimmed mad min max range skew kurtosis se
## X1 1 15 7 1.26 7.08 6.98 1.11 4.77 9.5 4.73 -0.07 -0.81 0.33
Pokazatelji središnje tendencije i disperzije potvrđuju da mreža ima relativno jasnu jezgru, ali bez ekstremne polarizacije. Čvorovi imaju prosječnu harmonijsku centralnost 7.00, a medijan 7.08, što znači da je prosječan akter smješten oko središta distribucije bez naglašene asimetrije.
Standardno odstupanje od prosjeka za 1.26 ukazuje na umjerenu raspršenost, odnosno na postojanje razlika u strukturnoj blizini među obiteljima, ali ne u mjeri koja bi sugerirala izrazitu dominaciju jednog čvora nad ostatkom. Raspon od 4.73 pokazuje da postoji mjerljiva razlika između periferije i jezgre, ali koeficijent asimetrije od −0.07 govori da je distribucija gotovo simetrična. Negativna kurtoza (−0.81) upućuje na vrhom spljošteniju distribuciju, bez snažno izraženih izdvojenica, što je u skladu s vizualnim dojmom mreže koja ima nekoliko centralnijih aktera, ali ne i jednog “super-centra”.
hist(har)
Histogram harmonijske centralnosti pokazuje koncentraciju vrijednosti u srednjem rasponu, uz relativno malo čvorova na ekstremima. U ovom slučaju očekivano je da većina obitelji bude raspoređena oko 7, dok se manji broj nalazi na višim vrijednostima (jezgra) ili prema nižima (periferija).
v_size <- har*3
plot.igraph(g, layout = layout_nicely, vertex.size = v_size)
Strukturno, harmonijska centralnost ovdje nadopunjuje prethodnu analizu closeness centralnosti, ali s nešto drugačijim naglaskom. Dok closeness mjeri “prosječnu udaljenost” u smislu recipročnog zbroja udaljenosti, harmonijska centralnost nagrađuje čvorove koji imaju mnogo bliskih (kratko udaljenih) veza, pri čemu udaljeni čvorovi doprinose sve manje.
U grafičkom prikazu to znači da će veće čvorove dobiti akteri smješteni u jezgri mreže ili oni koji imaju dobar doseg prema većini mreže kroz mali broj koraka. Medici se, kao i ranije, ističe jer se nalazi u središtu strukture i jer mu je velik dio mreže dosežan uz malo posrednika. Pazzi ostaje periferni akter, vidljivo odvojen od jezgre, što se odražava u najmanjoj harmonijskoj centralnosti. Također, činjenica da nekoliko drugih obitelji (Guadagni, Ridolfi, Albizzi, Strozzi, Tornabuon) postiže relativno visoke vrijednosti sugerira da je mreža organizirana oko šire jezgre, a ne oko jedne jedine točke.
Prirodan sljedeći korak je postaviti pitanje o posredovanju: koji čvorovi (ili veze) predstavljaju uska grla i kojim kanalima “mora” prolaziti komunikacija između dijelova mreže. Zamislite da nas zanima ne samo koliko je netko blizu svima, nego i koliko je mreža o njemu ovisna za povezivanje različitih skupina. To vodi prema centralnostima temeljenima na posredovanju.
Mjere posredovanja formaliziraju ideju mosta ili “brokera” te strukturnih uskih grla. U mnogim društvenim i organizacijskim kontekstima ključna prednost ne proizlazi iz brojnosti veza niti iz prosječne blizine, nego iz činjenice da se putovi između drugih aktera često presijecaju u određenim čvorovima ili bridovima. Takvi akteri imaju potencijalnu kontrolu nad informacijama, pregovorima ili resursima, jer se nalaze na rutama koje povezuju inače slabije povezane dijelove mreže.
Najprije je potrebno uvesti pojam najkraćih putova između svih parova čvorova. Betweenness centralnost računa, za svaki par izvorišta i odredišta, koliko najkraćih putova postoji i koliki udio tih putova prolazi kroz promatrani čvor. Ako čvor često leži na tim putovima, dobiva visoku vrijednost jer “posreduje” između drugih. Analogno se definira edge betweenness: umjesto čvorova promatraju se veze koje nose velik udio najkraćih putova i time predstavljaju strukturno kritične kanale.
Flow-orijentirane varijante proširuju priču kada je nerealno pretpostaviti da se tok uvijek odvija isključivo po jednoj geodetskoj ruti. Current-flow betweenness uvodi analogiju električne mreže: tok se raspodjeljuje kroz sve dostupne putove, proporcionalno topologiji i “otporima”. Time se dobiva mjera koja nagrađuje čvorove koji ostaju važni i kada postoje alternativne rute, što je često realističnije za difuziju, širenje informacija, bolesti i paralelne komunikacijske kanale.
Interpretacijski, ove mjere omogućuju razlikovanje “popularnih” od “nezamjenjivih”: čvor s visokim stupnjem može biti lokalno snažan, ali ne mora biti kritičan za povezivanje skupina; nasuprot tome, čvor s umjerenim stupnjem može imati visoku betweenness jer spaja module. Tipičan empirijski obrazac je izrazita asimetrija betweenness distribucije: mali broj čvorova preuzima nerazmjerno velik dio posredovanja, što se često vidi i vizualno kada se čvorovi skaliraju po toj mjeri.
U mnogim mrežama ključna prednost ne proizlazi iz broja neposrednih veza niti iz prosječne blizine drugim čvorovima, nego iz pozicije na putovima koji povezuju različite dijelove mreže. Akter može imati umjeren broj veza, ali ako se nalazi na rutama kojima drugi moraju prolaziti kako bi međusobno komunicirali, njegova je strukturna uloga potencijalno presudna.
Matematički, betweenness centralnost definira se kao:
\[ C_B(v)=\sum_{s \neq v \neq t}\frac{\sigma_{st}(v)}{\sigma_{st}} \]
gdje je \(v\) promatrani čvor, \(s\) i \(t\) dva različita čvora u mreži (različita od \(v\)), \(\sigma_{st}\) ukupan broj najkraćih putova, a \(\sigma_{st}(v)\) broj tih najkraćih putova koji prolaze kroz \(v\).
Drugim riječima, betweenness mjeri koliko često se čvor nalazi na najkraćim putovima između drugih parova čvorova. Normalizirana verzija skalira vrijednosti tako da budu usporedive između mreža različite veličine.
Temeljna ideja mjere jest:
Čvor je centralan ako drugi moraju prolaziti kroz njega kako bi došli jedni do drugih.
Za razliku od degree ili closeness centralnosti, koje mjere količinu ili blizinu, betweenness mjeri kontrolu nad tokovima i potencijal posredovanja.
bet <- igraph::betweenness(g, normalized = TRUE)
bet
## Acciaiuol Albizzi Barbadori Bischeri Castellan Ginori Guadagni
## 0.00000000 0.21245421 0.09340659 0.10439560 0.05494505 0.00000000 0.25457875
## Lambertes Medici Pazzi Peruzzi Ridolfi Salviati Strozzi
## 0.00000000 0.52197802 0.00000000 0.02197802 0.11355311 0.14285714 0.10256410
## Tornabuon
## 0.09157509
Normalizirane vrijednosti betweenness centralnosti u ovoj mreži kreću se od 0 do 0.52. Najvišu vrijednost ima Medici (0.52), što znači da se na više od polovice normaliziranih najkraćih putova između drugih obitelji pojavljuje upravo Medici. Ta vrijednost znatno odskače od svih ostalih aktera.
Sljedeće po veličini su Guadagni (0.25) i Albizzi (0.21), dok ostale obitelji imaju umjereno niske vrijednosti. Nekoliko čvorova (Acciaiuol, Ginori, Lambertes, Pazzi) ima vrijednost 0, što znači da nikada ne sudjeluju kao posrednici na najkraćim putovima između drugih obitelji. Ti akteri mogu biti povezani, ali nisu strukturni mostovi.
describe(bet)
## vars n mean sd median trimmed mad min max range skew kurtosis se
## X1 1 15 0.11 0.14 0.09 0.09 0.11 0 0.52 0.52 1.68 2.5 0.04
Čvorovi u mreži ostvaruju prosječnu betweenness centralnost 0.11. Polovica čvorova ima betweenness centralnost 0.09 ili manju od toga, dok druga polovica ima 0.09 ili više. To znači da je tipični čvor relativno slabo uključen u posredovanje. Međutim, standardno odstupanje od prosjeka od 0.14 pokazuje da postoji izražena varijabilnost među akterima.
Oblik distribucije dodatno potvrđuje ovu asimetriju. Koeficijent asimetrije iznosi 1.68, što upućuje na izraženu pozitivnu asimetriju: većina čvorova ima niske vrijednosti, dok mali broj (konkretno, Medici) ima izrazito visoku vrijednost. Pozitivna kurtoza (2.5) pokazuje da distribucija je distribucija vrhom izduženija od normalne i ima izražen teški rep, odnosno, postoji jasna izdvojenica.
Histogram vizualno potvrđuje ovu strukturu: većina vrijednosti koncentrirana je u donjem dijelu raspona, dok jedan čvor značajno odskače. To je tipičan obrazac za mreže u kojima postoji strukturni most (broker).
hist(bet)
U vizualizaciji mreže s veličinom čvora proporcionalnom betweenness centralnosti jasno se vidi da je Medici strukturni most između različitih dijelova mreže. Iako nekoliko obitelji ima relativno velik broj neposrednih veza, one su često smještene unutar istih podgrupica čvorova. Medici, međutim, povezuje te grupe.
Grafički se može uočiti da se određeni “blokovi” obitelji oslanjaju na Medici kao točku povezivanja. Ako bi se taj čvor uklonio, struktura mreže postala bi znatno fragmentiranija. Upravo to je suština betweenness centralnosti: ne mjeri koliko ste povezani, nego koliko je mreža ovisna o vama.
Dok closeness centralnost pokazuje koliko je čvor blizu svima, betweenness pokazuje koliko su drugi ovisni o njemu. U kontekstu florentinskih obitelji to znači da Medici nisu samo dobro umreženi ili bliski drugima, nego imaju potencijal kontrolirati tok informacija, pregovora i koalicija između različitih frakcija.
Ova mjera najsnažnije podupire povijesnu interpretaciju o Medici kao brokerima. Njihova politička moć ne proizlazi samo iz količine veza, nego iz njihove pozicije na ključnim najkraćim putovima koji povezuju inače odvojene dijelove elite.
v_size <- bet*100
plot.igraph(g, layout = layout_nicely, vertex.size = v_size)
Navedeno će se prikazati vizualno. Kako bi izgledala mreža da se ukloni čvor Medici?
g_no_medici <- igraph::delete_vertices(g, "Medici")
plot(g_no_medici, layout = layout_nicely)
U vizualnom prikazu odmah postaje vidljivo da se mreža reorganizira. Veze koje su prethodno prolazile kroz Medici sada su izgubljene, a pojedine obitelji postaju slabije povezane ili se formiraju odvojene skupine. U usporedbi s izvornom mrežom, struktura bez Medici izgleda fragmentiranije i manje kohezivno. Time se povećava prosječna udaljenost između aktera, a potencijal za brzu koordinaciju i razmjenu informacija se smanjuje. Ovime se grafički potvrđuje ono što je betweenness centralnost numerički sugerirala: Medici nisu samo još jedan centralni čvor, nego ključna točka povezivanja različitih dijelova elite.
Ova ilustracija pokazuje razliku između lokalne i strukturne centralnosti. Čvor s visokim stupnjem može imati mnogo veza, ali njegovo uklanjanje ne mora nužno promijeniti globalnu strukturu. Nasuprot tome, uklanjanje čvora s visokom betweenness centralnošću može dovesti do znatnog poremećaja mreže jer prekida najkraće putove između skupina.
U kontekstu florentinske elite, ovaj prikaz podržava interpretaciju da je politička moć Medici proizlazila iz njihove uloge posrednika. Njihova pozicija omogućavala je povezivanje frakcija koje inače ne bi bile izravno povezane. Uklanjanjem tog mosta, mreža gubi dio svoje kohezije, što sugerira da je struktura bila u određenoj mjeri ovisna o tom akteru.
Edge betweenness centralnost definira se analogno čvorovskoj betweenness centralnosti, ali se umjesto čvorova promatraju bridovi. Za brid \(e\), mjera se može zapisati kao
\[C_B(e)=\sum_{s \neq t} \frac{ \sigma_{st}(e)}{\sigma_{st}}\]
gdje su \(s\) i \(t\) dva različita čvora u mreži, \(σ_{st}\) ukupan broj najkraćih putova između \(s\) i \(t\), a \(σ_{st}(e)\) broj tih najkraćih putova koji prolaze kroz brid e.
Temeljna ideja mjere može se sažeti ovako:
Brid je centralan ako preko njega prolazi velik dio najkraćih putova između drugih čvorova.
Za razliku od betweenness centralnosti čvorova, koja mjeri potencijal aktera za posredovanje, edge betweenness mjeri strukturnu važnost konkretne veze. Čvor može biti važan posrednik jer ima više alternativnih veza, ali pojedini brid može biti kritičan čak i ako njegovi krajnji čvorovi nisu najcentralniji u mreži.
U praktičnoj interpretaciji, bridovi s visokom edge betweenness:
Temeljna ideja edge betweenness može se sažeti ovako:
Brid je centralan ako predstavlja ključni kanal preko kojeg prolaze najkraće veze između mnogih parova čvorova.
Dok betweenness čvorova govori o kontroli aktera, edge betweenness govori o ranjivim ili ključnim vezama koje održavaju koheziju mreže.
ebet <- edge_betweenness(g)
ebet
## [1] 14.000000 14.000000 16.333333 22.333333 12.500000 18.500000 17.166667
## [8] 7.500000 8.333333 6.000000 5.500000 14.000000 12.833333 15.333333
## [15] 26.000000 12.833333 14.000000 4.500000 14.333333 5.000000
U našoj mreži edge betweenness vrijednosti kreću se od 4.5 do 26.0, uz prosjek 13.05 i medijan 14. To znači da je tipičan brid uključen u umjeren broj najkraćih putova, ali postoji nekoliko bridova koji su znatno važniji od prosjeka. Standardna devijacija od 5.71 pokazuje da se značaj bridova međusobno razlikuje; to je očekivano u mrežama koje imaju izraženije “kanale” povezivanja između dijelova strukture. Raspon od 21.5 dodatno potvrđuje da postoje bridovi koji su strukturno važniji od drugih.
describe(ebet)
## vars n mean sd median trimmed mad min max range skew kurtosis se
## X1 1 20 13.05 5.71 14 12.7 4.08 4.5 26 21.5 0.28 -0.48 1.28
Oblik distribucije edge betweenness ima blagu pozitivnu asimetriju: većina bridova nalazi se oko srednjih vrijednosti, dok manji broj ima povišene vrijednosti. Negativna kurtoza (−0.48) sugerira da distribucija nema izrazito “teške repove”, ali i da ekstremi postoje, no ne dominiraju do mjere kao kod betweenness centralnosti mjerene temeljem čvorova. Histogram to prikazuje kroz koncentraciju vrijednosti oko medijana, uz postupno rjeđe pojavljivanje većih vrijednosti.
hist(ebet)
Strukturna interpretacija edge betweenness centralnosti posebno je korisna jer fokus prebacuje s “ključnih aktera” na “ključne veze”. U kontekstu florentinskih obitelji to znači da ne promatramo samo koje su obitelji posrednici, nego koje su konkretne bračne veze potencijalne “točke loma” mreže. U vizualizaciji mreže trebali bismo očekivati da bridovi s najvećim vrijednostima leže na granici između gušće povezanih dijelova grafa. Takvi bridovi često povezuju periferne obitelji s jezgrom ili spajaju dvije relativno guste zone koje bi inače bile slabije povezane. Time edge betweenness pruža finiji uvid u to kako se kohezija mreže održava: ponekad je mreža ovisna o malom broju specifičnih veza, čak i kada ne postoji jedan apsolutno dominantan čvor.
E(g)$ebet <- ebet/3 # skalirano
plot.igraph(g, layout = layout_nicely, vertex.size = 15, edge.width = E(g)$ebet)
Temeljem grafa i edge betweenness izgleda kao da su dvije najvežnije veze one između Medici - Salvati i Medici - Albizzi. Važno je napomenuti da ovdje nije cilj identificirati “najvažniji brak” kao povijesnu činjenicu, nego pokazati što znači pojam strukturnog mosta na razini bridova. U sljedećoj lekciji, gdje ćemo se baviti kohezijom, zajednicama i strukturnim rupama, edge betweenness će se prirodno povezati s idejom mostova, rezova i razdvajanja mreže na module. Ovdje je već dovoljno uočiti da se značaj bridova ne raspodjeljuje ravnomjerno i da određene veze nose disproporcionalnu ulogu u održavanju kratkih putova kroz mrežu.
Strujna (engl. current-flow) betweenness centralnost proširuje ideju posredovanja tako da se mreža ne promatra kao sustav u kojem se “promet” odvija isključivo po najkraćim putovima, nego kao sustav u kojem se tok može raspodijeliti kroz više alternativnih ruta. Intuitivno, mrežu možemo zamisliti kao električnu mrežu u kojoj su bridovi otpornici, a između svakog para čvorova \(s\) i \(t\) “puštamo” jedinicu struje. Struja se tada raspodjeljuje kroz sve dostupne putove, pri čemu više toka prolazi kroz topološki povoljnije rute. Centralnost čvora \(v\) mjeri se kao očekivani (prosječni) iznos struje koja prolazi kroz \(v\) kada se takav tok razmatra za sve parove \((s,t)\).
Formalno, mjera se definira preko električne interpretacije grafa i Laplaceove matrice. Za svaki par \((s,t)\) moguće je odrediti tokove po bridovima, a zatim iz njih izvesti opterećenje čvorova. U tipičnoj notaciji zapisuje se kao:
\[ C_B^{CF}(v) = \sum_{s < t} I^{st}(v), \]
gdje je:
Temeljna ideja mjere može se sažeti ovako:
Čvor je centralan ako kroz njega prolazi velik dio ukupnog toka u mreži, čak i kada tok ima više alternativnih puteva.
U usporedbi s klasičnom betweenness centralnošću, koja broji najkraće putove, current-flow betweenness vrednuje čvorove koji su važni za povezivanje mreže čak i kada postoje brojne približno jednako dobre alternativne rute. Zbog toga se ova mjera često interpretira kao posredovanje u uvjetima difuzije, a ne stroge racionalne “najkraće putanje”.
g_tbl <- tidygraph::as_tbl_graph(g)
cfb <- g_tbl %>%
activate(nodes) %>%
mutate(cfb = centrality_betweenness_current()) %>%
pull(cfb)
cfb
## Acciaiuol Albizzi Barbadori Bischeri Castellan Ginori
## 0.000000e+00 4.822185e+01 2.856623e+01 3.794371e+01 3.178808e+01 3.677614e-15
## Guadagni Lambertes Medici Pazzi Peruzzi Ridolfi
## 6.677483e+01 4.579670e-15 1.090083e+02 5.551115e-16 2.358113e+01 3.857285e+01
## Salviati Strozzi Tornabuon
## 2.600000e+01 4.199338e+01 3.628146e+01
Dobivene vrijednosti current-flow betweenness centralnosti kreću se od 0 do približno 109. Najvišu vrijednost ima Medici (\(≈109.0\)), što znači da, kada se tok između parova obitelji promatra kao “raspoređena struja”, Medici preuzima najveći dio posredničkog opterećenja u mreži. Drugim riječima, čak i kada dopuštamo da se komunikacija, utjecaj ili “protok” ne odvija isključivo najkraćim putovima, Medici ostaje ključna točka kroz koju velik dio ukupnog toka prolazi.
Visoke vrijednosti imaju i Guadagni (\(≈66.8\)) te skupina aktera u rasponu otprilike 36–48 (npr. Albizzi, Strozzi, Ridolfi, Bischeri, Tornabuon). To sugerira da mreža nema samo jedan jedini kanal posredovanja: postoji nekoliko čvorova koji preuzimaju značajniji dio tokova, ali je Medici i dalje najupečatljiviji i strukturno najopterećeniji posrednik.
S druge strane, nekoliko obitelji ima vrijednosti vrlo blizu nule (npr. Acciaiuol; Ginori i Lambertes praktički 0, uz numeričke vrijednosti reda \(10^{-15}\) koje su posljedica računanja s pomičnim zarezom). Takvi čvorovi nisu relevantni kao posrednici u “tokovnom” smislu: njihovo uklanjanje ne bi značajno preusmjerilo tokove između drugih parova čvorova, jer se nalaze u perifernim dijelovima mreže ili su slabo uključeni u strukturalno važne veze.
describe(cfb)
## vars n mean sd median trimmed mad min max range skew kurtosis se
## X1 1 15 32.58 29.04 31.79 29.21 15.13 0 109.01 109.01 0.96 0.75 7.5
Deskriptivni pokazatelji upućuju na to da je distribucija current-flow betweenness vrijednosti izrazito heterogena. Prosjek iznosi oko 32.6, dok je medijan oko 31.8, što znači da medijalna vrijednost nije daleko od sredine, ali standardna devijacija od 29 otkriva veliku raspršenost. Raspon je vrlo širok (0 do 109), pa je jasno da se posrednička uloga ne raspoređuje ravnomjerno među obiteljima.
Koeficijent asimetrije od 0.96 ukazuje na umjerenu pozitivnu asimetriju, što znači da se većina čvorova nalazi u nižem i srednjem rasponu, dok manji broj čvorova doseže visoke vrijednosti. Pozitivna kurtoza (0.75) sugerira izraženiji vrh i izduženije repove nego kod normalne distribucije, što je u skladu s činjenicom da nekoliko čvorova preuzima disproporcionalno velik dio posredničkog opterećenja. Histogram dodatno potvrđuje da postoji koncentracija vrijednosti području nižih vrijednosti, uz jasnu prisutnost čvorova koji odskaču prema višim vrijednostima.
hist(cfb)
U vizualizaciji gdje je veličina čvora proporcionalna current-flow betweenness centralnosti ponovno se jasno izdvaja Medici kao dominantni posrednik. Ono što je metodološki zanimljivo jest da se ovdje “posredovanje” ne temelji samo na najkraćim putovima, nego na ukupnoj raspodjeli alternativnih ruta. Ako je unatoč toj raspodjeli Medici i dalje daleko najveći, to implicira da je njegova pozicija strukturno važna u dubinskom smislu: mreža nudi alternativne puteve, ali znatan dio njih i dalje prolazi kroz čvor Medici, što upućuje na postojanje uskih grla (engl. bottlenecks) u globalnoj strukturi.
v_size <- cfb/2
plot.igraph(g, layout = layout_nicely, vertex.size = v_size)
Istodobno, činjenica da nekoliko drugih obitelji ima povišene vrijednosti sugerira da posredovanje nije potpuno monopolizirano. Mreža ima više “sekundarnih kanala”, pa se dio tokova može preusmjeriti preko Guadagni ili Albizzi, osobito ako promatramo difuzne procese u kojima tok ne mora birati najkraću rutu. U tom smislu, current-flow betweenness centralnost daje nijansiraniju sliku od klasične betweenness: ne pita samo “tko leži na najkraćim putevima”, nego “tko ostaje važan čak i kad tok ima slobodu izbora”. U kontekstu povijesne interpretacije to podržava ideju da je moć obitelji Medici bila više od pukog broja veza: bila je utemeljena u poziciji koja strukturira protok između frakcija.
Zamislite da nas sada zanima prestiž ili “kvaliteta” povezanosti: nije jednako biti povezan s mnogo perifernih aktera ili s malo, ali vrlo utjecajnih aktera. Tada se prirodno prelazi na spektralne i walk-based mjere koje formaliziraju “važnost susjeda” i ugradnju u jezgru.
Spektralne i walk-based mjere polaze od toga da mrežna važnost nije samo zbroj lokalnih veza niti posredovanje po najkraćim rutama, nego rezultat cjelokupne strukture: tko je povezan s važnima, tko pripada jezgri gusto povezanih aktera i kroz koje se obrasce ponavljanih šetnji u mreži akumulira “vidljivost”. Ovaj okvir je posebno relevantan kada se utjecaj shvaća kao kumulativan i samo-pojačavajući: veze s centralnim akterima povećavaju status više nego veze s perifernima.
Temeljni matematički objekti ovdje su matrica susjedstva i njezina spektralna svojstva (svojstvene vrijednosti i svojstveni vektori). Eigenvector centralnost definira se tako da je centralnost čvora proporcionalna zbroju centralnosti njegovih susjeda; to stvara sustav jednadžbi čije rješenje odgovara vodećem svojstvenom vektoru matrice susjedstva. PageRank uvodi dodatnu pretpostavku slučajnog hoda s teleportacijom: čvor je važan ako ga “posjećuje” dugoročni slučajni hod, a teleportacija (u kontekstu surfanja web-om, prelazak na posve nepovezanu stranicu, bez da se slijedi link s neke stranice) sprječava potpuni monopol jezgre. Katz centralnost broji šetnje svih duljina koje završavaju u čvoru, ali doprinos duljih šetnji slabi faktorom koji kontrolira parametar slabljenja; time se kombinira direktan i indirektan doseg uz kontrolu “utjecaja na daljinu”. Centralnost podgrafa (subgraph centralnost) ide još dalje u lokalnu koheziju jezgre brojeći zatvorene šetnje (one koje se vraćaju u polazni čvor), čime naglašava uključenost u cikluse i gusto povezane podstrukture.
Interpretacijski, ove mjere omogućuju priču o prestižu, reputacijskoj ugradnji i jezgrenom statusu: tko je centralan jer je dio “elite” koja je međusobno dobro povezana, tko profitira od povezanosti s već centralnima i kako se globalna vidljivost raspodjeljuje kada se proces shvati kao šetnja kroz mrežu. Važno je, međutim, razlikovati jezgru od mosta: akter može biti ključan broker (visoka betweenness) bez pripadnosti gusto kohezivnoj jezgri (niža spektralna centralnost), i obrnuto. Ponekad se na ove mjere referira kao na mjere prestiža.
Ove mjere imaju i svoje prirodno proširenje. Zamislite da nas zanima kombinacija mrežnog položaja i vanjskog resursa, primjerice “utjecaj kada se uzme u obzir bogatstvo, autoritet ili formalna moć”. Tada se spektralne ideje prirodno proširuju prema alfa/Bonacich centralnosti s egzogenim inputom, gdje mrežna multiplikacija djeluje na početne razlike među akterima.
Eigenvector centralnost temelji se na ideji da važnost čvora ne ovisi samo o broju njegovih veza, nego i o važnosti njegovih susjeda. Neka je \(A\) matrica susjedstva grafa dimenzije \(n \times n\), gdje je
\[ a_{ij} = \begin{cases} 1, & \text{ako postoji veza između čvorova } i \text{ i } j, \ 0, & \text{inače.} \end{cases} \]
Eigenvector centralnost definira se kao rješenje jednadžbe
\[ \mathbf{x} = \lambda A \mathbf{x}, \]
gdje je:
Drugim riječima, \(\mathbf{x}\) je svojstveni vektor matrice \(A\) koji pripada najvećoj svojstvenoj vrijednosti. Komponenta \(x_i\) predstavlja centralnost čvora \(i\), a vrijednost je proporcionalna zbroju centralnosti njegovih susjeda:
\[ x_i = \frac{1}{\lambda} \sum_{j} a_{ij} x_j. \]
Temeljna ideja mjere može se sažeti ovako:
Čvor je važan ako je povezan s važnima.
Za razliku od degree centralnosti, koja sve susjede tretira jednako, eigenvector centralnost ponderira veze prema “kvaliteti” susjeda.
eig <- igraph::eigen_centrality(g)$vector
eig
## Acciaiuol Albizzi Barbadori Bischeri Castellan Ginori Guadagni Lambertes
## 0.3071155 0.5669336 0.4919853 0.6572037 0.6019551 0.1741141 0.6718805 0.2063449
## Medici Pazzi Peruzzi Ridolfi Salviati Strozzi Tornabuon
## 1.0000000 0.1041427 0.6407743 0.7937398 0.3390994 0.8272688 0.7572302
Dobivene vrijednosti kreću se od približno 0.10 do 1.00, pri čemu je vrijednost 1.00 dodijeljena čvoru s najvećom centralnošću (skaliranje je relativno, tj. promatramo proporcije). Najvišu vrijednost ima Medici (1.00), što znači da je povezan s čvorovima koji su i sami visoko pozicionirani u mreži. Drugim riječima, Medici nije samo kvantitativno dobro povezan, nego je uključen u samu jezgru utjecajnih obitelji.
Vrlo visoke vrijednosti imaju i Strozzi (0.83), Ridolfi (0.79), Tornabuon (0.76) te Guadagni (0.67). To sugerira da mreža ima relativno gustu jezgru međusobno povezanih obitelji koje si međusobno “pojačavaju” centralnost. S druge strane, obitelji poput Pazzi (0.10) i Ginori (0.17) nalaze se na periferiji jer su povezane s manje utjecajnim ili slabije umreženim akterima.
describe(eig)
## vars n mean sd median trimmed mad min max range skew kurtosis se
## X1 1 15 0.54 0.27 0.6 0.54 0.28 0.1 1 0.9 -0.16 -1.24 0.07
Prosječna vrijednost eigenvector centralnosti iznosi 0.54, dok je medijan nešto viši (0.60), što upućuje na relativno uravnoteženu raspodjelu bez izraženije asimetrije. Standardno odstupanje od prosjeka (0.27) ukazuje na osjetnu raznolikost među čvorovima, ali ne i na ekstremnu polarizaciju. Raspon od 0.90 (od 0.10 do 1.00) potvrđuje da su razlike između čvorova znatne, ali raspodjela vrijednosti nije izrazito “teška” u repovima.
Koeficijent asimetrije (−0.16) vrlo je blizu nule, što znači da je distribucija gotovo simetrična, dok negativna kurtoza (−1.24) upućuje na spljošteniji vrh distribucije od normalne distribucije, bez izraženih izdvojenica. Histogram pokazuje koncentraciju vrijednosti oko medijana, uz manji broj aktera s vrlo malim vrijednostima.
Ova raspodjela sugerira da mreža nije strukturirana oko jednog jedinog dominantnog centra, nego oko jezgre od nekoliko međusobno povezanih i relativno snažnih aktera.
hist(eig)
U vizualizaciji gdje je veličina čvora proporcionalna eigenvector centralnosti jasno se ističe Medici, ali također postaje vidljivo da nekoliko drugih obitelji čini kompaktnu jezgru s visokim vrijednostima. To je ključna razlika u odnosu na betweenness centralnost: ovdje ne mjerimo posredovanje, nego “uključenost u elitu elite”.
Dok betweenness naglašava mostove i kontrolu nad tokovima, eigenvector centralnost naglašava integriranost u najutjecajniji dio mreže. Ako je čvor povezan s akterima koji su i sami centralni, njegova se važnost multiplicira. U tom smislu, eigenvector centralnost hvata fenomen prestiža ili reputacijskog kapitala.
U kontekstu florentinskih obitelji, visoka eigenvector centralnost obitelji Medici sugerira da su povezani s najutjecajnijim obiteljima, čime se učvršćuje njihova pozicija u jezgri elite. No, za razliku od betweenness centralnosti, ovdje se vidi da jezgru ne čini jedan čvor: nekoliko obitelji međusobno pojačava svoju poziciju, što upućuje na strukturu guste elite, a ne na izolirani monopol moći.
v_size <- eig*30
plot.igraph(g, layout = layout_nicely, vertex.size = v_size)
PageRank centralnost temelji se na ideji stacionarne distribucije slučajnog hoda kroz mrežu. Neka je \(A\) matrica susjedstva, a \(D\) dijagonalna matrica stupnjeva čvorova. Prijelazna matrica slučajnog hoda može se zapisati kao
\[ P = D^{-1}A. \]
PageRank vektor \(\mathbf{p}\) definira se kao rješenje jednadžbe
\[ \mathbf{p} = \alpha P^{\top} \mathbf{p} + (1-\alpha)\frac{1}{n}\mathbf{1}, \]
gdje je:
Intuitivno, PageRank modelira “slučajnog surfera” po Internetu koji se s vjerojatnošću \(\alpha\) kreće duž veza, a s vjerojatnošću \(1-\alpha\) nasumično “teleportira” na bilo koji čvor u mreži. Vektor \(\mathbf{p}\) predstavlja stacionarnu distribuciju tog procesa, odnosno dugoročnu vjerojatnost da se surfer nalazi na pojedinom čvoru.
Temeljna ideja mjere može se sažeti ovako:
Čvor je važan ako ga često “posjećuje” slučajni hod kroz mrežu.
Za razliku od eigenvector centralnosti, PageRank ublažava utjecaj vrlo visoko povezanih čvorova pomoću teleportacijskog parametra, čime se izbjegava potpuna dominacija jedne jezgre.
Važno je napomenuti da je PageRank izvorno razvijen krajem 1990-ih za potrebe rangiranja web stranica u tražilicama (Google), gdje su poveznice između stranica interpretirane kao usmjerene veze u mreži, a PageRank vrijednost predstavljala je mjeru njihove globalne važnosti.
pr <- igraph::page_rank(g)$vector
pr
## Acciaiuol Albizzi Barbadori Bischeri Castellan Ginori Guadagni
## 0.03065744 0.07912225 0.05030099 0.06886180 0.06933018 0.03241797 0.09839783
## Lambertes Medici Pazzi Peruzzi Ridolfi Salviati Strozzi
## 0.03090954 0.14581720 0.03605387 0.06787531 0.06957427 0.06130323 0.08809844
## Tornabuon
## 0.07127969
Dobivene PageRank vrijednosti kreću se od približno 0.03 do 0.15, pri čemu je najviša vrijednost ponovno kod Medici (0.146). To znači da je, u dugoročnom smislu, najveća vjerojatnost da se slučajni hod “zadrži” upravo na tom čvoru. Drugim riječima, Medici je najstabilnija točka privlačenja u mreži.
Sljedeće vrijednosti po veličini imaju Guadagni (0.098) i Strozzi (0.088), dok većina ostalih obitelji ima vrijednosti u rasponu od približno 0.05 do 0.08. Najniže vrijednosti imaju Acciaiuol, Lambertes i Ginori (oko 0.03), što odražava njihov periferni položaj i manji doprinos globalnoj cirkulaciji kroz mrežu.
Za razliku od betweenness centralnosti, gdje je Medici izrazito odskakao, ovdje su razlike manje dramatične. To znači da mreža ima više čvorova koji sudjeluju u “dugoročnoj vidljivosti”, a ne samo jednog dominantnog posrednika.
describe(pr)
## vars n mean sd median trimmed mad min max range skew kurtosis se
## X1 1 15 0.07 0.03 0.07 0.06 0.03 0.03 0.15 0.12 0.89 0.62 0.01
Prosječna PageRank vrijednost iznosi 0.07, što je očekivano jer se PageRank normalizira tako da zbroj svih vrijednosti iznosi 1. Medijan je također 0.07, što bi sugeriralo relativno uravnoteženu raspodjelu oko sredine. Standardna devijacija od 0.03 pokazuje umjerenu disperziju, dok raspon od 0.12 ukazuje na mjerljivu razliku između čvorova.
Koeficijent asimetrije (0.89) pokazuje umjerenu pozitivnu asimetriju, većina čvorova ima niže ili srednje vrijednosti, dok manji broj čvorova (ponajprije Medici) poprima veće vrijednosti. Pozitivna kurtoza (0.62) sugerira nešto izraženije repove distribucije, ali bez ekstremne koncentracije u jednom čvoru.
Histogram pokazuje navedeno kroz koncentraciju vrijednosti u nižem do srednjem rasponu, uz naglo smanjenje nakon stupca u kojem se nalazi medijalna vrijednost (ovdje vidimo i da su medijan i mod jednaki), gdje se izdvaja nekolicina aktera.
hist(pr)
U vizualizaciji mreže s veličinom čvora proporcionalnom PageRank vrijednosti ponovno se ističe Medici, ali razlika između njih i drugih centralnih obitelji nije toliko naglašena kao kod betweenness centralnosti. To sugerira da Medici nije samo most između frakcija, nego i stabilna točka unutar jezgre mreže, čije su veze strukturirane tako da generiraju visoku dugoročnu “posjećenost”.
PageRank u ovom kontekstu može se interpretirati kao mjera reputacijskog ili simboličkog kapitala, čvor koji je povezan s utjecajnima i koji se nalazi u dobro umreženoj jezgri dobiva veću težinu u globalnoj strukturi. Ipak, budući da se dio mase uvijek raspodjeljuje ravnomjerno, ova mjera ne dopušta apsolutnu dominaciju jednog čvora.
U usporedbi s eigenvector centralnošću, PageRank daje sličnu, ali stabilniju sliku hijerarhije. U usporedbi s betweenness centralnošću, naglasak se pomiče s kontrole tokova na dugoročnu vidljivost i integriranost u globalnu cirkulaciju mreže. U kontekstu florentinskih obitelji to znači da Medici nije samo most, nego i strukturno “privlačna” točka unutar elite, ali bez potpune monopolizacije mrežne dinamike.
v_size <- pr*100
plot.igraph(g, layout = layout_nicely, vertex.size = v_size)
Katz centralnost proširuje spektralnu logiku eigenvector centralnosti tako da uzima u obzir sve šetnje (engl. walks) koje završavaju u čvoru, a ne samo neposredne susjede. Ključna razlika je u tome što se šetnje različitih duljina različito vrednuju: kraće šetnje doprinose više, a doprinos duljih šetnji eksponencijalno slabi. Time se dobiva mjera koja hvata i direktne i indirektne veze, ali uz kontrolu “utjecaja na daljinu”.
Formalno, Katz centralnost može se zapisati kao
\[ \mathbf{x} = \alpha A \mathbf{x} + \beta \mathbf{1}, \]
gdje je (\(A\)) matrica susjedstva, (\(\mathbf{x}\)) vektor centralnosti, (\(\mathbf{1}\)) vektor jedinica, (\(\alpha\)) parametar slabljenja (engl. attenuation) koji kontrolira koliko doprinos imaju dulje šetnje, a (\(\beta\)) konstanta koja svim čvorovima daje bazni “input”. Rješenje se može zapisati u zatvorenom obliku:
\[ \mathbf{x} = (I-\alpha A)^{-1}\beta \mathbf{1}, \]
pri čemu je (\(I\)) jedinična matrica. Važno je da (\(\alpha\)) bude dovoljno malo da matrica (\((I-\alpha A)\)) bude invertibilna; intuitivno, to osigurava da doprinosi duljih šetnji konvergiraju.
Temeljna ideja mjere može se sažeti ovako:
Čvor je važan ako do njega vodi mnogo šetnji iz mreže, pri čemu kraće šetnje vrijede više.
Za razliku od eigenvector centralnosti, Katz centralnost dodatno uključuje bazni član (\(\beta \mathbf{1}\)), pa čvorovi ne mogu dobiti vrijednost nula samo zato što su slabije povezani; svi dobivaju barem minimalni doprinos.
katz <- g_tbl %>%
activate(nodes) %>%
mutate(katz = centrality_katz()) %>%
pull(katz)
katz
## Acciaiuol Albizzi Barbadori Bischeri Castellan Ginori Guadagni Lambertes
## 46.77922 85.88406 74.35037 98.93695 90.68134 27.11256 101.50302 31.86142
## Medici Pazzi Peruzzi Ridolfi Salviati Strozzi Tornabuon
## 150.56755 16.77355 96.41383 119.16261 51.87912 124.19718 113.87136
Dobivene vrijednosti Katz centralnosti kreću se od približno 16.77 do 150.57. Najvišu vrijednost ima Medici (150.57), što znači da je taj čvor najviše “napajan” velikim brojem kratkih i srednje dugih šetnji kroz mrežu. Medici se ovdje ne ističe samo zato što ima mnogo neposrednih veza, nego i zato što je smješten tako da mu velik dio mreže “dolazi” kroz velik broj alternativnih indirektnih ruta.
Iza Medici slijede Strozzi (124.20) i Ridolfi (119.16), zatim Tornabuon (113.87), dok su Guadagni (101.50), Bischeri (98.94) i Peruzzi (96.41) također visoko rangirani. Na donjem kraju distribucije nalaze se Pazzi (16.77) te Ginori (27.11) i Lambertes (31.86), što je u skladu s njihovom perifernijom pozicijom: do tih čvorova vodi manje kratkih i “efikasnih” šetnji iz ostatka mreže.
describe(katz)
## vars n mean sd median trimmed mad min max range skew kurtosis
## X1 1 15 82 39.49 90.68 81.74 42.23 16.77 150.57 133.79 -0.15 -1.24
## se
## X1 10.2
Čvrorvi imaju prosječnu vrijednost Katz centralnosti od oko 82. Polovica čvorova ima Katz centralnost 90.68 ili manje od toga, a preostala polovica čvorova ima toliku ili višu vrijednost Katz centralnosti.
Standardna devijacija od 39.49 pokazuje da je varijabilnost izražena: među obiteljima postoje značajne razlike u tome koliko su “integrirane” u mrežu kada uzmemo u obzir i indirektne veze. Raspon od 133.79 dodatno potvrđuje jasnu diferencijaciju između jezgre i periferije.
Koeficijent asimetrije iznosi −0.15, što je vrlo blizu nule i upućuje na gotovo simetričnu raspodjelu, s blagim pomakom prema višim vrijednostima kod većeg broja čvorova. Negativna kurtoza (−1.24) sugerira spljošteniju distribuciju, bez izrazito “teških repova”. Drugim riječima, postoji jasna razlika između perifernih i centralnih aktera, ali bez ekstremne izdvojenice koja bi potpuno dominirala cijelim rasponom. Upravo se to vidi i na histogramu.
hist(katz)
U vizualizaciji gdje je veličina čvora proporcionalna Katz centralnosti (skalirana s \(\frac{1}{10}\)) vidimo izraženu jezgru sastavljenu od nekoliko velikih čvorova (Medici, Strozzi, Ridolfi, Tornabuon), dok će periferni čvorovi ostati manji. Katz centralnost ovdje naglašava doseg kroz mrežu na način koji je prirodan za procese difuzije: čvor je centralan ako do njega postoji mnogo relativno kratkih ruta iz različitih dijelova mreže. To je osobito relevantno u društvenim mrežama kada pretpostavljamo da utjecaj i informacije ne moraju putovati isključivo najkraćim putom, nego se mogu širiti kroz više preklapajućih kanala.
U florentinskom kontekstu, ova mjera podržava interpretaciju da Medici nije samo most (kao što sugerira betweenness), nego i čvor duboko integriran u strukturu elite: do njega “vodi” mnogo puteva kroz mrežu. Istodobno, činjenica da i Strozzi i Ridolfi imaju vrlo visoke Katz vrijednosti sugerira da je jezgra elite višeslojna i da prestiž/uključenost nije monopolizirana jednim akterom. Razlika između Katz i betweenness interpretacije tu je korisna i za razumijevanje različitih aspekata mjera: betweenness govori o kontroli putova između drugih, dok Katz govori o akumulaciji indirektnih veza i potencijalu dosega kroz šetnje.
v_size <- katz/10
plot.igraph(g, layout = layout_nicely, vertex.size = v_size)
Alpha centralnost, poznata i kao Bonacich centralnost, proširuje spektralne mjere tako da dopušta kombinaciju endogenog (mrežnog) i egzogenog (vanjskog) utjecaja. Formalno se može zapisati kao
\[ \mathbf{x} = \alpha A \mathbf{x} + \mathbf{e}, \]
gdje je:
Rješenje se može zapisati u zatvorenom obliku:
\[ \mathbf{x} = (I - \alpha A)^{-1} \mathbf{e}. \]
Ako je \(\mathbf{e} = \beta \mathbf{1}\), mjera postaje vrlo slična Katz centralnosti. Međutim, Bonacich pristup omogućuje da se različitim čvorovima dodijele različiti vanjski inputi, čime se modelira kombinacija mrežnog položaja i početne “resursne” prednosti.
Temeljna ideja alpha centralnosti može se sažeti ovako:
Čvor je važan jer je povezan s važnima, ali i zato što može imati vlastiti izvor moći ili resursa.
Za razliku od eigenvector centralnosti, koja je čisto endogena (važnost proizlazi isključivo iz mrežne strukture), Bonacich centralnost dopušta modeliranje situacija u kojima akteri već posjeduju određeni vanjski kapital (npr. bogatstvo, institucionalnu moć, reputaciju), koji se potom multiplicira kroz mrežu.
alph <- g_tbl %>%
activate(nodes) %>%
mutate(alph = centrality_alpha(exo = wealth)) %>% # ovdje koristimo dostupne podatke o bogatstvu čvora
pull(alph)
alph
## Acciaiuol Albizzi Barbadori Bischeri Castellan Ginori Guadagni Lambertes
## -48 -188 -188 17 -185 -156 -10 32
## Medici Pazzi Peruzzi Ridolfi Salviati Strozzi Tornabuon
## -58 49 -68 141 1 51 121
U ovoj varijanti alpha (Bonacich) centralnosti iskoristili smo
atribut wealth kao egzogeni input, čime smo formalno
povezali mrežnu poziciju i vanjske resurse. Za razliku od Katz
centralnosti, gdje svi čvorovi dobivaju istu baznu “injekciju”
(β1), ovdje različiti čvorovi mogu imati različit startni
poticaj \(e\) (bogatstvo). Intuitivno,
ova mjera modelira situaciju u kojoj se postojeći resursi kroz mrežu
mogu pojačavati (ili “raspršivati”), ovisno o tome kako je čvor
uklopljen u strukturu.
Dobivene vrijednosti alph imaju i pozitivne i negativne iznose. To je važno: alpha centralnost nije nužno ograničena na \([0,1]\) niti mora biti nenegativna. Negativne vrijednosti mogu se pojaviti kada je egzogeni input skaliran tako da sadrži negativne komponente (npr. standardizacija ili centriranje), ili kada je omjer endogenog i egzogenog doprinosa takav da se u zatvorenom obliku \((I−αA)^{−1}e\) neke komponente rezultata “preliju” ispod nule. Metodološki, to nije problem — ali interpretacija mora biti relativna: važni su rangovi i usporedbe, a ne apsolutna nula kao “prirodna granica”.
U ovoj mreži vidimo da nekoliko obitelji dobiva izrazito visoke pozitivne vrijednosti, među kojima se ističu Ridolfi (141) i Tornabuon (121), zatim Strozzi (51) i Medici (49). To sugerira da kombinacija njihovih resursa i mrežne pozicije stvara snažan “multiplikativni” efekt: nalaze se dovoljno blizu jezgre i dovoljno dobro povezani da se egzogeni input kroz mrežu pojača. S druge strane, više obitelji ima izrazito negativne vrijednosti (npr. Albizzi i Barbadori −188, Castellan −185), što upućuje na slabiji “ukupni potencijal” u smislu kombinacije resursa i položaja, barem u ovoj parametrizaciji. Ključno je naglasiti da negativan rezultat ne znači da je obitelj “beznačajna” u povijesnom smislu, nego da je u okviru ovog modela njihov egzogeni input i/ili strukturna pozicija takva da ne generira visoku alpha vrijednost.
describe(alph)
## vars n mean sd median trimmed mad min max range skew kurtosis
## X1 1 15 -32.6 108.41 -10 -34 87.47 -188 141 329 -0.13 -1.3
## se
## X1 27.99
Deskriptivni pokazatelji dodatno opisuju tu heterogenost. Prosjek iznosi −32.6, dok je medijan −10, što znači da su vrijednosti koje signaliziraju centar blago negativne, a da nekoliko pozitivnih vrijednosti povlači desni dio raspodjele. Standardna devijacija je velika (108.41), a raspon iznosi čak 329 (od -188 do 141), što jasno pokazuje snažnu diferencijaciju među obiteljima. Koeficijent asimetrije blizu je nule (−0.13), što sugerira da distribucija nije izrazito nagnuta u jednu stranu, ali je spljoštena (kurtoza −1.3), što je u skladu s time da imamo nekoliko vrlo niskih i nekoliko vrlo visokih vrijednosti, bez guste koncentracije oko sredine.
hist(alph)
U vizualizaciji je zato razumno koristiti transformaciju veličine čvora kako bismo izbjegli negativne ili premale radijuse i dobili čitljiv graf. Međutim, pri interpretaciji treba jasno reći da veličina čvora ovdje odražava rang i relativnu razliku u alpha centralnosti, a ne “postotak” ili vrijednost na skali od 0 do 1. U grafu će najveći čvorovi biti oni koji u ovoj kombinaciji mreže i bogatstva dobivaju najveći ukupni učinak, dok će najmanji čvorovi biti oni s najnižim rezultatom.
v_size <- (alph + 200)/10
plot.igraph(g, layout = layout_nicely, vertex.size = v_size)
U varijanti alfa centralnosti s atributom wealth kao
egzogenim inputom zanimljivo je da obitelj Medici više nije među
najistaknutijim čvorovima, unatoč tome što je u gotovo svim strukturnim
mjerama (eigenvector, Katz, PageRank, betweenness) bila u samom
vrhu. Ova promjena ranga pokazuje da Bonacich/alpha centralnost ne mjeri
samo položaj u mreži, nego kombinaciju položaja i početnih
resursa.
Drugim riječima, Medici su strukturno vrlo dobro pozicionirani, ali
njihovo povijesno bogatstvo (u ovom datasetu) nije najveće u mreži. Neke
druge obitelji imaju veći atribut wealth, pa kada se
egzogeni input multiplicira kroz mrežnu strukturu, one mogu dobiti višu
ukupnu alfa vrijednost. To znači da se u ovoj mjeri relativna važnost
pomiče prema akterima koji kombiniraju dobru poziciju i snažan resursni
input.
Ovaj rezultat je posebno zanimljiv jer ilustrira temeljnu sociološku poantu: politička dominacija Medici nije bila jednostavno funkcija “najvećeg bogatstva”. Njihova moć proizlazila je iz mrežne strategije i brokerske pozicije. Kada model eksplicitno uključimo bogatstvo kao egzogeni faktor, vidimo da neke druge obitelji imaju jaču resursnu bazu, ali to ne znači nužno da su imale jednaku političku učinkovitost.
Drugim riječima:
Degree i eigenvector centralnost govore: Medici su u središtu strukture.
Alpha centralnost s wealth inputom kaže: Nisu najbogatiji akter koji se nalazi u dobroj mrežnoj poziciji.
Njihova snaga proizlazi iz strategije, a ne samo iz kapitala.
Power centralnost (Bonacich power) nadovezuje se na spektralne mjere, ali uvodi ključnu razliku: dopušta da povezanost s “jakima” povećava vrijednost čvora, dok povezanost sa “slabima” može povećavati njegovu relativnu moć u konkurentskom smislu. Formalno se može zapisati kao rješenje sustava
\[ \mathbf{x} = (I - \beta A)^{-1} A \mathbf{1}, \]
gdje je:
Ključna razlika u odnosu na eigenvector centralnost jest u tome što znak i veličina parametra \(\beta\) određuju hoće li povezanost s centralnim susjedima povećavati ili smanjivati relativnu moć čvora. U nekim interpretacijama (osobito u teorijama razmjene moći) moć proizlazi iz povezanosti s akterima koji sami imaju malo alternativa.
Temeljna ideja mjere može se sažeti ovako:
Čvor je moćan ako je povezan s akterima čija je vlastita mrežna ovisnost velika.
powc <- g_tbl %>%
activate(nodes) %>%
mutate(powc = centrality_power()) %>%
pull(powc)
powc
## Acciaiuol Albizzi Barbadori Bischeri Castellan Ginori Guadagni
## -0.3676073 -2.0218402 -1.4704292 0.0000000 -1.2866256 -1.8380366 -0.1838037
## Lambertes Medici Pazzi Peruzzi Ridolfi Salviati Strozzi
## 0.0000000 -0.5514110 0.0000000 -0.5514110 1.2866256 -0.1838037 0.1838037
## Tornabuon
## 1.1028219
Dobivene vrijednosti uključuju i pozitivne i negativne brojeve, što je očekivano kod power centralnosti. Ova mjera nije ograničena na pozitivni interval jer modelira relativne odnose moći, a ne “važnost” u apsolutnom smislu.
U našoj mreži najviše pozitivne vrijednosti imaju Ridolfi (1.29) i Tornabuon (1.10), dok Strozzi (0.18) također ima blago pozitivnu vrijednost. S druge strane, više obitelji ima negativne vrijednosti, među kojima se ističu Albizzi (-2.02) i Ginori (-1.84). Medici ima umjereno negativnu vrijednost (-0.55).
Ovaj rezultat je zanimljiv jer pokazuje da power centralnost ne nagrađuje nužno čvorove koji su “općenito centralni”, nego čvorove koji imaju strukturnu prednost u odnosima ovisnosti. Ako je čvor povezan s akterima koji imaju malo drugih opcija, njegova relativna moć raste. Ako je povezan s vrlo jakim i samostalnim akterima, njegova relativna pregovaračka pozicija može biti slabija.
Drugim riječima, power centralnost modelira moć kao strukturnu ovisnost, a ne kao opću popularnost ili integriranost.
describe(powc)
## vars n mean sd median trimmed mad min max range skew kurtosis se
## X1 1 15 -0.39 0.95 -0.18 -0.4 0.55 -2.02 1.29 3.31 -0.07 -0.85 0.25
Prosjek iznosi -0.39, dok je medijan -0.18. Te vrijednosti signaliziraju blago negativni centar distribucije, što upućuje na to da većina čvorova nema izrazitu strukturnu prednost u smislu ovisnosti drugih. Standardna devijacija (0.95) pokazuje umjerenu varijabilnost, dok raspon od 3.31 potvrđuje jasnu diferencijaciju među obiteljima.
Asimetrija je vrlo blizu nule (-0.07), što znači da distribucija nije snažno nagnuta u jednu stranu. Negativna kurtoza (-0.85) sugerira spljoštenu distribuciju bez izraženih ekstremnih repova. Drugim riječima, imamo nekoliko pozitivnih “dobitnika” u strukturi moći, ali ne jednu dominantnu izdvojenicu.
Histogram pokazuje koncentraciju vrijednosti u negativnom rasponu, uz nekoliko pozitivnih odstupanja.
hist(powc)
U vizualizaciji, gdje se veličina čvora skalira linearnom
transformacijom (powc + 3) * 10, veći čvorovi predstavljaju
aktere s relativno većom strukturnom moći. Za razliku od
eigenvector ili Katz centralnosti, gdje se Medici jasno ističe,
ovdje to nije slučaj. To dodatno potvrđuje važnu poantu:
centralnost i moć nisu isto.
Medici su izuzetno centralni u smislu integriranosti i brokerske pozicije, ali power centralnost sugerira da njihova relativna moć u smislu ovisnosti drugih aktera nije nužno najveća u ovoj konfiguraciji. Ova mjera posebno je korisna kada analiziramo mreže razmjene, pregovaranja ili konkurencije, gdje je ključno pitanje: tko o kome ovisi?
v_size <- (powc+3)*10
plot.igraph(g, layout = layout_nicely, vertex.size = v_size)
Subgraph centralnost temelji se na broju zatvorenih šetnji (engl. closed walks) koje prolaze kroz čvor, pri čemu se dulje šetnje penaliziraju faktorijelnim slabljenjem. Formalno, mjera je povezana s eksponencijalom matrice susjedstva:
\[ C_S(v) = (e^{A})_{vv}, \]
gdje je:
Kraće šetnje doprinose više jer se doprinos šetnje duljine \(k\) dijeli s \(k!\).
Temeljna ideja subgraph centralnosti može se sažeti ovako:
Čvor je centralan ako sudjeluje u velikom broju lokalnih struktura (ciklusa i podgrafova), osobito kratkih.
Za razliku od Katz centralnosti, koja broji sve šetnje koje završavaju u čvoru, subgraph centralnost broji zatvorene šetnje, tj. one koje se vraćaju u polazni čvor. Time mjera naglašava uključenost čvora u lokalne cikluse, klike i gusto povezane podstrukture.
Drugim riječima, ova mjera hvata “ugrađenost” čvora u jezgru mreže.
subc <- g_tbl %>%
activate(nodes) %>%
mutate(subc = centrality_subgraph()) %>%
pull(subc)
subc
## Acciaiuol Albizzi Barbadori Bischeri Castellan Ginori Guadagni Lambertes
## 1.849348 3.592664 2.672602 4.151361 4.026544 1.656598 4.399924 1.707042
## Medici Pazzi Peruzzi Ridolfi Salviati Strozzi Tornabuon
## 7.275216 1.598035 4.564129 4.275104 2.500726 5.632056 4.318346
Dobivene vrijednosti kreću se od približno 1.60 do 7.28. Najvišu vrijednost ima Medici (7.28), što znači da sudjeluje u najvećem broju kratkih zatvorenih šetnji u mreži. To je snažan pokazatelj duboke uključenosti u gusto povezani dio strukture.
Iza Medici slijede Strozzi (5.63), Peruzzi (4.56), Guadagni (4.40), Tornabuon (4.32) i Ridolfi (4.28). Ova skupina čini jezgru mreže u smislu lokalne povezanosti i sudjelovanja u cikličkim strukturama. Na suprotnom kraju nalaze se Pazzi (1.60), Ginori (1.66) i Lambertes (1.71), koji su perifernije pozicionirani i sudjeluju u manjem broju zatvorenih struktura.
Važno je primijetiti da subgraph centralnost ne naglašava posredovanje (kao betweenness), nego lokalnu gustoću i uključenost u klike. Čvor može biti vrlo važan u smislu brokera, ali ne sudjelovati u velikom broju ciklusa — i obrnuto.
describe(subc)
## vars n mean sd median trimmed mad min max range skew kurtosis se
## X1 1 15 3.61 1.63 4.03 3.49 2.01 1.6 7.28 5.68 0.45 -0.59 0.42
Čvorovi imaju prosječno 3.61 centralnost podgrafa, uz standardno odstupanje od prosjeka za 1.63. To ukazuje na umjerenu varijabilnost, dok raspon od 5.68 potvrđuje jasnu diferencijaciju između jezgre i periferije.
Medijan od 4.03 (viši od prosjeka), ukazuje na blago pozitivno asimetričnu distribuciju (skew = 0.45), što znači da nekoliko viših vrijednosti lagano povlači desni rep distribucije. Negativna kurtoza (-0.59) sugerira spljoštenu distribuciju bez ekstremnih izdvojenica.
hist(subc)
U vizualizaciji gdje je veličina čvora proporcionalna subgraph centralnosti, jezgra mreže postaje posebno vidljiva. Najveći čvorovi (Medici, Strozzi, Ridolfi, Guadagni) nalaze se u dijelu mreže gdje postoji više međusobno povezanih veza, tj. gdje se formiraju ciklusi i preklapajuće strukture.
Ova mjera snažno naglašava lokalnu koheziju. Ako zamislimo da se političko povjerenje i stabilnost koalicija lakše održavaju unutar gusto povezanih klika, subgraph centralnost može se interpretirati kao indikator uključenosti u takve stabilne jezgre.
Za razliku od betweenness centralnosti, koja mjeri kontrolu nad protokom između različitih dijelova mreže, subgraph centralnost mjeri ukorijenjenost unutar jezgre. U florentinskom primjeru to znači da Medici nisu samo most između frakcija, nego i duboko integrirani u samu srž elite.
v_size <- subc*3
plot.igraph(g, layout = layout_nicely, vertex.size = v_size)
Koristi se skup podataka karate iz paketa
igraphdata koji predstavlja društvenu mrežu između članova
sveučilišnog karate kluba, kojeg vode predsjednik John A. i instruktor
karatea g. Hi (pseudonimi). Opis je preuzet iz dokumentacije (Zachary,
1977)
Težine rubova predstavljaju broj zajedničkih aktivnosti u kojima su članovi kluba sudjelovali. Te su aktivnosti bile:
Zachary je proučavao sukob i fisiju u ovoj mreži, budući da je karate klub na kraju podijeljen u dva odvojena kluba, nakon dugih sporova između dvije frakcije kluba, jednu koju je vodio John A., a drugu g. Hi. Atribut vrha ‘Frakcija’ daje članstvo aktera u frakcijama. Nakon podjele kluba, članovi kluba birali su svoje nove klubove na temelju svojih frakcija, osim aktera br. 9, koji je bio u frakciji Johna A., ali je ipak odabrao klub g. Hi.
data("karate", package = "igraphdata") # učita dataset u global environment
igraph::upgrade_graph(karate) # ako nije učitana najnovija verzija
## IGRAPH 4b458a1 UNW- 34 78 -- Zachary's karate club network
## + attr: name (g/c), Citation (g/c), Author (g/c), Faction (v/n), name
## | (v/c), label (v/c), color (v/n), weight (e/n)
## + edges from 4b458a1 (vertex names):
## [1] Mr Hi --Actor 2 Mr Hi --Actor 3 Mr Hi --Actor 4 Mr Hi --Actor 5
## [5] Mr Hi --Actor 6 Mr Hi --Actor 7 Mr Hi --Actor 8 Mr Hi --Actor 9
## [9] Mr Hi --Actor 11 Mr Hi --Actor 12 Mr Hi --Actor 13 Mr Hi --Actor 14
## [13] Mr Hi --Actor 18 Mr Hi --Actor 20 Mr Hi --Actor 22 Mr Hi --Actor 32
## [17] Actor 2--Actor 3 Actor 2--Actor 4 Actor 2--Actor 8 Actor 2--Actor 14
## [21] Actor 2--Actor 18 Actor 2--Actor 20 Actor 2--Actor 22 Actor 2--Actor 31
## [25] Actor 3--Actor 4 Actor 3--Actor 8 Actor 3--Actor 9 Actor 3--Actor 10
## + ... omitted several edges
g <- karate
glimpse(g)
## Class 'igraph' hidden list of 10
## $ : num 34
## $ : logi FALSE
## $ : num [1:78] 1 2 3 4 5 6 7 8 10 11 ...
## $ : num [1:78] 0 0 0 0 0 0 0 0 0 0 ...
## $ : num [1:78] 0 1 16 2 17 24 3 4 5 35 ...
## $ : num [1:78] 0 1 2 3 4 5 6 7 8 9 ...
## $ : num [1:35] 0 0 1 3 6 7 8 11 15 17 ...
## $ : num [1:35] 0 16 24 32 35 37 40 41 41 44 ...
## $ :List of 4
## ..$ : num [1:3] 1 0 1
## ..$ :List of 3
## .. ..$ name : chr "Zachary's karate club network"
## .. ..$ Citation: chr "Wayne W. Zachary. An Information Flow Model for Conflict and Fission in Small Groups. Journal of Anthropologica"| __truncated__
## .. ..$ Author : chr "Wayne W. Zachary"
## ..$ :List of 4
## .. ..$ Faction: num [1:34] 1 1 1 1 1 1 1 1 2 2 ...
## .. ..$ name : chr [1:34] "Mr Hi" "Actor 2" "Actor 3" "Actor 4" ...
## .. ..$ label : chr [1:34] "H" "2" "3" "4" ...
## .. ..$ color : num [1:34] 1 1 1 1 1 1 1 1 2 2 ...
## ..$ :List of 1
## .. ..$ weight: num [1:78] 4 5 3 3 3 3 2 2 2 3 ...
## $ :<environment: 0x000001c60b46f6d8>
g <- simplify(g)
igraph::is.directed(g)
## [1] FALSE
"weight" %in% edge_attr_names(g)
## [1] TRUE
vcount(g)
## [1] 34
ecount(g)
## [1] 78
edge_density(g, loops = FALSE)
## [1] 0.1390374
which(igraph::degree(g, mode = "all") == 0)
## named integer(0)
Mreža je neusmjerena ponderirana, gdje čvorovi predstavljaju članove, a bridovi predstavljaju odnose. Težina brida (weight) kodira različite zajedničke aktivnosti, pa uz strukturu promatramo i intenzitet odnosa. Promatrana mreža sastoji se od 34 čvora i 78 bridova, uz gustoću od približno 0.14. To znači da je ostvareno oko 14% svih mogućih veza. Mreža nije gusta, ali nije ni izrazito rijetka; riječ je o umjereno povezanoj strukturi bez izoliranih čvorova.
Odsutnost izolata implicira da su svi akteri uključeni u barem jednu relaciju, što omogućuje primjenu globalnih mjera (closeness, eigenvector, PageRank) bez metodoloških ograničenja vezanih uz nepovezanost.
Zbog ponderiranja biramo mjere koje razdvajaju količinu veza (degree) od intenziteta (strength), te globalne mjere koje hvataju posredovanje (betweenness) i ukorijenjenost u jezgri (eigenvector), kao i efikasnost dosega (closeness).
S obzirom na relativno nisku gustoću, može se očekivati:
diferencijacija u lokalnoj povezanosti (degree),
izraženija uloga pojedinih mostova (betweenness),
postojanje jezgre i periferije.
w <- E(g)$weight
deg_n <- igraph::degree(g, normalized = TRUE)
str <- igraph::strength(g, mode = "all", weights = w)
clo_n <- igraph::closeness(g, normalized = TRUE)
bet <- igraph::betweenness(g, normalized = TRUE)
eig <- igraph::eigen_centrality(g)$vector
pr <- igraph::page_rank(g)$vector
centralnost <- data.frame(
degree = deg_n,
strength = str,
closeness = clo_n,
betweenness = bet,
eigen_centr = eig,
page_rank = pr)
describe(centralnost)[, c(2:5,8:12)]
## n mean sd median min max range skew kurtosis
## degree 34 0.14 0.12 0.09 0.03 0.52 0.48 1.91 2.94
## strength 34 13.59 11.85 9.50 3.00 48.00 45.00 1.39 1.07
## closeness 34 0.18 0.03 0.18 0.11 0.25 0.15 0.30 0.02
## betweenness 34 0.05 0.11 0.00 0.00 0.47 0.47 2.78 6.97
## eigen_centr 34 0.38 0.29 0.23 0.05 1.00 0.95 0.86 -0.63
## page_rank 34 0.03 0.02 0.02 0.01 0.10 0.09 1.51 1.53
Normalizirani stupanj (degree) pokazuje snažnu pozitivnu asimetriju (skew = 1.91) i povišenu kurtozu (2.94). To znači da većina čvorova ima relativno malo neposrednih veza, dok manji broj aktera ostvaruje znatno veći broj relacija.
Sličan obrazac vidljiv je i kod snage (strength), koja mjeri intenzitet veza. I ovdje je distribucija pozitivno asimetrična (skew = 1.39), što upućuje na koncentraciju intenziteta interakcije kod manjeg broja čvorova.
Ova kombinacija sugerira da:
mreža nije ujednačena u pogledu lokalne povezanosti,
postoje akteri koji funkcioniraju kao lokalni hubovi,
interakcijski kapital (broj i težina veza) nije ravnomjerno raspodijeljen.
Međutim, lokalna povezanost ne mora nužno značiti globalnu kontrolu ili prestiž, što se vidi u usporedbi s drugim mjerama.
Closeness centralnost pokazuje gotovo simetričnu distribuciju (skew = 0.30; kurtosis ≈ 0). Standardna devijacija je relativno mala (0.03), a raspon umjeren.
To znači da su udaljenosti među čvorovima relativno homogeno raspoređene. Ne postoji jedan čvor koji je dramatično bliži svima ostalima. Drugim riječima, mreža je globalno relativno kompaktna.
Ovaj nalaz sugerira:
struktura nema izrazito centralizirani geodetski centar,
većina aktera ima sličnu prosječnu udaljenost do ostatka mreže,
potencijal za difuziju informacija nije koncentriran u jednoj točki.
U kontekstu organizacijske ili društvene dinamike, to znači da je pristup ostatku mreže relativno uravnotežen, barem u smislu prosječne udaljenosti.
Betweenness centralnost pokazuje najizraženiju asimetriju od svih promatranih mjera (skew = 2.78; kurtosis = 6.97). Medijan iznosi 0, što znači da polovica čvorova uopće ne sudjeluje u posredovanju na najkraćim putovima.
To implicira izrazitu strukturnu nejednakost u kontroli tokova:
većina aktera ne posreduje između drugih,
manji broj čvorova preuzima nesrazmjerno velik udio najkraćih putova,
mreža sadrži jasno prepoznatljive brokerske pozicije.
Ova struktura sugerira postojanje “uskih grla” (bottlenecks). Uklanjanje određenih čvorova potencijalno bi dovelo do značajnog povećanja udaljenosti ili fragmentacije mreže.
Za razliku od closeness centralnosti, koja mjeri dostupnost, betweenness mjeri ovisnost drugih o određenim akterima. U ovoj mreži kontrola putova očito nije distribuirana ravnomjerno.
Eigenvector centralnost i PageRank pokazuju umjerenu, ali ne ekstremnu asimetriju (skew = 0.86 i 1.51). Distribucije nemaju toliko izdužen rep kao kod betweenness, što upućuje na postojanje šire jezgre međusobno povezanih utjecajnih čvorova.
par(mfrow=c(2,3))
hist(centralnost$degree)
hist(centralnost$strength)
hist(centralnost$closeness)
hist(centralnost$betweenness)
hist(centralnost$eigen_centr)
hist(centralnost$page_rank)
Ovi rezultati sugeriraju da:
Važno je primijetiti razliku između eigenvector/PageRank i betweenness mjere:
To znači da mreža može imati više “utjecajnih” aktera, ali manje “nezamjenjivih” aktera.
Kombiniranjem svih mjera dobiva se koherentna slika:
Drugim riječima, struktura se može opisati kao:
Takva konfiguracija tipična je za mreže u kojima status i reputacija nastaju kroz međusobnu povezanost elite, ali operativna kontrola komunikacije i koordinacije može biti koncentrirana u manjem broju čvorova.
Pogledajmo to na grafičkoj vizualizaciji mreže temeljem različitih parametara.
deg <- list(
degree = deg_n * 100, # Vrijednosti centralnosti imaju različite skale; skaliramo za bolji prikaz
strength = str,
closeness = clo_n * 100,
betweenness = bet * 200,
eigen_centr = eig * 50,
page_rank = pr * 1000
)
par(mfrow = c(3,2), mar = c(1, 1, 2, 1))
for (nm in names(deg)) {
set.seed(1)
plot(
g,
layout = layout_with_fr,
vertex.size = deg[[nm]],
edge.color = "grey75",
vertex.color = "steelblue",
vertex.label.cex = 1.5,
main = paste0("centrality: ", nm)
)
}
Paralelni prikazi centralnosti omogućuju da se o mreži govori kao o strukturi u kojoj se “važnost” ne koncentrira na isti način za sve kriterije, nego ovisi o tome promatramo li lokalnu umreženost, globalnu dostupnost, brokersku poziciju ili uključenost u jezgru. Budući da su svi grafovi nacrtani na istom layout-u, promjene u vizualnoj istaknutosti čvorova možemo čitati kao promjenu u vrsti centralnosti, a ne kao posljedicu drugačijeg prostornog rasporeda. Time dobivamo konzistentan uvid u to kako se mreža diferencira na razini neposrednih veza, na razini položaja u cjelini te na razini “kanala” kroz koje se održava povezanost između dijelova mreže.
U grafovima koji kodiraju degree i strength centralnost vidimo jasnu hijerarhiju lokalne povezanosti: postoji manji broj čvorova (2-4) koji imaju značajno više ili intenzivnije veze od ostatka, dok većina čvorova ostaje umjereno povezana ili periferno vezana uz jezgru. Razlika između degree i strength pritom je interpretativno važna jer sugerira da se lokalna “snaga” mrežnog položaja ne svodi samo na broj kontakata, nego i na intenzitet odnosa. Ako se neki čvor relativno više ističe u strength nego u degree prikazu, to implicira da njegova važnost proizlazi iz ponderiranih veza – odnosno da ima manje interakcija, ali intenzivnije odnose. To je tipičan obrazac mreža u kojima se resursi, informacija ili interakcije ne raspodjeljuju jednoliko po vezama, nego određeni odnosi nose disproporcionalan dio ukupnog volumena.
Closeness prikaz daje drukčiji, “smireniji” vizualni dojam: veličine čvorova su ujednačenije, a ekstremi su slabije izraženi. Takav obrazac upućuje na mrežu koja je u globalnom smislu relativno kompaktna, s ograničenim varijacijama u prosječnoj udaljenosti do ostatka strukture. Drugim riječima, iako postoje razlike u lokalnoj povezanosti, većina aktera nije drastično udaljena od jezgre; mreža djeluje kohezivno u smislu geodetskih udaljenosti, što je konzistentno s idejom da informacija ili utjecaj, barem potencijalno, može relativno brzo doseći velik dio sustava. U takvim mrežama closeness centralnost češće razlikuje središnje od rubnih pozicija, nego što otkriva oštru podjelu na izolirane komponente.
Najizraženiju strukturnu priču donosi betweenness graf. U njemu se vizualno pojavljuju dva čvora koji snažno dominiraju, što je klasičan indikator brokerske pozicije i strukturalnog uskog grla. Betweenness ne mjeri popularnost niti prestiž, nego kontrolu nad najkraćim putevima, odnosno stupanj u kojem drugi parovi čvorova ovise o tom čvoru da bi bili povezani kroz efikasne rute. Kada jedan (ili dva, u ovom slučaju) akter toliko odskače, to sugerira da mreža ima modularne elemente ili barem dijelove koji nisu gusto međusobno isprepleteni, nego se oslanjaju na posredničku točku. Takav nalaz je metodološki bitan jer implicira osjetljivost strukture: uklanjanje brokerskog čvora može disproporcionalno promijeniti globalnu povezanost i preusmjeriti tokove, čak i ako u mreži postoje akteri s relativno visokim stupnjem. U interpretaciji društvenih ili organizacijskih mreža to se tipično čita kao potencijalna kontrola informacija, koordinacije ili pristupa resursima – ne nužno kroz posjedovanje najvećeg broja veza, nego kroz položaj između drugih.
Spektralne i “walk-based” mjere, ovdje prikazane preko eigenvector centralnosti i PageRank, vraćaju fokus s mostova na jezgru. Eigenvector prikaz sugerira da mreža ima kohezivnu skupinu međusobno povezanih čvorova koji si uzajamno pojačavaju centralnost, što je karakteristično za strukture u kojima prestiž ili reputacijska važnost proizlazi iz povezanosti s drugima koji su također centralni. Za razliku od betweenness dominacije jednog brokera, eigenvector ističe više čvorova unutar jezgre, čime se nazire “elita” kao grupa međusobno povezanih aktera, a ne kao jedinstveni centar. PageRank daje sličnu sliku, ali stabiliziranu: ublažava ekstremnu dominaciju i raspodjeljuje “vidljivost” nešto ravnomjernije, pa se hijerarhija jezgre doima manje oštra nego u eigenvectoru, a osobito manje oštra nego u betweennessu. To je važan signal da mreža istodobno može imati jasnu jezgru prestiža i istodobno ovisiti o relativno malom broju posredničkih kanala.
Temeljem tih grafova možemo ispričati priču o mreži kroz dvostruku logiku strukture: s jedne strane postoji kohezivna jezgra u kojoj se centralnost reproducira kroz povezanost centralnih s centralnima, a s druge strane postoji barem jedan ključni brokerski položaj koji spaja dijelove mreže i nosi disproporcionalan teret povezivanja po najkraćim putovima. Lokalna umreženost i intenzitet odnosa (degree/strength) ukazuju na hijerarhiju neposrednih veza, ali ne objašnjavaju u potpunosti globalnu ulogu aktera; globalna dostupnost (closeness) sugerira da je mreža u cjelini dovoljno kompaktna da većina aktera nije “daleko” od ostatka; dok posredovanje (betweenness) pokazuje da je funkcionalna kohezija u velikoj mjeri strukturirana kroz jednu ili nekoliko točaka. Spektralne mjere zatim pokazuju da se “važnost” u smislu prestiža i dugoročne vidljivosti ne svodi na posredovanje, nego se nalazi u jezgri kao kolektivnom fenomenu.
U konačnici, ovi prikazi zajedno podupiru interpretaciju mreže kao sustava u kojem su različite dimenzije utjecaja razdvojene: postoji popularnost i kapacitet veza, postoji centralnost kroz blizinu, postoji brokerska kontrola, i postoji reputacijska integriranost u jezgru. Upravo ta razdvojenost dimenzija daje analitičku vrijednost: omogućuje da se izbjegne redukcija važnosti na jednu mjeru i da se umjesto toga pokaže kako mreža proizvodi različite vrste strukturnih prednosti – neke kroz gustoću i uzajamno pojačavanje u jezgri, a neke kroz poziciju mosta koji održava povezivost cijelog sustava.
U nastavku je primjer usmjerene mreže koji je
sadržajno “blizak” kolegiju SNA: mrežu gradimo iz ovisnosti R
paketa koje u SNA tipično koristimo (igraph,
ggraph, tidygraph, sna i
statnet). Svaki luk tumačimo kao ovisnost: ako
paket (\(u\)) treba paket (\(v\)), tada crtamo luk \(u \to v\). Drugim riječima, polazni čvor je
onaj koji ovisi o odredišnom čvoru; npr. ggraph ovisi o
withr, pa je ggraph polazišni čvor \(u\), a with je odredišni čvor
\(v\).
Time dobivamo usmjereni graf \(D=(V,A)\), gdje je svaki luk oblika \(\langle u, v \rangle\) s početkom u \(u\) i završetkom u \(v\). Budući da su ovisnosti po prirodi preduvjeti (da bi \(u\) radio, treba instalirati \(v\)), takva je struktura tipično DAG (usmjerena aciklička mreža), što je i klasična primjena usmjerenih grafova za prikaz ovisnosti.
Kod mjera centralnosti, u ovakvoj mreži posebno je intuitivno promatrati indegree/outdegree. Za čvor \(v\) indegree \(\delta_{in}(v)\) je broj lukova koji “ulaze” u \(v\), a outdegree \(\delta_{out}(v)\) broj lukova koji “izlaze” iz \(v\). U kontekstu ovisnosti, visok indegree znači da je paket “temeljan” (mnogi ga paketi trebaju), a visok outdegree da je paket “zahtjevan” (oslanja se na mnogo drugih). Pritom vrijedi standardna jednakost za usmjerene grafove:
\[ \sum_{v\in V(D)}\delta_{in}(v)=\sum_{v\in V(D)}\delta_{out}(v)=|A(D)|. \] Ovdje je \(V(D)\) skup čvorova, \(|A(D)|\) broj lukova, \(\delta_{in}(v)\) i \(\delta_{out}(v)\) indegree i outdegree čvora \(v\). Jednadžba se računa kad želimo provjeriti konzistentnost popisa bridova.
# 1) Polazni paketi koji se koriste u SNA
pkgs_core <- c("igraph", "ggraph", "tidygraph", "sna", "statnet")
# 2) Rekurzivno dohvaćanje ovisnosti (closure) do "base" paketa
dep_edges <- function(pkgs,
which = c("Depends", "Imports", "LinkingTo"),
db = installed.packages()) {
seen <- character()
queue <- unique(pkgs)
edges <- tibble(from = character(), to = character())
while (length(queue) > 0) {
p <- queue[1]
queue <- queue[-1]
if (p %in% seen) next
seen <- c(seen, p)
deps <- tools::package_dependencies(p, db = db, which = which, recursive = FALSE)[[1]]
deps <- unique(as.character(deps))
deps <- deps[!is.na(deps) & deps != ""]
if (length(deps) > 0) {
edges <- bind_rows(edges, tibble(from = p, to = deps))
queue <- unique(c(queue, deps))
}
}
edges
}
edges <- dep_edges(pkgs_core) %>%
filter(from != to) %>%
distinct()
# 3) Uključivanje i izoliranih čvorova (ako postoje)
nodes <- tibble(name = unique(c(pkgs_core, edges$from, edges$to)))
g <- graph_from_data_frame(edges, directed = TRUE, vertices = nodes)
g <- simplify(g)
# 4) Mjere centralnosti koje su ovdje najintuitivnije
tg <- tidygraph::as_tbl_graph(g) %>%
tidygraph::activate(nodes) %>%
mutate(
indeg = tidygraph::centrality_degree(mode = "in"),
outdeg = tidygraph::centrality_degree(mode = "out")
)
# 5) Vizualizacija: veličina čvora ~ indegree (koliko je puta paket "potreban")
# Sugiyama layout je prirodan za DAG-ove (ovisnosti).
library(ggraph)
set.seed(1)
ggraph(tg, layout = "sugiyama") +
geom_edge_link(arrow = arrow(length = unit(2.5, "mm")),
end_cap = circle(2.5, "mm"),
colour = "grey75",
alpha = 0.5) +
geom_node_point(aes(size = outdeg, colour = indeg)) +
geom_node_text(aes(label = name), repel = TRUE, size = 3) +
scale_colour_gradient(
name = "Indegree\n(koliko \n paketa ovisi \n o ovom)",
low = "#9ecae1",
high = "#1f3a93"
) +
scale_size_continuous(
name = "Outdegree\n(o koliko\n paketa \n ovisi)",
range = c(3, 10)
) +
theme_void() +
theme(
legend.position = "right",
legend.title = element_text(size = 9),
legend.text = element_text(size = 8)
)
igraph::is.directed(g)
## [1] TRUE
"weight" %in% edge_attr_names(g)
## [1] FALSE
vcount(g)
## [1] 84
ecount(g)
## [1] 353
edge_density(g, loops = FALSE)
## [1] 0.0506311
which(igraph::degree(g, mode = "all") == 0)
## named integer(0)
Graf je usmjereni i neponderirani. Sastoji se od 84 čvora i 353 luka. Ne postoje čvorovi sa stupnjem 0 (izolirani). Gustoća mreže iznosi 0.0506, što znači da je realizirano približno 5% svih mogućih usmjerenih veza. Takva vrijednost upućuje na izrazito rijetku strukturu, što je očekivano za mreže ovisnosti koje imaju hijerarhijsku i modularnu organizaciju, a ne logiku “svi sa svima”. Tehnološke mreže poput ove tipično pokazuju nisku gustoću uz snažnu koncentraciju ovisnosti oko manjeg broja infrastrukturnih čvorova.
deg_in_n <- igraph::degree(g, mode = "in", normalized = TRUE)
deg_out_n <- igraph::degree(g, mode = "out", normalized = TRUE)
str_in <- igraph::strength(g, mode = "in")
str_out <- igraph::strength(g, mode = "out")
clo_n <- igraph::closeness(g, normalized = TRUE)
bet_n <- igraph::betweenness(g, normalized = TRUE)
eig <- igraph::eigen_centrality(g)$vector
pr <- igraph::page_rank(g)$vector
hub <- igraph::hub_score(g)$vector
auth <- igraph::authority_score(g)$vector
centralnost <- data.frame(
indegree = deg_in_n,
outdegree = deg_out_n,
strength_in = str_in,
strength_out = str_out,
closeness = clo_n,
betweenness = bet_n,
eigen_centr = eig,
page_rank = pr,
hub = hub,
authority = auth)
psych::describe(centralnost)[, c(2:5,8:12)]
## n mean sd median min max range skew kurtosis
## indegree 84 0.05 0.07 0.02 0.00 0.39 0.39 2.52 7.01
## outdegree 84 0.05 0.06 0.04 0.00 0.24 0.24 1.54 2.00
## strength_in 84 4.20 5.69 2.00 0.00 32.00 32.00 2.52 7.01
## strength_out 84 4.20 4.65 3.00 0.00 20.00 20.00 1.54 2.00
## closeness 67 0.67 0.20 0.65 0.37 1.00 0.63 0.50 -1.00
## betweenness 84 0.00 0.00 0.00 0.00 0.01 0.01 2.36 5.72
## eigen_centr 84 0.30 0.25 0.21 0.01 1.00 0.99 0.91 -0.14
## page_rank 84 0.01 0.02 0.01 0.01 0.14 0.14 5.10 30.26
## hub 84 0.24 0.27 0.13 0.00 1.00 1.00 1.30 0.89
## authority 84 0.16 0.22 0.07 0.00 1.00 1.00 2.26 4.71
Budući da je riječ o mreži tipa DAG (ovisnosti), očekivana je izražena neravnomjernost raspodjele, odnosno postojanje malog broja “temeljnih” čvorova i velikog broja perifernih.
U ovoj mreži:
visok outdegree znači: paket ovisi o mnogim drugim paketima (kompleksniji je u smislu ovisnosti).
visok indegree znači: mnogi paketi ovise o tom paketu (temeljni/infrastrukturni paket).
Zato je u ovom kontekstu:
indegree mjera “temeljnosti” ili strukturne važnosti,
outdegree mjera “ovisnosti” ili zahtjevnosti.
Standardizirani indegree i outdegree imaju istu aritmetičku sredinu (0.05), što je očekivano jer u usmjerenoj mreži vrijedi
\[ \sum_{v \in V} \delta_{in}(v) = \sum_{v \in V} \delta_{out}(v) = |A|, \]
gdje je \(|A|\) broj lukova. Većina paketa ima vrlo malo dolaznih veza, dok mali broj paketa prima velik broj veza (mnogo paketa ovisi o njima). Unatoč tome, medijani se razlikuju (0.02 vs 0.04). To ukazuje na asimetriju u obje distribucije: nekoliko “super-temeljnih” paketa snažno podiže prosjek indegree-a (obrnuto za outdegree).
Prosječna vrijednost normaliziranog indegree-a iznosi 0.05, što znači da tipičan čvor prima oko 5% maksimalno mogućeg broja dolaznih veza (u odnosu na \(n-1\) potencijalnih izvora). Većina paketa ima tek marginalnu strukturnu ulogu u smislu okosnice mreže: samo mali udio drugih paketa izravno ovisi o njima. To je u skladu s tipičnom strukturom tehnoloških mreža, gdje mali broj infrastrukturnih čvorova koncentrira većinu dolaznih veza, dok je većina čvorova perifernog karaktera.
Međutim, distribucije su izrazito asimetrične (možemo vidjeti i na histogramima niže). Indegree ima snažnu pozitivnu asimetriju (2.52) i vrlo visoku zaobljenost (kurtoza = 7.01), što upućuje na to da većina paketa ima vrlo mali broj ulaznih ovisnosti, dok mali broj paketa koncentrira velik broj dolaznih veza (maksimum 0.39). To je tipičan obrazac “temeljnih” paketa (npr. sistemskih ili infrastrukturnih), što je u skladu s teorijom mreža gdje se u tehnološkim sustavima često pojavljuju čvorovi s disproporcionalno velikim stupnjem.
Outdegree je također pozitivno asimetričan (1.54), ali slabije izraženo, što znači da postoje paketi koji ovise o relativno mnogo drugih, ali ta koncentracija nije tako ekstremna kao kod indegree.
Budući da snaga čvora nije normalizirana, poprima bitno veće
vrijednosti od ostalih mjera. No, ove veze nisu ponderirane, što znači
da će ove mjere slijediti distribucije stupnjeva čvora (in- i
out-) Strength_in ima identičnu asimetriju i
kurtosis kao indegree (2.52; 7.01), što potvrđuje da se
koncentracija događa upravo na razini dolaznih veza – nekoliko paketa
akumulira znatan broj ovisnosti (maksimum 32). Strength_out
pokazuje blažu, ali i dalje jasnu desnu asimetriju.
Ovdje je \(n = 67\), što implicira da mreža nije snažno povezana (closeness se računa samo za čvorove koji su dosežni). Closeness centralnost ostvaruje prosjek od 0.67, što uz relativno malu standardnu devijaciju (0.2) upućuje na umjerenu homogenost među dostupnim čvorovima. Blaga pozitivna asimetrija (0.5) znači da manji broj čvorova ima vrlo visoku dostupnost (blizu 1), dok većina ima umjerenije vrijednosti.
Prosječna vrijednost betweenness centralnosti je gotovo nula, a maksimum je 0.01, uz visoku asimetriju (2.36) i kurtosis (5.72). To znači da velika većina čvorova ne posreduje između drugih, dok vrlo mali broj čvorova ima ulogu “mosta” u mreži. U mreži ovisnosti to je očekivano jer DAG strukture često imaju hijerarhijsku, a ne posredničku logiku.
Eigenvector centralnost (mean = 0.30) pokazuje umjerenu desnu asimetriju (0.91), ali bez ekstremne zaobljenosti (−0.14), što sugerira da “utjecaj” nije koncentriran u samo jednom čvoru, nego u manjoj skupini. Nasuprot tome, PageRank pokazuje izrazito ekstremnu distribuciju (skew = 5.10; kurtosis = 30.26). To znači da vrlo mali broj paketa ima znatno veću reputacijsku važnost, dok je većina gotovo jednaka (median = 0.01). Ovakav obrazac je tipičan za sustave ovisnosti gdje nekoliko infrastrukturnih paketa nosi gotovo sav “autoritet”.
Hub vrijednosti imaju umjerenu desnu asimetriju (1.30), što znači da neki paketi intenzivno referenciraju druge (ovisni su o mnogima). Authority pokazuje snažniju asimetriju (2.26) i visoku kurtozu (4.71), što potvrđuje da mali broj paketa ima status autoriteta – mnogi drugi ih trebaju.
Sve distribucije pokazuju izraženu pozitivnu asimetriju, osobito za indegree, strength_in, PageRank i authority. To upućuje na strukturnu neravnotežu karakterističnu za tehnološke i softverske mreže: mali broj čvorova ima disproporcionalno velik strukturni značaj. Takav obrazac je u skladu s literaturom o kompleksnim mrežama i pojavom koncentracije stupnjeva u realnim sustavima.
Ovaj primjer vrlo jasno pokazuje razliku između:
pri čemu svaka mjeri različitu dimenziju strukturne važnosti u usmjerenoj mreži ovisnosti.
par(mfrow=c(5,2))
hist(centralnost$indegree,
main = "Indegree (normalizirani)",
xlab = "Vrijednost centralnosti",
ylab = "Frekvencija",
col = "#86c0ee",
border = "#1f3a93")
hist(centralnost$outdegree,
main = "Outdegree (normalizirani)",
xlab = "Vrijednost centralnosti",
ylab = "Frekvencija",
col = "#86c0ee",
border = "#1f3a93")
hist(centralnost$strength_in,
main = "Strength (in)",
xlab = "Vrijednost centralnosti",
ylab = "Frekvencija",
col = "#86c0ee",
border = "#1f3a93")
hist(centralnost$strength_out,
main = "Strength (out)",
xlab = "Vrijednost centralnosti",
ylab = "Frekvencija",
col = "#86c0ee",
border = "#1f3a93")
hist(centralnost$closeness,
main = "Closeness",
xlab = "Vrijednost centralnosti",
ylab = "Frekvencija",
col = "#86c0ee",
border = "#1f3a93")
hist(centralnost$betweenness,
main = "Betweenness",
xlab = "Vrijednost centralnosti",
ylab = "Frekvencija",
col = "#86c0ee",
border = "#1f3a93")
hist(centralnost$eigen_centr,
main = "Eigenvector centralnost",
xlab = "Vrijednost centralnosti",
ylab = "Frekvencija",
col = "#86c0ee",
border = "#1f3a93")
hist(centralnost$page_rank,
main = "PageRank",
xlab = "Vrijednost centralnosti",
ylab = "Frekvencija",
col = "#86c0ee",
border = "#1f3a93")
hist(centralnost$hub,
main = "HITS – Hub",
xlab = "Vrijednost centralnosti",
ylab = "Frekvencija",
col = "#86c0ee",
border = "#1f3a93")
hist(centralnost$authority,
main = "HITS – Authority",
xlab = "Vrijednost centralnosti",
ylab = "Frekvencija",
col = "#86c0ee",
border = "#1f3a93")
clo_n[!is.finite(clo_n)] <- 0 # nekoliko čvorova ima NaN, moramo ispraviti prije crtanja
deg <- list(
indegree = deg_in_n*100,
outdegree = deg_out_n*100,
strength_in = str_in,
strength_out = str_out,
closeness = clo_n*20,
betweenness = bet_n*2000,
eigen_centr = eig*50,
page_rank = pr*200,
hub = hub*50,
authority = auth*50
)
par(mfrow = c(5,2), mar = c(1, 1, 2, 1))
set.seed(2)
lay <- layout_with_sugiyama(g)$layout*2
for (nm in names(deg)) {
plot(
g,
layout = lay,
vertex.size = deg[[nm]],
edge.color = "grey75",
edge.width = 0.5,
vertex.color = "#9ecae1",
vertex.shape = "sphere", # inicijalni "wow" efekt, ali ne olakšava čitanje
vertex.label.cex = 0.8,
vertex.label.color = "black",
vertex.label.dist = 1,
edge.arrow.size = 0.5,
edge.arrow.width = 0.5,
edge.arrow.lty = 1,
main = paste0("centrality: ", nm)
)
}
Na prvom grafu, gdje je veličina čvora određena indegree-om,
vidi se tipična strukturna neravnomjernost: većina čvorova je mala
(prima malo ili nimalo dolaznih veza), dok je nekolicina izrazito velika
i “vizualno dominira” mrežom. Među dominantnima su methods,
stats, rlang, utils,
cli i lifecycle. To su temeljni
(infrastrukturnih) paketi o kojima ovisi velik broj drugih. Takvi
čvorovi funkcioniraju kao standardni preduvjeti u ekosustavu: bez njih
se velik dio ovisnosti “ruši”, a njihov položaj u mreži često je bliži
“dnu” hijerarhije (preduvjeti su niže u DAG-u).
Kod outdegree-a, veliki čvorovi predstavljaju pakete koji se
oslanjaju na mnogo drugih paketa – dakle “zahtjevnije” pakete u smislu
ovisnosti. Na grafu se obično vidi da su ti čvorovi češće smješteni više
u hijerarhiji (bliže “vrhu” DAG-a), jer “složeniji” paketi koriste velik
broj preduvjeta. Ovdje ih prepoznajemo u čvorovima ggraph,
ergm, ggforce, tidygraph,
ergm.multi, tidyr, dplyr i
igraph. Strukturalno, ovo je obrazac agregacije
funkcionalnosti: manji broj visoko-ovisnih paketa “spaja” mogućnosti
mnogih temeljnih paketa, ali to ne znači nužno da su oni “važniji” kao
infrastrukturna baza — važnost ovdje predstavlja kompleksnost i
integraciju.
Budući da mreža nema stvarne ponderirane veze (nema weight atributa na bridovima), strength_in se ponaša praktički kao indegree, pa graf po strukturi izgleda vrlo slično. Veliki čvorovi i dalje označavaju pakete-preduvjete koji akumuliraju velik broj dolaznih veza, a izrazita razlika u veličinama čvorova naglašava da je distribucija “temeljnosti” vrlo koncentrirana. Analogno prethodnom, u neponderiranom slučaju strength_out prati outdegree. Vizualno, veliki čvorovi otkrivaju pakete koji imaju mnogo izlaznih veza, tj. oslanjaju se na širok skup drugih.
Graf closeness centralnosti u DAG mreži često ističe čvorove
koji su dobro pozicionirani u smislu dosega (kratke prosječne
udaljenosti do drugih čvorova unutar dosežnog dijela mreže). Na prikazu
se vidi više “srednje velikih” čvorova (manje ekstremna koncentracija
nego kod indegree-a), jer closeness ne nagrađuje samo
“temeljne” preduvjete, nego i čvorove koji se nalaze u središnjim
slojevima hijerarhije, a njih je ovdje puno. To je korisno za
identificiranje “prirodnih posrednih slojeva” – paketa koji nisu nužno
najtemeljniji, ali su dobro smješteni u strukturi ovisnosti. Na vrhu po
closeness centralnosti (vrijednost 1) smješteni su
graphics, Matrix, pkgconfig,
rlang, stats, grid,
MASS, withr, lattice,
S7, parallel i rbibutils.
Kod betweenness-a graf pokazuje vrlo mali broj velikih
čvorova (ergm, tibble, stats,
statnet.common, methods, network,
dplyri Matrix imaju betweenness \(>0.05\)), dok je većina gotovo
neprimjetna. To znači da većina paketa ne leži na najkraćim putevima
između drugih paketa, a samo nekolicina djeluje kao “most” između
dijelova mreže. U mreži ovisnosti to često označava kritične spojne
pakete: nisu nužno najčešći preduvjeti (ne moraju imati najveći
indegree), ali povezuju grane DAG-a ili “prelaze” između funkcionalnih
skupina. Strukturno, to su potencijalne točke gdje promjena ili kvar
može imati nesrazmjerno velik utjecaj na povezanost i propagaciju
ovisnosti.
Eigenvector centralnost naglašava čvorove koji su povezani s drugim
“važnim” čvorovima (utils, rlang,
cli, lifecycle, ggraph,
dplyr, ggforce, vctrs). Na grafu
se zato često vidi veća “masa” velikih čvorova nego kod
betweenness-a: ne dominira jedan jedini čvor, nego skupina
strukturno međuovisnih relevantnih paketa. U kontekstu ovisnosti, to
sugerira “jezgru” ekosustava – pakete koji su važni ne samo zato što ih
mnogi trebaju, nego zato što su povezani s drugim temeljima. To je dobar
indikator strukturne jezgre naspram periferije.
PageRank u mreži ovisnosti često rezultira vrlo izraženom
hijerarhijom veličina: nekolicina čvorova postaje ekstremno
velika(utils, grDevices, stats,
methods, graphics, rlang), dok
većina ostaje sitna. To odražava ideju “reputacije” u usmjerenoj
strukturi: čvor je važan ako na njega “upiru” veze iz čvorova koji su i
sami važni. U DAG-u to tipično vodi do identifikacije najstabilnijih,
najreferenciranijih infrastrukturnih ovisnosti. Graf pokazuje
koncentraciju u dijelu čvorova, što je signal da mreža ima jasno
definirane “najvažnije preduvjete” u smislu globalnog utjecaja.
HITS razdvaja dvije uloge: hub čvorovi imaju puno izlaznih
veza prema autoritetima (ggforce, ggraph,
igraph, tidyr, dplyr,
tidygraph, tibble, ggplot2), a
authority čvorovi primaju veze od dobrih hubova
(rlang, utils, cli,
lifecycle, vctrs, stats,
margittr, methods). U mreži ovisnosti to
interpretiramo: hubovi su paketi koji se oslanjaju na mnoge ključne
preduvjete (integratori), dok su autoriteti paketi koji se pojavljuju
kao standardni preduvjeti koje “vrijedi imati”. Na grafovima se obično
vidi da hubovi više “žive” u gornjim slojevima DAG-a, a autoriteti u
donjim. Zajedno, ova dva prikaza lijepo vizualiziraju dvoslojnu logiku
ekosustava: “tko integrira” naspram “što je temelj”.
Degree: broj neposrednih veza (usmjerena: indegree, outdegree).
Normalized degree: degree / (n−1) → usporedba mreža različite veličine.
Strength: zbroj težina veza (u neponderiranoj mreži = degree).
Closeness: “koliko sam blizu svima” (osjetljivo na nepovezane grafove i izolirane čvorove).
Harmonic centrality: robustna “closeness” varijanta za nepovezane mreže (nedosežni čvorovi doprinose 0).
Betweenness: koliko često je čvor na najkraćim putovima drugih (brokeri; osjetljivo na male promjene bridova).
Edge betweenness: isto, ali za bridove → “koje veze drže mrežu na okupu”.
Current-flow betweenness: posredovanje kad se tok raspodjeljuje kroz više ruta (robustnije od shortest-path varijante).
Eigenvector: “važan je tko je povezan s važnima” (jezgra/elitna ukorijenjenost).
PageRank: slučajni hod + teleportacija → stabilnija globalna važnost (osobito u usmjerenim mrežama).
HITS (hub/authority): smislen primarno u usmjerenim mrežama; u neusmjerenoj se hub=authority i često se poklapa sa spektralnom logikom.
Katz: sve šetnje uz slabljenje duljine + bazni input → hvata i indirektni doseg.
Alpha (Bonacich): mrežna pozicija + egzogeni input (npr. bogatstvo); vrijednosti mogu biti negativne → važni su rangovi i usporedbe.
Power (Bonacich power): strukturna moć kroz ovisnost (centralnost ≠ moć).
Subgraph: uključenost u cikluse/klike (lokalna kohezija i “jezgra”).
Ne interpretirati apsolutne brojke, nego rangove unutar iste mreže i razlike između mjera.
Provjeri preduvjete: povezanost grafa (closeness), ponderiranost (strength), usmjerenost (HITS).
Usporedi “lokalno vs. globalno”: degree/strength vs. closeness/betweenness/spektralne mjere.
Centralnost nije isto što i moć: betweenness (kontrola putova) ≠ power (ovisnost).
Bache, S. M., & Wickham, H. (2024). magrittr: A forward-pipe operator for R (R package). CRAN. https://CRAN.R-project.org/package=magrittr
Barrat, A., Barthelemy, M., Pastor-Satorras, R., & Vespignani, A. (2004). The architecture of complex weighted networks. Proceedings of the national academy of sciences, 101(11), 3747-3752.
Bonacich, P. (1972). “Factoring and Weighting Approaches to Status Scores and Clique Identification.” Journal of Mathematical Sociology, 2, 113-120.
Bonacich, P. (1987). Power and Centrality: A Family of Measures. American Journal of Sociology, 92, 1170-1182.
Bonacich, P. and Lloyd, P. (2001). “Eigenvector-like measures of centrality for asymmetric relations” Social Networks, 23, 191-201.
Brandes, U. (2001). A faster algorithm for betweenness centrality. Journal of mathematical sociology, 25(2), 163-177. doi:10.1080/0022250X.2001.9990249
Brin, S., & Page, L. (1998). The anatomy of a large-scale hypertextual web search engine. Computer networks and ISDN systems, 30(1-7), 107-117.
Csardi, G., Nepusz, T., Traag, V., Horvát, S., Zanini, F., Noom, D., & Müller, K. (2026). igraph: Network analysis and visualization (R package). CRAN. https://CRAN.R-project.org/package=igraph
Estrada, E., & Rodriguez-Velazquez, J. A. (2005). Subgraph centrality in complex networks. Physical Review E—Statistical, Nonlinear, and Soft Matter Physics, 71(5), 056103.
Freeman, L.C. (1979). Centrality in Social Networks I: Conceptual Clarification. Social Networks, 1, 215-239. doi:10.1016/0378-8733(78)90021-7
Freeman, L.C. (1979). Centrality in Social Networks I: Conceptual Clarification. Social Networks, 1, 215-239.
Handcock, M. S., Hunter, D. R., Butts, C. T., Goodreau, S. M., & Morris, M. (2025). statnet: Software tools for the statistical analysis of network data (R package). CRAN. https://CRAN.R-project.org/package=statnet
Kleinberg, J. M. (1999). Authoritative sources in a hyperlinked environment. Journal of the ACM (JACM), 46(5), 604-632.
Marchiori, M., & Latora, V. (2000). Harmony in the small-world. Physica A: Statistical Mechanics and its Applications, 285(3-4), 539-546.
Padgett, J. F., & Ansell, C. K. (1993). Robust Action and the Rise of the Medici, 1400-1434. American journal of sociology, 98(6), 1259-1319.
Page, L., Brin, S., Motwani, R., & Winograd, T. (1999). The PageRank citation ranking: Bringing order to the web (Technical Report). Stanford InfoLab.
Pedersen, T. L. (2025). tidygraph: A tidy API for graph manipulation (R package). CRAN. https://CRAN.R-project.org/package=tidygraph
Pedersen, T. L. (2026). ggraph: An implementation of grammar of graphics for graphs and networks (R package). CRAN. https://CRAN.R-project.org/package=ggraph }
Rawlings, C. M., Smith, J. A., McFarland, D. A., & Moody, J. (2023). Network analysis: integrating social network theory, method, and application with R (Vol. 52). Cambridge University Press.
Revelle, W. (2025). psych: Procedures for psychological, psychometric, and personality research (R package). CRAN. https://CRAN.R-project.org/package=psych
Schoch, D. (2025). netrankr: Analysis of centrality measures (R package). CRAN. https://CRAN.R-project.org/package=netrankr
Van Steen, M. (2010). Graph Theory and Complex Networks: An Introduction.
Wickham, H. (2025). tidyverse: Easily install and load the tidyverse (R package). CRAN. https://CRAN.R-project.org/package=tidyverse
Wickham, H., François, R., Henry, L., Müller, K., & Vaughan, D. (2025). dplyr: A grammar of data manipulation (R package). CRAN. https://CRAN.R-project.org/package=dplyr
Zachary, W. W. (1977). An information flow model for conflict and fission in small groups. Journal of anthropological research, 33(4), 452-473.