Modularitet (nätverk)

Exempel på modularitetsmätning och färgning på ett skalfritt nätverk .

Modularitet är ett mått på strukturen hos nätverk eller grafer som mäter styrkan i uppdelningen av ett nätverk i moduler (även kallade grupper, kluster eller gemenskaper). Nätverk med hög modularitet har täta kopplingar mellan noderna inom moduler men glesa kopplingar mellan noder i olika moduler. Modularitet används ofta i optimeringsmetoder för att upptäcka gemenskapsstruktur i nätverk. Det har dock visat sig att modularitet lider av en upplösningsgräns och att den därför inte kan upptäcka små samhällen. Biologiska nätverk, inklusive djurhjärnor, uppvisar en hög grad av modularitet.

Motivering

Många vetenskapligt viktiga problem kan representeras och empiriskt studeras med hjälp av nätverk. Till exempel är biologiska och sociala mönster, World Wide Web, metaboliska nätverk, näringsnät, neurala nätverk och patologiska nätverk verkliga problem som kan representeras matematiskt och topologiskt studeras för att avslöja några oväntade strukturella egenskaper. De flesta av dessa nätverk har en viss gemenskapsstruktur som har stor betydelse för att bygga upp en förståelse för nätverkets dynamik. Till exempel kommer en nära ansluten social gemenskap att innebära en snabbare överföring av information eller rykten bland dem än en löst ansluten gemenskap. Således, om ett nätverk representeras av ett antal individuella noder sammankopplade med länkar som betecknar en viss grad av interaktion mellan noderna, definieras gemenskaper som grupper av tätt sammankopplade noder som endast är sparsamt sammankopplade med resten av nätverket. Därför kan det vara absolut nödvändigt att identifiera gemenskaperna i nätverk eftersom gemenskaperna kan ha helt olika egenskaper såsom nodgrad, klustringskoefficient, mellanhet, centralitet. etc. från det genomsnittliga nätet. Modularitet är en sådan åtgärd, som när den maximeras leder till uppkomsten av gemenskaper i ett givet nätverk.

Definition

Modularitet är andelen av kanterna som faller inom de givna grupperna minus den förväntade andelen om kanterna fördelades slumpmässigt. Värdet på modulariteten för oviktade och oriktade grafer ligger i området . Det är positivt om antalet kanter inom grupper överstiger det antal som förväntas på grund av slumpen. För en given uppdelning av nätverkets hörn i vissa moduler, reflekterar modularitet koncentrationen av kanter inom moduler jämfört med slumpmässig fördelning av länkar mellan alla noder oavsett moduler.

Det finns olika metoder för att beräkna modularitet. I den vanligaste versionen av konceptet görs randomiseringen av kanterna för att bevara graden av varje vertex. Betrakta en graf med noder och länkar ( edges ) så att grafen kan delas upp i två gemenskaper med hjälp av en medlemskapsvariabel . Om en nod tillhör gemenskap 1, , eller om tillhör gemenskap 2, . Låt närliggande matris för nätverket representeras av , där betyder att det inte finns någon kant (ingen interaktion) mellan noderna och och betyder att det finns en kant mellan de två. Även för enkelhetens skull betraktar vi ett oriktat nätverk. Alltså . (Det är viktigt att notera att flera kanter kan finnas mellan två noder, men här bedömer vi det enklaste fallet).

Modularitet definieras då som bråkdelen av kanter som faller inom grupp 1 eller 2, minus det förväntade antalet kanter inom grupp 1 och 2 för en slumpmässig graf med samma nodgradsfördelning som det givna nätverket.

Det förväntade antalet flanker ska beräknas med hjälp av konceptet med en konfigurationsmodell . Konfigurationsmodellen är en randomiserad realisering av ett visst nätverk. Givet ett nätverk med noder, där varje nod har en nodgrad , skär konfigurationsmodellen varje kant i två halvor, och sedan varje halva edge, som kallas en stubb , kopplas om slumpmässigt med vilken annan stubb som helst i nätverket, vilket till och med tillåter självslingor (som uppstår när en stubb kopplas om till en annan stub från samma nod) och flera kanter mellan samma två noder. Således, även om nodgradsfördelningen av grafen förblir intakt, resulterar konfigurationsmodellen i ett helt slumpmässigt nätverk.

