Betweenness Centrality

10.5.1 Az Ego Network

A Twitter egyik gyakori használata a kapcsolattartás a személyes szociális hálóval – család, kollégák, ismerősök és így tovább. A Twitteren lévő barátai és követői közül néhányan minden bizonnyal olyan emberek közé tartoznak, akikhez közel áll, míg mások távoli ismerősök vagy akár teljesen idegenek is lehetnek. Egy Twitter-felhasználó barátainak és követőinek halmazát “egocentrikus hálózatának” nevezzük. Amikor egy Twitter-felhasználó egocentrikus hálózatáról beszélünk, az említett felhasználót gyakran “egónak”, barátait és követőit pedig “alteregóknak” nevezzük (de továbbra is a “barát” vagy “követő” kifejezést használjuk, ha kifejezetten valamelyik kapcsolatról beszélünk). Ebben a szakaszban az “ego” és az “alter” kifejezéseket fogjuk használni.

Az egocentrikus hálózat egyes kapcsolatai kölcsönösek – az ego követi az altert és az alter követi az egót, így mindketten tudatában maradhatnak egymás állapotfrissítéseinek. A kölcsönös kapcsolatokkal kapcsolatos társadalomtudományi kutatások azt sugallják, hogy ilyen kapcsolatok gyakrabban léteznek közeli barátok és családtagok között, mint távoli ismerősök között. E kutatásokat követve ebben a szakaszban azt feltételezzük, hogy a sok kölcsönös kötődéssel rendelkező hálózat erős társadalmi kapcsolatokra utal, ahol mindkét személyt érdeklik egymás frissítései, míg a sok egyirányú kötődéssel rendelkező hálózat gyenge társadalmi kötődésekre utal, ahol az ego esetleg nem is ismeri a követőt, mint például a Twitter-hírességek esetében.

A társadalmi hálózatban lévő erős kötődések másik mutatója a “zárt hármasok”, amelyek egy ego két alterje közötti kötődések. A kölcsönös kapcsolatokhoz hasonlóan a zárt triádokkal kapcsolatos kutatások azt mutatják, hogy az erős társadalmi kapcsolatokkal rendelkező szoros közösségekben több zárt triád található, mint a gyenge társadalmi kapcsolatokkal rendelkező laza közösségekben. E kutatásokat követve feltételezzük, hogy az az ego, amelynek alteregói között sok zárt triád van, nagyobb valószínűséggel van beágyazódva egy szoros közösségbe, ahol mindenki ismeri egymást. Ezzel szemben egy olyan ego, amelynek kevés zárt triád van alteregói között, nagyobb valószínűséggel magányos vagy egyáltalán nem is egyén. Például az üzleti marketingesek Twitter-fiókjainak sok követője lehet, akik érdeklődnek a termékeik iránt, de ezek a követők gyakran nem ismerik egymást.

Az egocentrikus hálózatok elemzése gyakran vezethet használható eredményekhez, ha a Twittert fejlesztési vagy hirdetési platformként szeretnénk használni. A szoros közösségek például sokkal nagyobb valószínűséggel fogadnak el együtt vagy egyáltalán nem fogadnak el egy terméket, míg a ritkás, sok egyirányú kapcsolattal rendelkező egocentrikus hálózatokat nagymértékben befolyásolhatja a hálózat “központjának” – a sok követővel, de kevés baráttal rendelkező Twitter-felhasználónak – a viselkedése. Különösen a hírességek egocentrikus hálózatainak elemzése a Twitteren enged bepillantást abba, hogy napjaink gazdagjai és hírességei hogyan használják a közösségi médiát arra, hogy elérjék rajongóik ezreit (ha nem millióit).

A NodeXL segítségével megvizsgálhatja a kölcsönös kapcsolatok és zárt hármasok relatív jelenlétét vagy hiányát az egocentrikus Twitter-hálózatában. A legtöbb egocentrikus hálózat erős és gyenge társadalmi kapcsolatok keveréke, így a kölcsönös kapcsolatok és triádok egyetlen számban való összegzése gyakran téves következtetésekhez vezet az Ön társadalmi körére vonatkozóan. Ehelyett a szociális hálózatának vizualizálása betekintést nyújthat a szoros és a távoli kötődések viszonyába, valamint a közeli barátai és ismerősei közötti interakciókba.

