Mitä minun some-kaverilistani kertoo ystävyydestä?

Viime syksynä kävin kurssin nimeltä “Complex networks” (suom. Monimutkaiset verkostot), jossa perehdyttiin jännittävän verkostoteorian perusteisiin ja tutkimuskohteisiin. Kurssilla pohdimme Yhdysvaltojen lentokenttäverkostolle toimintasuunnitelmaa tartuntataudin varalle. Simuloimme tilannetta, jossa jokin tauti leviää lentojen välityksellä. Tämän ja lentokenttien välisten yhteyksien avulla pystyimme ennakoimaan ne kentät, jotka levittäisivät infektiota kaikkein voimakkaimmin. Toisin sanoen, löysimme ne kriittiset kentät, jotka kannattaisi sulkea mahdollisimman pian epidemian puhjetessa.

Verkostotiede (eng. Network science) on tieteenala, jonka avulla voidaan tutkia paljon muutakin — esimerkiksi internetin levinneisyyttä maailmalla, aivojen oppimiskykyä taikka Tyynenmeren pullonokkadelfiinien välisiä suhteita. Ala on suhteellisen nuori, sillä maailma ei ole aina ollut näin yhtenäinen ja tiivis kuin mitä se nyt on. Minä päätin soveltaa näitä oppeja minun Facebook-kaverieni verkon rakentamiseen ja visualisoimiseen. Lisäksi toivoin, että tämä verkko voisi vastata muutamaan ystävyyteen liittyvään kysymykseen. Tehtävä ei ollut mikään maailman helpoin…


Datan hankkiminen

Minulle oli ehtinyt kertyä vuodesta 2009 asti 1289 kaveria Facebookissa. Jos olisin käynyt läpi jokaikisen erikseen manuaalisesti, olisin tullut hulluksi. Onneksi löysin netistä (lähes) valmiin koodinpätkän, joka automaattisesti käy jokaisen Facebook-kaverini läpi ja tallentaa meidän yhteiset kaverit järkevään muotoon. Tähän prosessiin kului useita päiviä, sillä Facebook hidasti automaattista tietojen kaivamista. Facebookin omat algoritmit tunnistavat nimittäin melko hyvin robotit, jotka se sitten pysäyttää. Yleisesti tämä on hyvä asia, sillä näin kaikki spämmirobotit ja muut epäilyttävät toiminnot saadaan estettyä ajoissa. Tällä on myös kääntöpuolensa; Viattomat ja avuliaat robotit estetään varmuuden vuoksi.

Useiden vaikeuksien jälkeen sain vihdoin datan koottua. Nyt minulla oli lista, jossa oli lähes 70 000 linkkiä. Yksi linkki edustaa kaverisuhdetta kahden minun kaverini välillä. Toisin sanoen, jos kaverini Adam tuntee toisen kaverini Evan, on heidän välillä tällöin linkki. Tosin Adam ei tunne kaveriani Yasinia, mutta Yasin ja Eva tuntevat toisensa. Tällöin (Eva, Yasin) linkki löytyy listaltani mutta (Adam, Yasin) linkkiä ei luonnollisesti löydy. Ehkäpä yksinkertainen kuva havainnollistaa tätä paremmin?

Adam ja Yasin eivät tunne toisiaan, siksi heidän välillä ei ole linkkiä. Kaverini Eva puolestaan tuntee molemmat kaverini. Minä puolestaan olen linkittynyt näihin kolmeen henkilöön, sillä he ovat kaikki kavereitani.

Yllä oleva kuva olisi erinomainen, jos minulla tosiaan olisi Facebookissa pelkästään kolme kaveria, mutta kun niitä on yli 1200, ja linkkejäkin kymmeniä tuhansia. Miten ihmeessä minä sellaista verkkoa tutkisin?

Verkon muodostaminen ja visualisointi

Koodasin verkon käyttäen NetworkX -nimistä työpalkkia avuksi. NetworkX on siis Python-kirjasto, joka on nimenomaan tarkoitettu monimutkaisten verkkojen analysoimiseen. Tosin tämä kirjasto ei tunnetusti ole paras verkkojen visualisointiin, joten jouduin sitä varten turvautumaan muihin keinoihin.

