Verkoston muutoksen mallinnus ja visualisointi Verkostoanalyysi 2011 -seminaari Tampere teknillinen yliopisto Jaakko Salonen Tampereen teknillinen yliopisto Hypermedialaboratorio 1
Tässä esityksessä Dynaamiset verkostot ja muutos verkostoissa Verkoston muutoksen mallinnus Dynamiikan mallinnus Gephillä ja GEXF:llä Graph Streaming Dynamiikan visualisointi Gephillä Yhteenveto 2
Dynaamiset verkostot ja muutos verkostoissa Käsite: Dynamic network analysis (DNA) Mahdollista analysoida isoja, monimoodisia, monilinkkisiä verkostoja, joissa datan epävarmuustaso vaihteleva (vrt. Carley, 2003) Solmujen ja kaarien ominaisuudet voivat muuttua ajan suhteen Mahdollistaa verkostopohjaisten prosessien analysoinnin. Esimerkkejä muutosprosesseista: (Ibid.) Ihmisverkostot: Syntymä, kuolema, ylennys, liikkuvuus, rekrytointi, jne. Resurssi/tietämys-verkostot: innovaatio, löyty, unohtaminen, käyttö Tapahtuma/tehtävä-verkostot: tavoitteen muutos, reengineering, teknologianvaihdokset Organisaatio-verkostot: syntyminen, kuolema, yhdistymiset, jne. 3
Verkoston muutoksen mallinnus (1/3) Mallinnuksen pohjana ajan suhteen muuttuva graafi Formalisointi (Casteigts et al. 2010) Käsite: aika-riippuva graafi (engl. time-varying graph; TVG): G = (V, Ε, Τ, ρ, ξ), jossa V : solmujen joukko Ε : kaarien joukko Τ : ajanjakso, systeemin elinajan osajoukko, ts. T T ρ : läsnäolofunktio (engl. presence) ρ: Ε x Τ {0, 1}, määrittelee kaaren läsnäolon annetulla ajan hetkellä ξ : latenssifunktio (ξ: Ε x Τ Τ ); kaaren läpikäyntiin vaadittava aika (huom! voi muuttua ajan funktiona!) 4
Verkoston muutoksen mallinnus (2/3) Esimerkki dynaamisen verkoston mallinnuksesta käytännössä: Solmuja v kpl Kaaria e kpl Ajanjakso, 0, 1,, t (arvot diskreettejä, yksikkönä sekuntti) Läsnäolofunktio nyt kuvattavissa e x t matriisina Esimerkkiarvoja: v=100 suunnatussa graafissa max. 100x100=10000 kaarta e=10000, t=60 (sekuntia) 10000 x 60 matriisi (=600000 alkiota) e=10000, t=86400 (=1 päivä sekuntteina) 10000 x 86400 matriisi (=860.400.000 alkiota (!!!)) Matriisiesitys potentaalisesti valtava 5
Verkoston muutoksen mallinnus (3/3) Erityisesti visualisointikäyttöön riittää usein, että pystytään pyynnöstä laskemaan verkoston annetulla ajanhetkellä t: Lasketaan mallin perusteella läsnäolo- ja latenssifunktiot vain annetulle ajanhetkelle t Läsnäolofunktio ρ t : Ε {0, 1} Latenssifunktio ξ t : Ε Τ Alkiota onkin vain 2e kpl! 6
Dynamiikan mallinnus Gephillä Esitellään dynaamisen verkoston mallinnusta ja visualisointia Gephi-työvälineellä (http://gephi.org/) Ominaisuuksia: Dynaamista graafia voidaan tarkastella ajan funktiona (playback sekä tilannekuva valitulla ajan hetkellä) Visualisointi muuttuu ajanhetken perusteella Myös ladonnasta saadaan dynaminen, ts. ladonta päivittyy muutoksen myötä Mallinnusvaihtoehtoja: Dynaaminen GEXF-esitys Graph streaming -laajennus 7
GEXF-dynamiikka (1/3) Gephin tukema GEXF (Graph Exchange XML format) mahdollistaa myös dynaamisten verkostojen esittämisen Dynamiikan voi ottaa käyttöön attribuuttikohtaisesti (attribuutteja ovat kaikki solmujen ja kaarien ominaisuudet) Aikasarjan tietotyypit: (http://www.gexf.net/1.2draft/dynamics.xsd) Diskreetti (integer) Jatkuva (double) Päivämäärä ja/tai kellonaika (date, datetime) 8
GEXF-dynamiikka (2/3) Sekä solmujen että kaarien olemassaolo voidaan määrittää ajasta riippuvaksi (http://www.gexf.net/format/dynamics.html) Attribuutit start, startopen, end, endopen Tila on binäärinen (0 / 1) Esimerkkejä: <node id="n2" label="actor 2" start="0.0" end="30.0" /> ja <edge id="e3" source="n2" target="n3" weight="1.0" start="20.0" end="30.0" /> Määrittely mahdollista myös paloittain spells-elementillä: <node id="n1" label="actor 1"> <spells> <spell start="0.0" end="5.0" /> <spell start="10.0" end="15.0" /> </spells> </node> 9
GEXF-dynamiikka (3/3) Dynamiikka attribuuteissa (sekä solmut että kaaret): <attributes class= edge timeformat= double mode= dynamic > <attribute id= weight type= float ></attribute> </attributes> Attribuutin muutokset kuvataan attvalues-elementissä: <edge source= x target= y > <attvalues> <attvalue for= weight value= 1 end= 2011-04-01 /> <attvalue for= weight value= 2 start= 2011-04-01 end= 2011-04-14 /> </attavalues> </edge> Mistä tahansa attribuutista voidaan siis tehdä dynaaminen 10
Kokonainen GEXF-esimerkki <?xml version="1.0" encoding="utf-8"?> <gexf xmlns="http://www.gexf.net/1.1draft" version="1.1" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:schemalocation="http://www.gexf.net/1.1draft http://www.gexf.net/1.1draft/gexf.xsd "> <graph defaultedgetype="undirected" timeformat="double" mode="dynamic"> <attributes class="edge" timeformat="double" mode="dynamic"> <attribute id="weight" type="float"></attribute> </attributes> <nodes> <node id="n1" label="actor 1"> <spells> <spell start="0.0" end="5.0" /> <spell start="10.0" end="15.0" /> <spell start="20.0" end="25.0" /> </spells> </node> <node id="n2" label="actor 2" start="0.0" end="30.0" /> <node id="n3" label="actor 3" start="10.0" end="30.0" /> </nodes> <edges> <edge id="e1" source="n1" target="n2" weight="1.0" /> <edge id="e2" source="n1" target="n3" weight="1.0" /> <edge id="e3" source="n2" target="n3" weight="1.0"> <attvalues> <attvalue for="weight" value="2.0" start="0.0" endopen="10.0" /> <attvalue for="weight" value="3.0" start="10.0" end="20.0" /> </attvalues> </edge> </edges> </graph> </gexf> 11
Graph Streaming -laajennus Gephi-laajennus, jolla graafidataa voidaan hakea Gephiin virta-muotoisena (vrt. Panisson, 2010) Perustuu yleisempään Graph Streaming API -rajapintamääritykseen (Panisson et al., 2011) Sekä laajennus, että rajapinta ovat kehitteillä ja voivat siis vielä muuttua Perusideana kuitenkin: Tarjotaan (HTTP-pohjainen) rajapinta graafin tilan hakuun JSON (JavaScript Object Notation) -pohjainen vastaus, joka mallintaa graafin muutoksen pyyntöjen välillä Laskennallisesti tehokkaampi: XML:ää kevyempi formaatti; riittää, että lasketaan graafin tila annetulla ajan hetkellä 12
Dynamiikan visualisointi Gephillä Datalaboratorionäkymä Solmun ja kaarien ominaisuudet Dynaaminen ladonta Force Atlas Yksi tapa weight-attribuutin visualisointiin Esimerkin parametrisointi: repulsion strenght: 100000.0 Aikavalitsimen käyttö Aikavalinnan leveysvalinta Esimerkissä max. 5% kokonaiskestosta 13
Dyn. ladonnasta Gephissä yleisemmin (1/2) Suppeahko esimerkkidata ei nosta kaikkia haasteita esiin. Parempi datasetti ladonnan kokeiluun: File Generate Dynamic Graph Example... Force Atlas -ladonta: Repulsion ja attraction strenght suhde oltava sopiva, muuten graafin skaalaus muuttuu liikaa ajan funktiona (empiirisesti hyvä suhde 1:1000) Myös gravity oltava riittävä (attraction*20=gravity näyttää tuottavan hyviä tuloksia) Mahdollistaa painotuksen (weight) visualisoinnin 14
Dyn. ladonnasta Gephissä yleisemmin (2/2) Fruchterman Reingold Solmut säilyttävät paremmin asemansa, algoritmi hallitsee automaattisesti myös skaalaukset Datajoukolle, jolla tuntemattomat dynamiikkaominaisuudet Painotus ei vaikuta visualisointiin Soveltuu erityisesti kaarien muutoksen visualisointiin Gephin vakioalgoritmeista (0.8a) muut eivät näytä tukevan dynaamista ladonta 15
GEXF ja Gephi haasteet ja mahdollisuudet GEXF Mahdollistaa solmujen, kaarten ja niiden attribuuttien muutosten mallinnuksen Haasteena hienorakenteisten, erityisesti ei-diskreettinen muutosten mallinnus: esim. jokainen weight-attribuutin muutos (1 1.1 1.2 1.3, jne.) pitää kuvata uutena XMLelementtinä. tällaisten muutosten mallinnukseen tarvitaan väistämättä Graph Streaming -laajennus tai vastaava menettely Gephi Vain perusominaisuudet GEXF-dynamiikan visualisointiin Merkittävää osaa dynamiikasta ei Gephin nykyversiolla voi mielekkäästi visualisoida 16
Yhteenveto Muutoksen mallinnus verkostoon mallistaa uusia sovelluskohteita Dynaamisten verkostojen mallinnuksen haasteena potentiaalisesti laskennallinen vaativuus. Tätä voidaan kiertää pyrkimällä mallia luodessa ennakoimaan laskennan tarpeita (vrt. lasketaanko tunnuslukuja vai tehdäänkö dynamiikan visualisointia) GEXF-formaatilla voidaan kuvata dynamiikka verkostossa sen eri tasoilla (solmut, kaaret, attribuutit) Gephi-sovellus sisältää tuen joidenkin dynaamisten ominaisuuksien visualisointiin Dynaaminen verkostomallinnus on selvästi kehittyvä verkostoanalyysiin osa-alue voidaan olettaa, että sovellukset ja menetelmät kehittyvät jatkossa 17
Kiitos! Kysymyksiä? 18
Lähteet Carley, M., K. (2003). Dynamic Network Analysis. Summary of the NRC workshop on Social Network Modeling and Analysis. National Research Council. Casteigts, A., Flocchini, P. Quattrociocchi, W., Santoro. N. (2010). Time- Varying Graphs and Dynamic Networks. Panisson, A. (2010). Graph Streaming. Online. Available at: http://gephi.org/plugins/graph-streaming/ Panisson, A., et al. (2011). Specification GsoC Graph Streaming API. Wikipage. Available at: http://wiki.gephi.org/index.php/specification_-_gsoc_graph_streaming_api 19