Sok Twitter-felhasználó közvetíti életének eseményeit, a triviálisaktól (étkezési szokások) a fontosakig, mint például az utazás megszervezése, jelentős életesemények és így tovább. Ezek az események rövid távon a felhasználó összes követője számára láthatóak, akik az egocentrikus hálózatának egy részét alkotják. A nagyon kis egocentrikus hálózatokban (pl. amikor a felhasználó követői a családjára korlátozódnak) a közvetítésnek ez a formája hasznos a külföldre utazott vagy elköltözött rokonokkal való kapcsolattartáshoz. Sok aktív felhasználó azonban meglehetősen nagy egocentrikus hálózattal rendelkezik, és a tweetjeik gyakran teljesen érdektelen emberekhez jutnak el. Ugyanakkor a Twitter-felhasználó által felhalmozott követők puszta száma miatt nehéz nyomon követni, hogy ki olvassa a tweeteket. A NodeXL segítségével viszonylag könnyen azonosíthatók az egocentrikus hálózatok különböző csoportjai, például azok a követői, akik a kollégái, szemben azokkal, akik a családtagjai. Kihasználhatja az új Twitter listák funkciót, hogy ezeket a csoportokat kényelmes listákba rendezze, amelyeket követhet és amelyekre hivatkozhat a tweetekben.

A NodeXL-ben az egocentrikus hálózat elemzésének első lépése az adatok összegyűjtése. Ennek egyik módja az Importálás > A Twitter felhasználói hálózatából funkció használata a NodeXL-ben. Az Excel menüben a NodeXL fülre, majd a NodeXL szalag bal oldalán található Importálás legördülő listára kattintva több importálási lehetőség is megjelenik (győződjön meg róla, hogy a “Clear NodeXL Workbook First” (Először törölje a NodeXL munkafüzetet) jelölőnégyzet be van jelölve). A legördülő listában válassza a Twitter felhasználói hálózatból opciót, ekkor megjelenik egy párbeszédpanel (10.12. ábra).

10.12. ábra. A NodeXL Twitter felhasználói hálózatának importálási képernyője. A kiválasztott szintek beállításai mind @vlad43210 barátait és követőit, mind pedig a köztük lévő baráti/követői kapcsolatokat importálják.

A mező tetején található egy szövegmező annak a Twitter-felhasználónak a számára, akinek egocentrikus hálózatát össze szeretné gyűjteni. Ehhez a példához az egyik saját Twitter-fiókunkat fogjuk használni -@vlad43210. A szövegmező alatt három jelölőnégyzet található: Add an edge for Follows, Replies-to, and Mentions relationships in tweets. Győződjön meg róla, hogy csak a Follows jelölőnégyzet van bejelölve, a másik kettő inkább az információs hálózatokra vonatkozik, amelyeket később fogunk megvizsgálni. Győződjön meg arról is, hogy a “Get both friends and followers” jelölőnégyzet be van jelölve, így az összes alteregóról gyűjthet adatokat, nem csak a barátokról vagy a követőkről.

Még lejjebb megjelenik a “Get connections out to X degrees” legördülő lista. Válassza az “1,5” értéket a legördülő listában, hogy az összes alteregóját, valamint a köztük lévő összes követői és baráti kapcsolatot rögzítse. Ez utóbbi kapcsolatokra azért van szükség, hogy megfigyelhesse a zárt triádok jelenlétét az egocentrikus hálózatában. Ezután győződjön meg arról, hogy a “Statisztikai oszlopok hozzáadása a Vertices munkalaphoz (lassú)” és a “Tweet oszlop hozzáadása a Vertices munkalaphoz” jelölőnégyzetek nincsenek bejelölve. Ezek rendkívül hasznosak az egocentrikus hálózat Twitter-aktivitására vonatkozó adatok gyűjtéséhez, de a jelenlegi példa szempontjából mi a kapcsolatokra, nem az aktivitásra összpontosítunk.

Az utolsó két szövegmezőben megadhatja a felhasználónevet és a jelszót, amennyiben rendelkezik fehérlistás Twitter-fiókkal (erről korábban már volt szó). Akár kitölti ezeket, akár nem, ezután az OK gombra kattintva megkezdheti az adatimportálási folyamatot. Ha a folyamat befejeződött, újra látni fogja a táblázatot, amely tele van a Twitter-felhasználópárokat és a köztük lévő kapcsolatokat tartalmazó sorokkal. Előfordulhat, hogy a “Grafikon frissítése” gombra kell kattintania, hogy ezek a felhasználók és kapcsolatok megjelenjenek a grafikonvásznon. Figyelje meg, hogy az egó középen van – a mi példánkban ez @vlad43210 – körülvéve számos alteregóval. A vásznon megjelenő kép egy csillaghoz hasonlít, mivel @vlad43210-nek sok alteregója van, akik nem követik egymást. Ezek valószínűleg a gyenge társas kapcsolatai, legtöbbjük teljesen idegen (10.13. ábra).