Kolmen eri epäonnistuneen piirtotyökalukokeilun jälkeen, löysin vihdoin toimivan ohjelman, jolla sain verkkoni visualisoitua kauniisti — ja tässä se on… Ta-Daa!

Mielenkiintoinen animaatio verkon muodostumisesta.
Vau! Facebook-kaverini muodostavat mielettömän verkon ympärilleni. Punaine piste keskellä on siis minä!
Hieman smoothimpi visualisaatio. Tästäkin kuvasta erottuvat selkeästi kolme suurta möykkyä.

Keistä verkkoni oikein koostuu?

Ennen kuin tarkastelemme verkon ominaisuuksia matemaattisin menetelmin, tutkitaan yllä olevaa kuvaa hieman tarkemmin. Oikeaan yläkulmaan muodostuu selkeä möykky. Sen tummuus johtuu kahdesta asiasta. Ensinnäkin siihen kuuluu suurin osa Facebook-kavereistani ja toiseksi tähän möykkyyn kuuluvat henkilöt ovat tiiviisti kavereita myös keskenään. Toisin sanoen, minulla on runsaasti yhteisiä kavereita näiden henkilöiden kanssa. Silmämääräisesti uskallan sanoa, että kuvasta erottuu kolme suurta erillistä ja tiheää joukkoa.

Ei ole vaikeaa arvata, keitä näihin kolmeen joukkoon kuuluvat. Suurimmassa joukossa ovat peruskouluajan kaverit ja tuttavat. Tämä edustus on paisunut näin suureksi luultavasti siksi, että lapsena (13-vuotiaana) kynnys pyytää kavereita oli todennäköisesti matalampi kuin vanhempana. Lisäksi olin melko aktiivinen kouluyhteisössä ja oppilaskuntatyössä, mikä osaltaan myös selittää tämän klusterin massiivisuuden.

Toiseksi suurin joukko (vasen yläkulma) koostuu lukiokavereistani. Tämä klusteri on jo selkeästi pienempi kuin peruskoulukavereideni muodostama joukko. Tästä huolimatta siihen kuulu yli 20 % kaikista Facebook-kavereistani. Tähän ryhmään kuuluvat myös tuttavukset, joihin olen tutustunut lukioaikanani, mutta eivät ole käyneet samaa lukiota. Tämä on ymmärrettävää, sillä minä ja minun läheisimmät ystäväni lukiossa olimme (ja olemme edelleen) avoimia ja mielellään tutustuimme toistemmekin ystäviin.

Kolmanneksi suurin ryhmä muodostuu pääosin nykyisistä yliopistoystävistäni ja -tuttavistani. Tämä jako on melko karkea, sillä kuten aikaisemmin tulikin jo ilmi, jaottelu ei ole niin suoraviivaista. Osa samaa peruskoulua tai lukiota käynyttä opiskelee nykyään samassa yliopistossa kuin minä, eli osa Facebook-kavereistani kuuluu useampaan ryhmään. Lisäksi olisi järkevämpää puhua lapsuuden tai lukioajan kavereista sen sijaan, että puhuisi yläastetovereistani tai lukiolaisistani.

Ajattelin aluksi, että visualisaatiosta olisi pystynyt hahmottamaan enemmän (ja selkeämmin) eri kaveriyhteisöjäni. Tämä on itse asiassa yksi verkostotieteen kovimmista tutkimusaiheista: Kuinka löytää luonnollinen jako verkoston jäsenille tiettyjen ominaisuuksien perusteella? Päätin kokeilla algoritmia, joka pyrkii jakamaan verkon sellaisiin moduuleihin (yhteisöihin), joka maksimoi verkon modulariteettiarvon. Voisikohan tämä algoritmi tunnistaa pelkästään verkon rakenteen avulla lisää ryhmiä tai kokonaisia yhteisöjä? Erottaisikohan tämä tekoäly esimerkiksi entisen koripallojoukkueeni taikka sukulaiseni massasta? Kokeillaan!


Oletusresoluutiolla algoritmi tunnisti vain 5 erillistä yhteisöä.