Förväntat antal kanter mellan noder

Betrakta nu två noder och , med nodgrader respektive från ett slumpmässigt kopplat nätverk som beskrivs ovan. Vi beräknar det förväntade antalet helkanter mellan dessa noder.

Låt oss betrakta var och en av stubbarna i nod och skapa associerade indikatorvariabler för dem, , med om -th-stubben råkar ansluta till en av stubbarna i nod i denna speciella slumpmässiga graf . Om det inte gör det, då . Eftersom -th stubben av nod kan ansluta till vilken som helst av de återstående stubbarna med lika sannolikhet, och eftersom det finns stubbar som den kan ansluta till associerad med nod , uppenbarligen

Det totala antalet helkanter mellan och är bara denna kvantitet är

Många texter gör sedan följande approximationer, för slumpmässiga nätverk med ett stort antal kanter. När är stor släpper de subtraktionen av i nämnaren ovan och använder helt enkelt det ungefärliga uttrycket för det förväntade antalet kanter mellan två noder. Dessutom, i ett stort slumpmässigt nätverk, är antalet självslingor och multi-kanter försvinnande litet. Genom att ignorera självslingor och multi-kanter kan man anta att det finns högst en kant mellan två valfria noder. I så fall en binär indikatorvariabel, så dess förväntade värde är också sannolikheten att den är lika med , vilket betyder att man kan approximera sannolikheten för att en kant existerar mellan noder och som .

Modularitet

Därför är skillnaden mellan det faktiska antalet kanter mellan nod och och det förväntade antalet kanter mellan dem

Att summera över alla nodpar ger ekvationen för modularitet, .

 

 

 

 

()

Det är viktigt att notera att ekv. 3 fungerar endast för uppdelning i två grupper. Hierarkisk partitionering (dvs. partitionering i två gemenskaper, sedan de två undergemenskaperna ytterligare partitionerade i två mindre undergemenskaper endast för att maximera Q ) är en möjlig metod för att identifiera flera gemenskaper i ett nätverk. Dessutom kan (3) generaliseras för att dela upp ett nätverk i c -gemenskaper.

 

 

 

 

()

där e ij är bråkdelen av kanter med ena ändpunkten i gemenskap i och den andra i gemenskap j :

och a i är bråkdelen av ändar av kanter som är fästa vid hörn i community i :

Exempel på upptäckt av flera gemenskaper

Vi betraktar ett oriktat nätverk med 10 noder och 12 kanter och följande närliggande matris.

Fig 1. Provnätverk motsvarande Adjacency-matrisen med 10 noder, 12 kanter.
Fig 2. Nätverkspartitioner som maximerar Q. Maximalt Q=0,4896
Nod-ID 1 2 3 4 5 6 7 8 9 10
1 0 1 1 0 0 0 0 0 0 1
2 1 0 1 0 0 0 0 0 0 0
3 1 1 0 0 0 0 0 0 0 0
4 0 0 0 0 1 1 0 0 0 1
5 0 0 0 1 0 1 0 0 0 0
6 0 0 0 1 1 0 0 0 0 0
7 0 0 0 0 0 0 0 1 1 1
8 0 0 0 0 0 0 1 0 1 0
9 0 0 0 0 0 0 1 1 0 0
10 1 0 0 1 0 0 1 0 0 0

Gemenskaperna i grafen representeras av de röda, gröna och blå nodklustren i fig 1. De optimala gemenskapspartitionerna visas i fig 2.

Matrisformulering

En alternativ formulering av modulariteten, användbar speciellt i spektrala optimeringsalgoritmer, är följande. Definiera till om vertex tillhör gruppen och annars. Sedan

och följaktligen