10.13. ábra. A @vlad43210 1,5 fokos egocentrikus Twitter-hálózata. A középpontban lévő csúcs @vlad43210, a széleken lévő sok csúcs @vlad43210 gyenge társadalmi kapcsolatait jelképezi, amelyek többsége teljesen idegen.

Az erősebb társadalmi kapcsolatokra összpontosíthatunk, ha @vlad43210 egocentrikus hálózatában olyan alteregókat keresünk, amelyek legalább két olyan kapcsolattal rendelkeznek más emberekhez (mindkét kapcsolat lehet ugyanaz a személy) bármelyik irányban, barát vagy követő. Mindenkinek, akiről adatokat gyűjtöttünk, legalább egy kötődése van @vlad43210-hez. A legalább két kötődéssel rendelkező alterek vagy @vlad43210 egy másik alteréhez kötődnek (ami azt jelzi, hogy egy zárt triád részei), vagy kölcsönös baráti/követői kötődésük van @vlad43210-hez. Amint azt korábban tárgyaltuk, mindkét tényező arra utalhat, hogy a @vlad43210 és a szóban forgó személy között erősebb társadalmi kapcsolat áll fenn. A hálózat grafikus ábrázolásában a más személyekhez két kötődéssel rendelkező alterek olyan csúcsok által lesznek reprezentálva, amelyek között legalább két él van (bármelyik irányban) és legalább egy másik csúcs között. Annak érdekében, hogy csak ezekre a csúcsokra összpontosítson, először ki kell számítania a be- és kimenő fokot. Kattintsunk a “gráf metrikák kiszámítása” gombra, jelöljük be a “bel- és a kimenő fokot”, majd kattintsunk a “Metrikák kiszámítása” gombra.

Most állítsuk be a csúcsok láthatóságát a gráfban a bel- + kimenő fok alapján > 1. Válasszuk ki a gráf láthatóságát. Azoknak a csúcsoknak, amelyek megfelelnek ennek a kritériumnak, legalább két barátjuk, két követőjük vagy egy barátjuk és egy követőjük lesz (akik lehet, hogy ugyanaz a személy), és pontosan ezt keressük. Ehhez először adjunk hozzá egy új oszlopot úgy, hogy a Vertices munkalapon a “Add your own Columns here” felirat alatti cellára kattintunk, majd a cella értékét a C3 és a D3 összegeként állítjuk be (ami a be- és a kimenő foknak felel meg). Az oszlop többi cellája automatikusan ugyanezzel a képlettel fog kitöltődni. Most címkézze fel ezt az új oszlopot “Sum Degree” (Fokozat összege) néven az oszlopcímke szerkesztésével. Végül kattintson az Autofill Columns (Automatikus oszlopkitöltés) gombra, kattintson a “Vertex Visibility” (Csúcspontok láthatósága) melletti legördülő listára, kattintson az “Sum Degree” (Összegfok) lehetőségre, majd kattintson a legördülő lista melletti gombra, és írja be az 1-et a szövegmezőbe annak jelzésére, hogy csak a > 1 in-degree + out-degree > értékű csúcsokat szeretné megjeleníteni. Kattintson az OK, majd az Automatikus kitöltés, majd a Grafikon frissítése gombra. Vegyük észre, hogy a csúcsok száma sokkal kisebb lett, és a gráf már nem úgy néz ki, mint egy csillag – ehelyett azt látjuk, hogy @vlad43210-et két sűrűn összekapcsolt csúcscsoport veszi körül, a csoportok között kevés kapcsolattal.

A 10.14. ábra azt mutatja, hogy @vlad43210 egocentrikus hálózatában két különálló, szorosan összekapcsolt módosító csoport, vagy klaszter található. A NodeXL automatikus klaszterfelismeréssel segíthet megerősíteni ezt a megérzést. A klaszterek észleléséhez egyszerűen kattintson a “Klaszterek keresése” gombra a NodeXL menüszalag Elemzés szakaszában. A NodeXL automatikusan klasztereket keres, és különböző színeket rendel a különböző klaszterekben lévő csúcsokhoz (ezek a hozzárendelések felülírják az Autofill oszlopok segítségével vagy a munkalap szerkesztésével meghatározott csúcsszíneket). Most kattintson a “Grafikon frissítése” gombra, és az új csúcsszínek megjelennek a vásznon.

10.14. ábra. A @vlad43210 1,5 fokos egocentrikus Twitter-hálózata. Kiszűrtük a teljesen idegeneket, hogy @vlad43210 erős társadalmi kapcsolataira – barátaira és kollégáira – összpontosítsunk. Két klaszter rajzolódik ki (jobbra fent és balra lent).