Algoritmi onnistui tunnistamaan melko hyvin viisi eri yhteisöä verkosta. Vihreä alue kuvaa lukioaikani kavereita, tumman vihreä puolestaan yliopistoajan kaveruuksia. Tämä jako huomattiin jo aikaisemmin. Oranssilla merkityt kaverit ovat melko sekalaista porukkaa, sillä algoritmi ei onnistunut jakamaan niitä fiksusti.

Yllätyin kun algoritmi jakoi Martsariväen (kävin Martinlaakson yhteiskoulua) kahteen osaan (lilaan ja siniseen). Se onnistui jakamaan minun ikäiseni ja vanhemmat omaan luokkaan ja nuoremmat omaan. Kun nostin algoritmin resoluutiota, tapahtui jotain vielä yllättävämpää.

Huomaa, että värit ovat erilaiset kun edellisessä kuvassa. Nyt algoritmi löysi kokonaan uuden yhteisön.

Algoritmi löysi nimittäin uuden järkevän yhteisön (lila). Tähän ryhmään kuuluvat nuorisovaltuustokauteni (2009–2013) aikana tapaamani ihmiset. Joukosta löytyy sekä entisiä nuorisovaltuutettuja että muita yhteiskunnallisia vaikuttajia ja päättäjiä. Tällä kertaa algoritmi jakoi Martsariväen kolmeen ryhmään: turkoosit pisteet ovat minua vanhempia, vaalean vihreät ikäisiäni ja vaaleanpunaiset minua nuorempia. Ilmeisesti eri vuosikurssilaiset eivät olleet tekemisissä keskenään mitenkään erityisen tiiviisti Martsarissa.

Kun nostin resoluutiota vielä kerran, tapahtui kummia!

  1. Martsariväki jakautui lopulta viiteen eri ryhmään. Yksi näistä ryhmistä koostui pelkästään naapuriyläkoulua käyneistä kavereista!
  2. Olin seiskaluokkalaisena 10 päivän pituisessa vaihdossa Ranskassa. Tämän vaihdon aikana sain paljon uusia paikallisia kavereita, jotka muodostavat kaveriverkostossani oman klusterin. Pystytkö erottamaan tämän klusterin aikaisemmasta kuvasta? Vinkki: Vaihdossa oli myös muita ikäisiäni martsarilaisia.
  3. Algoritmi löysi hyvin mielenkiintoisen ryhmän verkosta. Siihen kuuluu entisiä korisjengiläisiäni ja heidän vanhempia. Huomasin kuitenkin, että tämä ryhmä oli liian suuri ollakseen pelkästään “korisyhteisö”. Kävi ilmi, että tästä ryhmästä löytyi itse asiassa myös muita urheilullisia kavereitani, jotka sattuvat tuntemaan koristovereitani enemmän kuin muita kavereitani. Tämä liittynee sosiaalisten verkkojen tunnettuun ominaisuuteen: Ihmisellä on taipumus kaveerata ja viettää aikaa muiden samanhenkisten ihmisten kanssa.

Vaikka algoritmi ei onnistunut erottelemaan aivan kaikkia ryhmiä (esim. Aasiassa tapaamani kaverit, työkaverit) massasta, olen tyytyväinen sen suoritukseen. Rakentamani verkko tietää vain keitä ovat kavereitani ja tuntevatko he toisensa. Sillä ei ole mitään hajua kenenkään iästä, asuinpaikasta taikka mistään muustakaan henkilökohtaisesta tiedosta. Siinä mielessä hyvää työtä tekoälyltä!

Kertooko verkko mitään ystävyydestä?

Kokeillaan tätä todistamalla tietyt väitteet todeksi tai epätodeksi. On hyvä muistaa, että vastaukset näihin pohdintoihin saattavat riippua kovasti henkilön kaverilistasta, eikä vastauksia siksi kannata yleistää liikaa! Mennään ensimmäiseen väitteeseen:

  1. Minulla on eniten yhteisiä kavereita läheisimpien ystävieni kanssa.

Verkko paljasti, että minulla on Facebookissa eniten yhteisiä kavereita parhaimman lapsuuden ystäväni kanssa. Tämä käy järkeen, sillä hän kävi myös samaa ala -ja yläkoulua sekä pelasimme korista samassa joukkueessa vuosia. MUTTA! Minulla on myös yli 200 yhteistä kaveria neljän muun henkilön kanssa, joille olen hädin tuskin koskaan jutellut. Kun laitoin kaverit järjestykseen (ensimmäisenä henkilö, jonka kanssa minulla on eniten yhteisiä kavereita), ensimmäinen läheinen ystäväni oli listalla vasta 50. Hänen kanssaan minulla oli reilut 150 yhteistä kaveria.