där är den (icke-kvadratiska) matrisen med elementen och är den så kallade modularitetsmatrisen, som har element

Alla rader och kolumner i modularitetsmatrisen summeras till noll, vilket innebär att modulariteten för ett odelat nätverk också alltid är {\ .

För nätverk uppdelade i bara två gemenskaper kan man alternativt definiera för att ange den gemenskap som noden tillhör, vilket sedan leder till

där är kolumnvektorn med elementen .

Denna funktion har samma form som Hamiltonian för ett Ising- spinglas , en anslutning som har utnyttjats för att skapa enkla datoralgoritmer, till exempel genom att använda simulerad glödgning , för att maximera modulariteten. Den allmänna formen av modulariteten för godtyckliga antal gemenskaper är likvärdig med ett Potts spinglas och liknande algoritmer kan också utvecklas för detta fall.

Upplösningsgräns

Modularitet jämför antalet kanter inuti ett kluster med det förväntade antalet kanter som man skulle hitta i klustret om nätverket var ett slumpmässigt nätverk med samma antal noder och där varje nod behåller sin grad, men kanter är annars slumpmässigt fästa. Denna slumpmässiga nollmodell antar implicit att varje nod kan kopplas till vilken annan nod som helst i nätverket. Detta antagande är dock orimligt om nätverket är mycket stort, eftersom horisonten för en nod inkluderar en liten del av nätverket och ignorerar det mesta. Dessutom innebär detta att det förväntade antalet flanker mellan två grupper av noder minskar om storleken på nätverket ökar. Så om ett nätverk är tillräckligt stort kan det förväntade antalet flanker mellan två grupper av noder i modularitetens nollmodell vara mindre än en. Om detta händer skulle en enda kant mellan de två klustren tolkas av modularitet som ett tecken på en stark korrelation mellan de två klustren, och optimering av modularitet skulle leda till sammanslagning av de två klustren, oberoende av klustrens egenskaper. Så även svagt sammankopplade kompletta grafer, som har högsta möjliga täthet av interna kanter, och representerar de bästa identifierbara gemenskaperna, skulle slås samman genom modularitetsoptimering om nätverket var tillräckligt stort. Av denna anledning skulle optimering av modularitet i stora nätverk misslyckas med att lösa små samhällen, även när de är väldefinierade. Denna fördom är oundviklig för metoder som modularitetsoptimering, som förlitar sig på en global nollmodell.

Flerupplösningsmetoder

Det finns två huvudsakliga tillvägagångssätt som försöker lösa upplösningsgränsen inom modularitetskontexten: tillägget av ett motstånd r till varje nod, i form av en självslinga , som ökar ( r>0 ) eller minskar ( r<0 ) motvilja mot noder för att bilda gemenskaper; eller tillägget av en parameter γ>0 framför null-case-termen i definitionen av modularitet, som styr den relativa betydelsen mellan interna länkar i gemenskaperna och nollmodellen. Genom att optimera modularitet för värden på dessa parametrar i deras respektive lämpliga intervall, är det möjligt att återställa hela mesoskalan av nätverket, från makroskalan där alla noder tillhör samma gemenskap, till mikroskalan där varje nod bildar sin egen gemenskap, därav namnet multiresolution methods . Det har dock visat sig att dessa metoder har begränsningar när samhällen är mycket heterogena i storlek.

Mjukvaruverktyg

Det finns ett par mjukvaruverktyg tillgängliga som kan beräkna klustringar i grafer med god modularitet.

Ursprunglig implementering av Louvain-metoden på flera nivåer.

Leiden-algoritmen som dessutom undviker oanslutna samhällen.

Algoritmen Vienna Graph Clustering (VieClus), en parallell memetisk algoritm.


Se även

  1. ^ a b c d e    Newman, MEJ (2006). "Modularitet och samhällsstruktur i nätverk" . Proceedings of the National Academy of Sciences of the United States of America . 103 (23): 8577–8696. arXiv : fysik/0602124 . Bibcode : 2006PNAS..103.8577N . doi : 10.1073/pnas.0601602103 . PMC 1482622 . PMID 16723398 .
  2. ^ Newman, MEJ (2007). Palgrave Macmillan, Basingstoke (red.). "Matematik för nätverk". The New Palgrave Encyclopedia of Economics (2 uppl.).
  3. ^   Brandes, U. ; Delling, D.; Gaertler, M.; Gorke, R.; Hoefer, M.; Nikoloski, Z.; Wagner, D. (februari 2008). "Om modularitetsklustring" . IEEE-transaktioner om kunskap och datateknik . 20 (2): 172–188. doi : 10.1109/TKDE.2007.190689 . S2CID 150684 .
  4. ^ van der Hofstad, Remco (2013). "Kapitel 7" (PDF) . Slumpmässiga grafer och komplexa nätverk . Arkiverad (PDF) från originalet 2013-12-18 . Hämtad 2013-12-08 .
  5. ^ "NetworkScience" . Albert-László Barabási. Arkiverad från originalet 2020-03-05 . Hämtad 2020-03-20 .
  6. ^    Clauset, Aaron och Newman, MEJ och Moore, Cristopher (2004). "Hitta samhällsstruktur i mycket stora nätverk". Phys. Rev. E. 70 (6): 066111. arXiv : cond-mat/0408187 . Bibcode : 2004PhRvE..70f6111C . doi : 10.1103/PhysRevE.70.066111 . PMID 15697438 . S2CID 8977721 . {{ citera tidskrift }} : CS1 underhåll: flera namn: lista över författare ( länk )
  7. ^ a b    Joerg Reichardt & Stefan Bornholdt (2006). "Statistisk mekanik för gemenskapsdetektering". Fysisk granskning E . 74 (1): 016110. arXiv : cond-mat/0603718 . Bibcode : 2006PhRvE..74a6110R . doi : 10.1103/PhysRevE.74.016110 . PMID 16907154 . S2CID 792965 .
  8. ^    Santo Fortunato & Marc Barthelemy (2007). "Upplösningsgräns vid gemenskapsdetektion" . Proceedings of the National Academy of Sciences of the United States of America . 104 (1): 36–41. arXiv : fysik/0607100 . Bibcode : 2007PNAS..104...36F . doi : 10.1073/pnas.0605965104 . PMC 1765466 . PMID 17190818 .
  9. ^   JM Kumpula; J. Saramäki; K. Kaski & J. Kertész (2007). "Begränsad upplösning vid upptäckt av komplex nätverksgemenskap med Potts modellansats". European Physical Journal B . 56 (1): 41–45. arXiv : cond-mat/0610370 . Bibcode : 2007EPJB...56...41K . doi : 10.1140/epjb/e2007-00088-4 . S2CID 4411525 .
  10. ^   Alex Arenas, Alberto Fernández och Sergio Gómez (2008). "Analys av strukturen hos komplexa nätverk på olika upplösningsnivåer". New Journal of Physics . 10 (5): 053039. arXiv : fysik/0703218 . Bibcode : 2008NJPh...10e3039A . doi : 10.1088/1367-2630/10/5/053039 . S2CID 11544197 .
  11. ^    Andrea Lancichinetti & Santo Fortunato (2011). "Gränser för modularitetsmaximering vid gemenskapsdetektering". Fysisk granskning E . 84 (6): 066122. arXiv : 1107.1155 . Bibcode : 2011PhRvE..84f6122L . doi : 10.1103/PhysRevE.84.066122 . PMID 22304170 . S2CID 16180375 .
  12. ^ Första implementeringen av Louvain-algoritmen , arkiverad från originalet 2021-03-17, hämtad 2020-11-30
  13. ^ Leiden algorithm repository , 15 december 2021, arkiverad från originalet den 26 november 2020 , hämtad 30 november 2020
  14. ^ Wien graph clustering repository , 13 april 2021, arkiverad från originalet den 21 oktober 2020, hämtad 30 november 2020