A különböző klaszterek csúcsaira kattintva most már érzékelhetjük, hogy a klaszterek @vlad43210 egocentrikus Twitter-hálózatának értelmes felosztásait képviselik-e. A munkalap feltárása valóban azt mutatja, hogy a lila klaszter olyan altereknek felel meg, akik Vlad tudományos munkatársai, míg a zöld klaszter olyan altereknek felel meg, akik a barátai (a szó hétköznapi értelmében, nem pedig a @vlad43210 által követett felhasználók Twitter-értelmezésében). A klaszterek segítségével két Lista hozható létre Vlad Twitter-fiókjához: egy a barátaival és egy a kollégáival való kommunikációhoz.

A korábban ismertetett sajátvektor-centralitás és betweenness-centralitás fogalmait is használhatjuk, hogy megvizsgáljuk a szereplők relatív fontosságát @vlad43210 egocentrikus Twitter-hálózatában, a figyelem és az információ szempontjából. Amint azt a 10.3.1. szakaszban tárgyaltuk, az ismerősök/követők hálózatában magas sajátvektor-centralitású szereplők a figyelem központjai, míg az ugyanebben a hálózatban magas betweenness-centralitású szereplők az információ közvetítői. A NodeXL lehetővé teszi számunkra, hogy mindkét mennyiséget egyszerre vizualizáljuk azáltal, hogy a gráf vásznán lévő csúcsok különböző tulajdonságaihoz képezzük le őket.

A csúcsok színét képezzük le a sajátvektor-centralitáshoz, a csúcsok méretét pedig a betweenness-centralitáshoz.7 Ehhez először kattintson a NodeXL menüszalag elemzési szakaszában a Graph Metrics gombra, majd jelölje be a “Sajátvektor-centralitás” és a “Betweenness és closeness centralities” lehetőséget, és kattintson a “Compute Metrics” gombra. Ezután kattintson a NodeXL menü Autofill Columns gombjára, kattintson a “Vertex Color” melletti legördülő listára és válassza a “Eigenvector Centrality”, kattintson a “Vertex Size” melletti legördülő listára és válassza a “Betweenness Centrality”. Kattintson az “Automatikus kitöltés”, majd a grafikon megjelenítési ablaktábláján a Grafikon frissítése gombra a csúcspontméretek és színek frissítéséhez a grafikonvásznon. A grafikon megjelenítése előtt végezzen még egy módosítást – mivel @vlad43210 definíció szerint egocentrikus hálózatának középpontjában van, a betweenness- és sajátvektor-középpontjai magasak lesznek, de semmit sem árulnak el @vlad43210 hálózatában elfoglalt pozíciójáról. Állítsuk be kézzel @vlad43210 betweenness és sajátvektor centralitásait 0-ra a munkalapon, és nyomjuk meg újra a “Grafikon frissítése” gombot.

Ha összehasonlítjuk a 10.15. és a 10. ábrát.16, láthatjuk, hogy @vlad43210 kollégái inkább a figyelem középpontjában állnak, mint a barátai, de a két klaszter az információáramlás szempontjából eléggé kiegyenlített (kivéve @redlogot, akinek mind a sajátvektor-, mind a betweenness-centralitása nagyon magas, és a grafikonon egy nagy zöld csomópontként jelenik meg).

10.15. ábra. A @vlad43210 1,5 fokos egocentrikus Twitter-hálózat (csak erős társadalmi kapcsolatok). A NodeXL automatikusan azonosítja a klasztereket, és különböző színekkel színezi őket. A jobb felső rész (zöld) @vlad43210 barátainak, a bal alsó rész (lila) pedig tudományos munkatársainak felel meg.

10.16. ábra. A @vlad43210 1,5 fokos egocentrikus Twitter-hálózat. A zöldebb csúcsok magasabb sajátvektor-centralitással, a nagyobb csúcsok pedig magasabb betweenness-centralitással rendelkeznek.