Vähiten minulla oli yhteisiä kavereita sellaisten henkilöiden kanssa, jotka olen tavannut ulkomailla tai Suomessa kansainvälisissä tapahtumissa.

Lopputulos: Väite on siis epätosi

2. Väite: Kaikki kaverini olisivat linkittyneitä toisiinsa ilman minuakin

Neljä erillistä komponenttia paljastuu verkosta.

Alkuperäisessä verkossa kaikki kaverini olivat linkittyneitä vähintään minun kautta. Poistin itseni verkosta, jonka jälkeen piirsin verkon uudelleen. Suurin osa kavereistani (98.5%) olisi edelleen linkittynyt jollain tapaa toisiinsa. Palataan tähän ällistyttävään havaintoon myöhemmin.

Tarkkasilmäisenä varmaan huomasit, että vihreän jättijoukon lisäksi löytyy kolme muuta erillistä komponenttia. Näiden välillä ei olisi yhteyksiä ilman minua (ainakaan Facebookin perusteella). Lilat pisteet ovat henkilöitä, jotka tapasin Tanskassa 2012 järjestetyssä Itämeren suojeluun liittyvässä konferenssissa. Ryhmään kuului saksalaisia ja ruotsalaisia. Itse asiassa myös sinisistä pisteistä muodostuva porukka on samasta tapahtumasta. Tosin näihin kavereihin tutustuihin erään workshopin kautta kun taas lilan porukan ihmiset tulivat tutuksi vapaa-ajan ja urheiluaktiviteettien kautta. Odotin, että tämä “Tanskaporukka” olisi ollut yhtenäinen.

Tutkitaan vihreää komponenttia tarkemmin. Sen mukaan 98.5 % kavereistani voisivat teoriassa saada yhteyttä johonkin toiseen tähän joukkoon kuuluvaan kaveriin ilman minua. Tähän joukkoon kuuluvat ihmiset ovat eri puolilta maailmaa. Tämä tarkoittaa siis sitä, että esimerkiksi Indonesian Sumatralla tapaamani perhe on linkittynyt joidenkin muiden kavereideni kautta turkulaisiin lapsuudenystäviini. Lisäksi tämä paljastaa, että minun entinen koripallovalmentajani on linkittynyt jotakin kautta EKP:n talouskilpailussa (Frankfurt 2015) tutustumiini eurooppalaisiin nuoriin. Cool!

Laskin, että tämän vihreän verkon halkaisija olisi suuruudeltaan 10. Tämä tarkoittaa siis, että pisin mahdollinen “etäisyys” kahden kaverin välissä olisi 10 yksikköä. Toisin sanoen, minun verkostani löytyy kaksi kaveria, jotka tuntevat (jos minua ei siis lasketa) toisensa yhdeksän muun kaverini kautta. Keskimääräinen etäisyys oli kuitenkin 3 yksikköä (2 välihenkilöä). Jos olet siis Facebook-kaverini, etkä kuulu edellä mainittuun “Tanskaporukkaan”, tuntisit loput kaverini keskimäärin kahden muun henkilön kautta (Joku sinun kavereistasi tuntee jonkun, joka tuntee minun kaverini).

Lopputulos: Merkittävä osa kavereistani (98.5 %) olisi jollain tapaa verkostoitunut Facebookissa vaikka poistaisin profiilini.

3. Väite: Ystäväni ovat vaikutusvaltaisia

Laskin kaikille verkon pisteille eli kavereilleni keskeisyysluvun (eng. betweenness centrality). Suuri keskeisyysluku yleensä viittaa siihen, että henkilöllä on valtaa vaikuttaa hänen ympärillä olevien ihmisten väliseen vuorovaikutukseen. Usein tämä henkilö toimii ikään kuin sillanrakentajana eri verkon osien välillä. Sovitaan, että vaikutusvaltaisuus on tässä tapauksessa “kykyä toimia siltana”. Tietyn henkilön keskeisyysluvun laskemiseen tarvitaan tieto siitä, kuinka usein kahden muun ihmisen välinen lyhin reitti joutuu kulkemaan nimenomaan tämän henkilön kautta. Edellinen lause saattaa vaatia hieman sulattelua…

Halusin jokaiselle klusterille ikään kuin omat “vaikutusvaltaiset” henkilöt, joten valitsin jokaisesta ryhmästä kaksi suurimman keskeisyysluvun saanutta kaveria tarkempaa tarkastelua varten.

Isot pisteet ovat loistavia sillanrakentajia kaveriverkostossani.

Algoritmi teki jälleen kerran erittäin hyvää työtä, nimittäin kaikki suuren keskeisyysluvun saaneet kaverini ovat todella aktiivisia ja hyviä tyyppejä! Ikäisistäni ja vanhemmista yläastetovereistani valitsin poikkeuksellisesti kolme merkittävintä kaveria, sillä yhteisö on niin suuri. Näistä kaksi ovat parhaimpia lapsuudenystäviäni. Kolmas näistä liloista pisteestä on myös hyvä kaverini. Hän tuntee lisäksi hyvin lukio -ja yliopistokavereitani, mikä luultavasti nosti hänen keskeisyyslukua. Näitä kaikkia yhdistää kolme piirettä: He ovat ulospäinsuuntautuneita, urheilullisia sekä kiinnostavia persoonia.

Vaaleanvihreästä joukosta (lukioaika) toinen parhaimmista sillanrakentajista on hyvin läheinen ystäväni. Hän on tunnettu rehellisyydestään sekä sosiaalisista taidoistaan. Toiseksi suurimman keskeisyysluvun saanut tästä yhteisöstä on myös todella hyvä tyyppi: erittäin aktiivinen esimerkiksi yliopistoni yrittäjyysyhteisössä. Hän on siis ollut kanssani samassa lukiossa, yliopistossa ja korisjengissä, mikä on varmasti osasyy korkeaan keskeisyysarvoon.

Yliopistoyhteisöstä (tummanvihreä) nousi kaksi hyvin yllättävää kaveria. Molemmat heistä on käynyt samaa koulua kun minä myös ennen yliopistoa. Heitäkin molempia yhdistää ahkeruus vapaaehtoistoiminnassa. Mielenkiintoista on myös se, että molemmat reissaavat ympäri maailmaa todella paljon!

Lopputulos: Joo ja ei. “Vaikutusvaltaisimmat” henkilöt kaveriverkostossani ovat kieltämättä sellaisia persoonia, jotka sopivat todella hyvin tähän profiiliin. Lisäksi heillä on yllättävä määrä yhteisiä piirteitä. Mutta vain yksi näistä on (nykyään) hyvin läheinen ystäväni.

Oliko tässä mitään järkeä?

Näihin väitteisiin voisi perehtyä perusteellisemminkin ja lisääkin voisi keksiä vaikka kuinka paljon! Halusin kuitenkin pitää tämän kirjoituksen kevyenä ja yleistajuisena.

On totta, että tämä verkko on rakennettu nimenomaan ympärilleni (egosentrinen verkosto, eng. egocentric social network), sillä tutkimme kaverisuhteita, mutta joissain tutkimuksissa (esim. tässä) on havaittu, että henkilöiden tietyt ominaisuudet egosentrisessä verkostossa pätee myös yleisissä sosiaalisissa verkostoissa (sociocentric network). Jos esimerkiksi henkilö A on voimakkaasti linkittynyt rakentamassani verkostossa, on hyvin todennäköistä, että tällä henkilöllä on todellakin keskimääräistä henkilöä enemmän kavereita yleisestikin.

Halusin vielä tarkistaa onko todella näin. Kävin kurkkaamassa näiden “vaikutusvaltaisten” henkilöiden kaverilistoja Facebookissa — Ja kyllä, heidän kaverimäärä oli sekä keskiarvoltaan että mediaaniltaan yli 1000 kaveria.

Mutta kertooko tämä some-kaverilistani pohjalta rakennettu verkko mitään ystävyydestä? Se riippuu paljolti siitä, mitä ystävyys merkitsee sinulle.

Kiitos Annalle, Eerolle, Oskarille ja siskolleni kommentoinnista!