Végül hasonlítsuk össze @vlad43210 egocentrikus baráti és követői hálózatát @vlad43210 @válaszok és említések hálózatával. Vegyük észre, hogy mindkét hálózat egocentrikus, de az alterek nem feltétlenül ugyanazok mindkettőben. A NodeXL a cikk írásakor nem importálja a felhasználók részletes @reply és mention adatait, de a Twitter API lehetővé teszi a gyors megoldást. Az állapotok/megemlítések API segítségével meglátogathatja a www.twitter.com/statuses/mentions.xml URL-címet, és kézzel rögzítheti @vlad43210 minden olyan barátjának vagy követőjének nevét, aki @válaszolt neki vagy megemlítette Twitter-felhasználónevét valamelyik tweetjében, valamint a @válaszok vagy megemlítések számát név szerint. Mivel @vlad43210 nem kap sok @válaszokat vagy említéseket, ez nem időigényes feladat – időigényesebb feladatok esetén alternatívaként írhatnál egy szkriptet, amely automatikusan rögzíti ezeket a neveket. Ezután minden ilyen névhez keresse meg az Élek munkalapon azt az élt, amelyik @vlad43210-et olyan felhasználóhoz köti, aki @válaszolt neki vagy megemlítette. Manuálisan állítsa be ezeknek az éleknek a szélességét a @vlad43210-nek a megfelelő felhasználó által adott @válaszok vagy említések számának megfelelően. Végül nyomja meg a “Grafikon frissítése” gombot a frissítések megjelenítéséhez (10.17. ábra).

10.17. ábra. A @vlad43210 1,5 fokos egocentrikus Twitter-hálózat. A zöldebb csúcsok magasabb sajátvektor-centralitással, a nagyobb csúcsok pedig magasabb betweenness-centralitással rendelkeznek. A vastagabb élek olyan felhasználóknak felelnek meg, akik @vlad43210-nek @válaszolnak, vagy valamelyik tweetjükben megemlítik a felhasználónevét.

Látható, hogy bár @vlad43210 kollégái többször állnak a központban, mint a barátai, a barátai gyakrabban @válaszolnak @vlad43210-nek és említik őt, mint a kollégái. Figyeljük meg azt is, hogy bár egyes @válasz- és említési kapcsolatok @vlad43210-et magas központú szereplőkhöz, például @redloghoz kötik, mások @vlad43210-et alacsony központú szereplőkhöz kötik. Nyilvánvaló, hogy a @vlad43210 barátai/követői egocentrikus hálózatában lévő információs és figyelemkapcsolatok nem feltétlenül rendelkeznek ugyanolyan súllyal a @válaszok/megemlítések egocentrikus hálózatában.

Továbbfejlesztett téma

A csúcsok igazítása egy gráfban

Nézzük meg röviden a 10.9. és 10.10. ábrát (az információs/figyelem hálózat és a centralitáshálózat példáit). Tegyük fel, hogy kis számú csúcsot szeretnénk úgy felsorakoztatni, hogy a csoportosítások egyértelműen látszódjanak. Bizonyára sok munkával jár, ha ezeket a csúcsokat kézzel, egyenként húzogatva, ilyen élesen sorba állítjuk.

Amint azt korábban a “Speciális” mezőben leírtuk, a NodeXL hálózatokat ugyanúgy manipulálhatjuk, mint a hagyományos táblázatkezelőket. A Vertices lap “X” és “Y” nevű oszlopokat tartalmaz, amelyek a csúcsok pozícióit tartalmazzák a gráfban. Van egy “Locked?” nevű oszlop is, amely azt szabályozza, hogy a csúcsok pozíciói rögzítve legyenek-e a helyükön, vagy a gráf újrarajzolásakor elmozdíthatók legyenek.

Azt követően, hogy a csúcsokat a kívánt módon átrendezte, futtassa a következő makrót, hogy tökéletesen igazítsa őket:

Sub Realign()

′ az egyes helyekre kerekítendő távolság

RDIST = 500

COL_VERTEX = 1

COL_LOCK = 21

COL_X = 19

COL_Y = 20

ROW_START = 3

Dim wksht As Worksheet

Set wksht = Sheets(“Vertices”)

current_row = ROW_START

While wksht.Cells(current_row, COL_VERTEX).Text > “”

′ győződjön meg arról, hogy a csúcspont pozíciója rögzítve van

wksht.Cells(current_row, COL_LOCK) = “Yes (1)”

′ kerekítse az x-et és y-t

x = Round(wksht.Cells(current_row, COL_X) / RDIST) * RDIST

wksht.Cells(current_row, COL_X) = x

y = Round(wksht.Cells(current_row, COL_Y) / RDIST) * RDIST

wksht.Cells(current_row, COL_Y) = y

current_row = current_row + 1

Wend

End Sub

Ez a makró a gráf minden egyes csúcsán végighalad. Először rögzíti a csúcspont pozícióját, majd az X, Y koordinátákat a legközelebbi 500 pixelre kerekíti. Tehát ha két csúcs egymás mellett van, és az y-koordinátáik 1498 és 1502, akkor mindkettőt y = 1500-ra pozícionálja. Ez biztosítja a csúcsok megfelelő igazítását.

Szólj hozzá!