f 96
UNIVERSITEIT GENT
FACULTEIT ECONOMIE EN BEDRIJFSKUNDE ACADEMIEJAAR 2012 – 2013
Verspreidingsmodellen voor hypes in sociale netwerken
Masterproef voorgedragen tot het bekomen van de graad van Master of Science in de Toegepaste Economische Wetenschappen: Handelsingenieur
Stijn Casneuf onder leiding van Prof. dr. ir. Sabine Wittevrongel dr. ir. Koen De Turck
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
UNIVERSITEIT GENT UNIVERSITEIT GENT
FACULTEIT ECONOMIE EN BEDRIJFSKUNDE ACADEMIEJAAR 2012 – 2013
Verspreidingsmodellen voor hypes in sociale netwerken
Masterproef voorgedragen tot het bekomen van de graad van Master of Science in de Toegepaste Economische Wetenschappen: Handelsingenieur
Stijn Casneuf onder leiding van Prof. dr. ir. Sabine Wittevrongel dr. ir. Koen De Turck
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
I|P a g i n a
Toelating
Ondergetekende verklaart dat de inhoud van deze masterproef mag geraadpleegd en/of gereproduceerd worden mits bronvermelding. Stijn Casneuf
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
II | P a g i n a
VOORWOORD Met deze scriptie hoop ik een waardig slot te hebben geschreven voor mijn vijfjarige studie als handelsingenieur aan de universiteit van Gent. Deze thesis stelde mij in staat om mij te verdiepen in onderwerpen waar ik voorheen onvertrouwd mee was. Daarnaast leverde dit werkstuk mij ook nuttige programmeer skills op. In dit voorwoord wil enkele mensen bedanken voor hun steun en hulp aan deze thesis. Graag had ik Prof. dr. ir. Wittevrongel bedankt voor de nuttige tips en de begeleiding. Ook dr. ir. Koen De Turck verdient hier een pluim. Dankzij zijn hulp en zijn snelle antwoorden op mijn vragen zorgde hij ervoor dat het mogelijk was om als master Marketing Engineering een thesis te schrijven aan de faculteit van de ingenieurs. Daarnaast zou ik ook Prof. dr. Van Den Poel willen bedanken voor het beschikbaar maken van een server met voldoende rekenkracht. Bovendien wil ik ook mijn ouders bedanken voor de vele kansen die ze me boden en om me aan de Universiteit Gent te laten studeren.
Stijn Casneuf Gent, 6 mei 2013
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
III | P a g i n a
LIJST VAN TABELLEN EN FIGUREN Figuur 1: Evolutie marketing ................................................................................................................................... 1 Figuur 2: Small-World netwerk, Scale-Free netwerk en Willekeurig netwerk ........................................................ 4 Figuur 3: Poisson verdeling ..................................................................................................................................... 6 Figuur 4: Samengaan van hoge clusteringcoëfficiënt en lage karakteristieke padlengte ....................................... 7 Figuur 5: Vergelijking exponentiele en power-law verdeling ................................................................................. 9 Figuur 6: Willekeurig netwerk - 100 knopen ......................................................................................................... 12 Figuur 7: Small-world netwerk - 100 knopen ........................................................................................................ 13 Figuur 8: Effect van lineaire interpolatie op vorm van het netwerk ..................................................................... 13 Figuur 9: Scale-Free netwerk - 100 knopen .......................................................................................................... 14 Figuur 10: Willekeurig netwerk bij toenemende kans p ....................................................................................... 15 Figuur 11: Verdeling connectiviteit Willekeurig netwerk ..................................................................................... 16 Figuur 12: Verdeling clusteringscoëfficient willekeurig netwerk .......................................................................... 17 Figuur 13: Randomisatie stap bij small-word netwerk ......................................................................................... 18 Figuur 14: Effect van lineaire interpolatie op vorm van het netwerk ................................................................... 18 Figuur 15: Verdeling connectiviteit small-world netwerk ..................................................................................... 19 Figuur 16: Verdeling clusteringscoëfficient small-world netwerk ........................................................................ 20 Figuur 17: Verdeling connectivitet scale-free netwerk ......................................................................................... 22 Figuur 18: Verdeling clusteringscoëfficient scale-free netwerk ............................................................................ 22 Figuur 19: Verdeling connectiviteit externe dataset ............................................................................................. 23 Figuur 20: Verdeling clusterngscoëfficient externe dataset ................................................................................. 24 Figuur 21: Technologie adoptie levenscyclus ........................................................................................................ 27 Figuur 22: Informational cascade .......................................................................................................................... 30 Figuur 23: Table Thesis_Stijn_Sample ................................................................................................................... 40 Figuur 24: Thesis_stijn_sample_difussion - besmettingsmodel ........................................................................... 41 Figuur 25: Tabelaanpassingen voor sociaal invloedmodel .................................................................................... 41 Figuur 26: Thesis_stijn_Sample_difussion - sociaal leermodel ............................................................................. 42 Figuur 27: Theorestische verdeling drempelwaarde - cascademodel .................................................................. 44 Figuur 28: Theoretische verdeling drempelwaarde en gewichten - sociaal invloedmodel .................................. 45 Figuur 29: Verdeling gewichten - sociaal invloedmodel ....................................................................................... 45 Figuur 30: Theoretische verdeling beslissingsproces - Sociaal leermodel ............................................................ 46 Figuur 31: Theoretische verdeling a priori overtuiging - Sociaal leermodel ......................................................... 46 Figuur 32: Verdeling a priori overtuiging - sociaal leermodel ............................................................................... 47 Figuur 33: Verspreidingsmodellen op willekeurig netwerk .................................................................................. 48 Figuur 34: Knoop met de hoogste connectiviteit per tijdstap voor de verschillende netwerken en modellen.... 52 Figuur 35: Cumulatieve verspreidingscurve voor cascademodel op verschillende netwerken ............................ 55 Figuur 36: Bereikte populatie per tijdseenheid - cascademodel op verschillende netwerken ............................. 56 Figuur 37: Bereikte populatatie per tijdseenheid - Vergelijking cascade en sociaal invloedmodel ...................... 58 Figuur 38: Cumulatieve verspreidingscurve - sociaal invloedmodel op verschillende netwerken ....................... 58 Figuur 39: Cumulatieve verspreidingscurve - sociaal invloedmodel op verschillende netwerken ....................... 61 Figuur 40: Bereikte populatie per tijdseenheid - sociaal leermodel op verschillende netwerken ....................... 62 Figuur 41: Kenmerken van de buigpunten ............................................................................................................ 63 Figuur 42: Vergelijking cumulatieve verspreidingscurven .................................................................................... 65 Figuur 43: Verspreiding binnen externe dataset - cascade model........................................................................ 67
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
IV | P a g i n a
Figuur 44: Verspreiding binnen externe dataset - sociaal invloedmodel.............................................................. 67 Figuur 45:Verspreiding binnen externe dataset - sociaal leermodel .................................................................... 67 Figuur 46: Scenariomatrix ..................................................................................................................................... 69 Figuur 47: Vergelijking cumulatieve verspreidingsmodellen - hoog connectiviteitscenario ............................... 73 Figuur 48: Vergelijking cumulatieve verspreidingscurven - hoog connectiviteitscenario op sociaal leermodel .. 74 Figuur 49: Vergelijking cumulatieve verspreidingscurven - hoog connectiviteitscenario op sociaal invloedmodel .............................................................................................................................................................................. 75 Figuur 50: Vergelijking cumulatieve verspreidingscurven - hoog connectiviteitscenario op cascademodel........ 76 Figuur 51: Vergelijking cumulatieve verspreidingscurven - laag connectiviteitscenario ...................................... 79 Figuur 52: Vergelijking cumulatieve verspreidingscurven - laag connectiviteitscenario op sociaal leermodel .... 80 Figuur 53: Vergelijking cumulatieve verspreidingscurven - laag connectiviteitscenario op sociaal invloedmodel .............................................................................................................................................................................. 81 Figuur 54: Vergelijking cumulatieve verspreidingscurven - laag connectiviteitscenario op cascademodel ....... 82 Figuur 55: Vergelijking cumulatieve verspreidingscurven - vriendenscenario ..................................................... 85 Figuur 56: Vergelijking cumulatieve verspreidingscurven - vriendenscenario op sociaal leermodel ................... 86 Figuur 57: Vergelijking cumulatieve verspreidingscurven - vriendenscenario op sociaal invloedmodel ............. 87 Figuur 58: Vergelijking cumulatieve verspreidingscurven - vriendenscenario op cascademodel ....................... 88 Figuur 59: Vergelijking cumulatieve verspreidingscurven - één hoog scenario .................................................... 90 Figuur 60: Vergelijking cumulatieve verspreidingscurven - negatieve start scenario op sociaal leermodel ........ 92 Figuur 61: Bereikte eindpopulatie bij verschillende startpopulatiegroottes ........................................................ 94 Figuur 62: Tijd tot buigpunt bij verschillende startpopulatiegroottes .................................................................. 94 Figuur 63: Bereikte eindpopulatie bij verschillende a priori ingesteldheden ....................................................... 97 Figuur 64: Tijd tot buigpunt bij verschillende waarden van de a priori ingesteldheid ......................................... 97 Figuur 65: Buigpunten van het willekeurig netwerk ........................................................................................... 102 Figuur 66: Buigpunten van het small-world netwerk .......................................................................................... 103 Figuur 67: Buigpunten van het scale-free netwerk ............................................................................................. 104 Tabel 1: Netwerkkenmerken simulatie willekeurig netwerk ................................................................................ 16 Tabel 2: Netwerkkenmerken simulatie small-world netwerk ............................................................................... 19 Tabel 3: Netwerkkenmerken simulatie scale-free netwerk .................................................................................. 21 Tabel 4: netwerkkenmerken externe dataset ....................................................................................................... 24 Tabel 5: Eigenschappen cascademodel op verschillende netwerken ................................................................... 55 Tabel 6: Eigenschappen sociaal invloedmodel op verschillende netwerken ........................................................ 57 Tabel 8: Eigenschappen sociaal leermodel op verschillende netwerken .............................................................. 60 Tabel 8: Eigenschappen finaal bereikte populatie van verschillende modellen op verschillende netwerken ..... 64 Tabel 9: Eigenschappen buigpunt van verschillende modellen op verschillende netwerken .............................. 64 Tabel 10: Vergelijking scenario en willekeurige situatie ....................................................................................... 71 Tabel 11: Vergelijking buigpunten tussen scenario en willekeurige situatie ........................................................ 72 Tabel 12: Verspreidingskenmerken bij verschillende startpopulatiegroottes ...................................................... 95 Tabel 13: Verspreidingskenmerken bij verschillende waarden van de a priori ingesteldheid .............................. 98
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
V|P a g i n a
INHOUDSOPGAVE Voorwoord ............................................................................................................................................................. III Lijst van tabellen en figuren ................................................................................................................................... IV Inhoudsopgave ....................................................................................................................................................... VI 1. Inleiding ............................................................................................................................................................... 1 2. Sociale netwerken ............................................................................................................................................... 4 2.1 Willekeurig netwerk ..................................................................................................................................... 5 2.2 Small-world netwerk .................................................................................................................................... 6 2.3 Scale-free/power-law netwerk ..................................................................................................................... 8 2.4 Markov netwerk ......................................................................................................................................... 10 2.5 Simulatie ..................................................................................................................................................... 10 2.5.1 Cytoscape ........................................................................................................................................... 10 2.5.2 Simulatie willekeurig netwerk ............................................................................................................ 14 2.5.3 Simulatie small-world netwerk ........................................................................................................... 17 2.5.4 Simulatie scale-free netwerk .............................................................................................................. 20 2.6 Externe dataset .......................................................................................................................................... 23 3. Hypes................................................................................................................................................................. 25 3.1 De invloed van anderen ............................................................................................................................. 25 3.2 Informational cascades .............................................................................................................................. 29 4. Verspreidingsmodellen ..................................................................................................................................... 31 4.1 Besmettingsmodellen ................................................................................................................................. 32 4.1.1 Cascademodellen................................................................................................................................ 33 4.2 Sociale invloedmodellen ............................................................................................................................ 34 4.2.1 Thresholdmodellen ............................................................................................................................. 35 4.3 Sociale leermodellen .................................................................................................................................. 36 4.3.1 Model ................................................................................................................................................. 37 4.4 De code....................................................................................................................................................... 40 4.5 De parameters ............................................................................................................................................ 43 4.5.1 Parameters van de verspreidingsmodellen ........................................................................................ 43
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
VI | P a g i n a
4.5.2 Parameters van de netwerken ........................................................................................................... 47 4.6 Onderlinge vergelijking van de modellen ................................................................................................... 47 5. Effect van onderliggend netwerk ...................................................................................................................... 53 5.1 Basis besmettingsmodel ............................................................................................................................. 53 5.2 Sociaal invloedmodel ................................................................................................................................. 56 5.3 Sociaal leermodel ....................................................................................................................................... 59 5.4 Overzicht .................................................................................................................................................... 62 5.6 Vergelijking met externe dataset ............................................................................................................... 66 5.7 Scenarioanalyse .......................................................................................................................................... 68 5.7.1 Hoge connectiviteit............................................................................................................................. 70 5.7.2 Lage connectiviteit.............................................................................................................................. 77 5.7.3 Vrienden ............................................................................................................................................. 83 5.7.4 Minstens één hoog ............................................................................................................................. 89 5.7.5 A priori negatieve ingesteldheid ......................................................................................................... 91 5.8 Sensitiviteitsanalyse ................................................................................................................................... 93 5.8.1 Initiële startpopulatie ......................................................................................................................... 93 5.8.2 A priori ingesteldheid ......................................................................................................................... 95 6. Overzicht van de conclusies .............................................................................................................................. 99 7. Algemeen besluit ............................................................................................................................................ 105 Geciteerde werken ................................................................................................................................................. IX Bijlagen ................................................................................................................................................................. XIII Bijlage 1: De R code ......................................................................................................................................... XIII Bijlage 1.1: Modeleer functie ..................................................................................................................... XIII Bijlage 1.2: Uitvoeren modellering en simulaties ........................................................................................LVI
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
VII | P a g i n a
1. INLEIDING In de moderne marketing maakt men steeds meer gebruik van virale marketing. Virale marketing is een communicatietechniek gebaseerd op de epidemiologie in sociale netwerken. In tegenstelling tot andere marketingvormen is dit type van marketing gebaseerd op verbindingen tussen personen die onderling interageren. Aangezien een individu
de
informatie en aanbevelingen die hij via vrienden of naasten krijgt hoger waardeert dan informatie uit klassieke vormen van reclame, is het logisch dat de effectiviteit van virale marketing vaak hoger ligt dan bij andere vormen van marketing (Domingos & Richardson, 2002). Dit is dan ook de reden waarom vele marketing departementen zich op deze vorm van informatieverspreiding zijn gaan focussen. Ze trachten bepaalde personen in een netwerk van vrienden te beïnvloeden, in de hoop dat deze personen op hun beurt derden beïnvloeden via de sociale relaties die deze geselecteerde personen hebben met anderen. Deze
marketingvorm
ontstond
doordat,
via
een
optimale
allocatie
van
het
marketingbudget bij een initiële set van individuen, een beter resultaat kan worden geboekt dan het geval is bij massamarketing of zelfs bij direct marketing. Dit wordt mogelijk gemaakt door middel van de bestaande sociale structuren van deze individuen met anderen. In de onderstaande figuur zien we de evolutie van de marketing die startte bij de lokale kruidenier die aan directe marketing deed omdat hij al zijn klanten persoonlijk kende. Door globalisatie en industrialisatie kwam de massa marketing op, die door het leggen van een steeds doelgerichtere en persoonlijkere focus, terug evolueert tot directe marketing op grote schaal en recentelijk tot virale marketing (Figuur 1).
Directe Marketing & Virale Marketing
Segmentatie Targeting
Mass amarketing
Posistionering
FIGUUR 1: EVOLUTIE MARKETING
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
1|P a g i n a
Net zoals bij een epidemie, verspreidt een virale boodschap zich doorheen een populatie met een verloop dat vaak als exponentieel wordt omschreven (Rogers, 1962) (Bass, 1969). Om de kans op een virale verspreiding te maximaliseren is het van essentieel belang de initiële populatie goed te selecteren. De initiële populatie zijn de personen die op tijdstip nul worden overtuigd om het aanbod van een bedrijf te aanvaarden. Zij zullen de basis vormen voor het verspreiden van het product of de dienst van het bedrijf doorheen een ruimere populatie. Het is duidelijk dat men voor het effectief en efficiënt uitvoeren van een virale marketingstrategie een goed inzicht moet hebben in de populatie waartoe men zich richt en een goede kennis moet hebben over de verspreidingskenmerken die van toepassing zijn op het netwerk dat deze populatie aan elkaar bindt. De huidig literatuur focust zich vooral op dit eerste en verondersteld een bepaald (vaak willekeurig) netwerk als onderbouw. In deze thesis zullen we de andere situatie bekijken. We zullen meer focussen op het effect van het netwerk op deze verspreiding. Op welke manier de verspreiding gebeurt, hangt af van exogene factoren en endogene factoren. Of een bepaalde factor, die een persoon beïnvloedt, exogeen of endogeen is kan worden bepaald door zich in het standpunt van een deze persoon in het netwerk te plaatsen. Zo zullen reclame, prijsvariaties en inflatie typisch behoren tot de exogene variabelen. De winst van het al dan niet aanpassen van zijn/haar gedrag, de individuele kosten van het individu en de structuur van het onderliggend netwerk (Jackson & Yariv, 2006) zijn dan weer typisch endogene variabelen. In dit werkstuk zal vooral gefocust worden op het effect van het onderliggend netwerk en het verspreidingsmodel op het verspreidingsgedrag van een virale boodschap door het netwerk. Dat dit de moeite is om te onderzoeken, werd reeds door Young aangehaald. In zijn onderzoek naar de verspreiding van innovatie in populaties, stelt hij dat het onderzoek naar diffusie in netwerken met een groot gebrek kampt. Hij meent dat dit gebrek voortvloeit uit de assumptie dat het onderliggend netwerk oneindig groot is en dat de manier waarop individuen in contact komen compleet willekeurig is (Young, Innovation Diffusion in Heterogeneous Populations: Contagion, Social Influence, and Social Learning, 2009). Zoals we later zullen zien (Cf. infra. 2.1 Willekeurig netwerk), komt dit overeen met een willekeurig netwerk. De onderzoeksvraag luidt dus als volgt: 'Heeft het netwerk een significante rol in de verspreiding van een hype, en meer specifiek, wat is het effect van een onderliggend netwerk, gegeven een bepaald verspreidingsmodel voor een hype'.
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
2|P a g i n a
Dit werkstuk kent een logische opbouw. In het eerste deel bekijken we de drie meest geaccepteerde theorieën over de topologie van sociale netwerken: willekeurige verdelingen, ‘small-world’ verdelingen en ‘scale-free’ verdelingen. Terwijl we deze verschillende verdelingen kort beschrijven, zullen we overgaan tot de simulatie van deze netwerken. Hiervoor wordt het 'open source' platform Cytoscape gebruikt. Dit platform stelt ons, via verschillend plug-ins, in staat om de drie soorten netwerken te simuleren en te visualiseren, zodat deze simulaties voldoen aan de theoretisch vereisten. Daarnaast is het voordeel van een 'open source' platform dat de gebruikte code gemakkelijk kan worden gecontroleerd en aangepast. Om deze simulaties te vergelijken met de realiteit, doen we beroep op een benadering van een bestaand sociaal netwerk. Dankzij een onderzoek in het Max Planck Institute for Software Systems, beschikken we ook over een relevante steekproef uit het bestaand sociaal netwerk Facebook (Viswanath, Mislove, Cha, & Gummadi, 2009). In het tweede deel kijken we naar de kenmerken van hypes. Hierbij zal de nadruk vooral liggen op de algemene verspreidingskenmerken en niet zo zeer op de intrinsieke eigenschappen van één specifieke hype. We bespreken een van de weinige theorieën die het ontstaan van hypes analytisch kan verklaren: de ‘informational cascade theory’. In het derde deel bespreken we de laatste essentiële bouwsteen van het onderzoek: de verspreidingsmodellen. Het is niet ons doel een exhaustief overzicht te geven van alle mogelijke diffusiemodellen. We kiezen ervoor om enkel in te zoomen op de meest relevante verspreidingsmodellen, in het bijzonder de modellen die theoretisch aansluiten bij de kenmerken van de hype. Hierbij zullen we eerst een basis besmettingsmodel uit de epidemiologie bespreken, waarna we overgaan naar sociale invloedmodellen en sociale leermodellen die we bekomen door het veralgemenen van bepaalde assumpties van de ‘informational cascade theory’. Ten slotte gebruiken we al deze bouwstenen om een analyse uit te voeren over de invloed die verschillende netwerkstructuren en verspreidingsmodellen hebben op het verspreidingsgedrag van hypes. Om dit theoretisch geheel concreter te maken, voeren we ook een scenarioanalyse uit waarbij we enkele management situaties zullen testen.
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
3|P a g i n a
2. SOCIALE NETWERKEN Alles is onderling verbonden. Computers zijn verbonden via het internet, gegevens op de beurs zijn in grote mate afhankelijk van elkaar, mensen hebben vrienden die op hun beurt weer vrienden hebben en gebeurtenissen lijken zonder ontkomen met elkaar in verband te staan. Als twee entiteiten met elkaar interageren, ontstaat een netwerk van informatieuitwisseling dat we kunnen visualiseren als een sociaal netwerk. Een sociaal netwerk is de theoretische weergave van een structuur en onderlinge verbindingen tussen een groep entiteiten. De analyse van deze sociale netwerkstructuren kwam op gang na de ontwikkeling van de eerste structurele theorieën door Georg Simmel met betrekking tot de sociale afstand en triades tussen personen (Simmel, 2008) omstreeks 1900 en het opstellen van het eerste sociogram (Moreno, 1934) door Jacob Moreno in 1930. Een sociogram is een grafische voorstelling van de sociale linken die een persoon heeft. Centraal in de analyse van sociale netwerken staat het onderzoek naar de relaties tussen de actoren. Bij dit soort onderzoek focust men dus niet op de eigenschappen van de actoren zelf. In de literatuur onderscheiden we verschillende soorten sociale netwerken (Figuur 2). Doorheen de tijd zijn verschillende assumpties over de structuur van een sociaal netwerk naar voor geschoven. We kunnen onderscheid maken tussen willekeurige netwerken (Gilbert, 1959) (Erdos & Rényi, 1959), de 'small-world' netwerken (Watts & Strogatz, 1998) (Milgram, 1967) (deSolla Price, Networks of Scientific Papers, 1965) en 'scale-free' netwerken (deSolla Price, A General Theory of Bibliometric and Other Cumulative Advantage Processes, 1976) (Albert, Jeong, & Barabási, 1999) (Simonovits & Komlós, 1993). Hoewel deze ‘scale-free’ netwerken strikt gezien onder de 'small-world' netwerken vallen, bespreken we deze toch apart vanwege hun veelvuldig voorkomen in de praktijk.
FIGUUR 2: SMALL-WORLD NETWERK, SCALE-FREE NETWERK EN WILLEKEURIG NETWERK
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
4|P a g i n a
De eerste epidemiologische studies baseerden zich vaak op willekeurig contact tussen entiteiten of individuen (Grassberger, 1983) (Sander, Warren, & Sokolov, 2003). Een grote gemiddelde padlengte en een lage clusteringcoëfficiënt zijn typerend voor dit soort netwerken. De gemiddelde padlengte geeft weer hoe gemakkelijk twee willekeurige knopen elkaar kunnen bereiken, de clusteringcoëfficiënt in welke mate klikjes aanwezig zijn in het netwerk. Recent onderzoek, voornamelijk geleid door Barabási, wees echter uit dat de meeste netwerken in realiteit verschillen van deze willekeurige structuren door hun kleine gemiddelde padlengte en hoge clusteringcoëfficiënt. Deze bevindingen zijn essentieel aangezien deze eigenschappen van essentieel belang zijn bij de verspreidingssnelheid van informatie door een netwerk.
2.1 WILLEKEURIG NETWERK De basisidee achter willekeurige netwerken is dat de verbindingen compleet onafhankelijk zijn van de kenmerken van de knopen. De kans dat twee verschillende entiteiten van een populatie verbonden zijn, is strikt willekeurig verdeeld volgens een vooropgesteld kansverdeling. Deze netwerken werden vooral toegepast in de jaren '80, toen men een beperkter inzicht had in het werkelijke formaat van zo een netwerk. Vaak stelt men dat indien een eigenschap bestaat in een willekeurig netwerk, het ook zal bestaan in bijna elk ander netwerk (Erdos & Rényi, 1959). Daarom worden ze nu vooral gebruikt om te bewijzen dat een netwerk met bepaalde eigenschappen bestaat. Ondanks het feit dat deze netwerkstructuren niet worden teruggevonden in realiteit, zijn ze dus wel interessant voor theoretische academische doeleinden. Voor meer informatie verwijzen we naar de literatuur (Gilbert, 1959) (Chung & Lu, 2006). Een populaire manier voor het simuleren van deze netwerken is gebaseerd op het ErdősRényi model. Dit model verbindt elke knoop in het netwerk willekeurig en onafhankelijk van de verbindingen tussen andere knopen. Indien er dus verbinding tussen twee arbitraire knopen een gelijke kans
knopen zijn, heeft elke mogelijke om te bestaan. De resulterende
verdeling van de het aantal connecties is Poisson verdeeld (Figuur 3).
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
5|P a g i n a
Poisson
Frequentie
60 40 20
Poisson
0 1
2
3
4
5 6 7 8 9 Aantal verbindingen met buren
10
11
12
13
FIGUUR 3: POISSON VERDELING
2.2 SMALL-WORLD NETWERK Een small-world netwerk is gebaseerd op de assumptie dat, indien een persoon bevriend wordt met een ander individu, de kans groot is dat zij gedeelde vrienden hebben. Hierbij is de kans groot dat deze gedeelde vrienden onderling ook verbonden zijn. Er zullen met andere woorden groepjes ontstaan van vrienden die elkaar allemaal onderling kennen, terwijl de kans dat ze een andere groep vrienden kennen relatief klein is. Deze assumptie werd bevestigd door het 'Hollywood netwerk' omschreven door Milgram. Dit netwerk is ook bekend als 'the collaboration graph of movie actors' (Barabási & Albert, 1999) (Kimball & Herdzik). In dit netwerk stelt elke acteur een knoop voor en zijn 2 acteurs met elkaar verbonden indien ze samenwerkten aan een film. Elke film vormt zo een groep van acteurs, i.e. een cluster. Op die manier werd het 'Bacon number' berekend. Dit nummer geeft weer hoever een acteur/actrice verwijderd is van Kevin Bacon. Uit analyse van de International Movie Database (IMDb) bleek dat men geen acteurs/actrices kon vinden die een 'Bacon number' hadden groter dan zeven. We definiëren twee netwerkparameters die een speciale rol spelen bij small-world netwerken. De eerste parameter is de geodetische afstand of karakteristieke padlengte
die
staat voor de afstand tussen twee knopen. Op netwerkniveau kunnen we dit berekenen door het aantal verbindingen te tellen die nodig zijn zodat twee willekeurige knopen elkaar zouden kunnen bereiken. Als we hiervan het gemiddelde nemen voor elk mogelijk paar willekeurige knopen hebben we de karakteristieke padlengte voor het netwerk. De tweede parameter is de clusteringcoëfficiënt . Deze parameter meet in welke mate knopen tot een exclusieve groep behoren. Deze parameter wordt berekend door voor elke knoop te kijken naar het aantal verbindingen die hij heeft met zijn direct aanliggende knopen. Daarna wordt berekend hoeveel mogelijk verbindingen er kunnen bestaan tussen al deze knopen onderling. De
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
6|P a g i n a
clusteringcoëfficiënt stelt dan de fractie van deze mogelijke verbindingen voor die effectief bestaan (Victor, 2011). Hoewel niet alle knopen directe buren zijn, kunnen alle actoren in een small-world netwerk elkaar relatief gemakkelijk bereiken door de hoge graad van clustering. De afstand tussen twee willekeurige entiteiten is dus klein. Wiskundig gezien stellen we dat de afstand tussen twee arbitraire knopen in een small-world netwerk proportioneel logaritmisch groeit met het aantal knopen
in dat netwerk (Watts & Strogatz, 1998).
De gemiddelde geodetische afstand stijgt relatief traag ten opzichte van het aantal entiteiten in het 'small-world' netwerk. Dit is mogelijk doordat de knopen in het netwerk door middel van clusters geodetisch dicht bij elkaar blijven. De bekendste familie onder deze netwerken zijn de small-world netwerken zoals ze omschreven werden door Strogatz en Watts. Zij stellen dat een small-world netwerk gekenmerkt wordt door een lage geodetische afstand en een significante clustering (Watts & Strogatz, 1998). Ze stellen dat deze lage karakteristieke padlengte mogelijk is door de introductie van enkele overbruggende verbindingen in een zeer hoog geclusterd netwerk (Figuur 4) .
FIGUUR 4: SAMENGAAN VAN HOGE CLUSTERINGCOËFFICIËNT EN LAGE KARAKTERISTIEKE PADLENGTE
Het model van Strogatz en Watts verschilt essentieel met dat van Erdős en Rényi doordat deze laatste niet in staat zijn tot het vormen van centrale personen en lokale clustering in een netwerk. De resulterende verdeling van de connectiviteit resulteert in een ‘power-law’ distributie of een normale verdeling afhankelijk van de mate waarin er verschillende personen kunnen gevonden worden met significant meer buren dan het gemiddelde individu. In vergelijking met het willekeurig netwerk, leunt dit dichter aan bij wat in de realiteit wordt teruggevonden. Verspreiding in een Small-World netwerk worden meestal gekenmerkt door een lage kritische drempel en een hoge verspreidingssnelheid (Moore & Newman, 2000) (Santos, Rodrigues, & Pacheco, 2005) (Han, 2007) . Dit wil zeggen dat zelfs indien het vermogen tot infectie zeer laag is, de infectie er toch kan in
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
7|P a g i n a
slagen een groot deel van het netwerk te bereiken. Goldenberg, Lowengart en Shapira stelden dat de verhouding van het aantal verbindingen van een persoon met zeer veel verbindingen tot het aantal verbindingen dat een gemiddelde persoon heeft, een significante impact heeft op het reduceren van de levenscyclus van een innovatie binnen een netwerk (Goldenberg, Lowengart, & Shapira, Integrating the social network to diffusion model and evaluation of the value of hubs in the adoption process, 2009). Hieruit volgt dat het bestaan van mensen met een zeer grote connectiviteit, i.e. 'hubs', een cruciale rol spelen binnen het verspreidingsmechanisme. In small-world netwerken blijkt het bestaan van clusters, waarbinnen de connectiviteit gemiddeld hoger ligt, de werking van de verspreiding significant verbetert en dus mede aanleiding kan geven tot het ontstaan van hypes.
2.3 SCALE-FREE/POWER-LAW NETWERK Het eerste onderzoek naar de zogenaamde scale-free netwerken werd uitgevoerd door Barabási Albert-László. Hij vond in zijn observerend onderzoek van het internet dat online netwerken niet georganiseerd zijn in een willekeurig netwerk. Zijn studies wezen uit dat het internet zodanig gestructureerd is dat een significant aandeel van de sites veel meer verbindingen heeft dan de gemiddelde site. Deze sites met een hoge connectiviteit zijn meestal omringd door sites met een lagere connectiviteit (Albert, Jeong, & Barabási, 1999). Deze netwerkstructuren waarin vele knopen met een lage connectiviteit kunnen samengaan met enkele knopen met een hoge connectiviteit werd door Barabási omschreven als de netwerken met een scale-free of power-law distributie (Barabási A. , 2002) (Mislove, Druschel, Marcon, Bhattacharjee, & Gummadi, 2007) of kortweg de scale-free netwerken. In tegenstelling tot het wereldwijde web zijn sociale netwerken niet georganiseerd rond inhoud, maar rond gebruikers en hun onderlinge relaties (Mislove, Druschel, Marcon, Bhattacharjee, & Gummadi, 2007). Dit heeft als gevolg dat de verdeling van het aantal vrienden per persoon, na ordening, bij benadering asymptotisch scale-free is. Als we de scale-free verdeling vergelijken met de exponentiële verdeling (Figuur 5) zien we dat de exponentiële verdeling niet toelaat dat er in het netwerk individuen zouden zijn met een aantal buren dat veel afwijkt van het gemiddeld aantal buren. In het voorbeeld zien we dat de exponentiële verdeling geen zware staart toelaat, daar waar dit wel kan in de powerlaw verdeling. Bij de power-law is het dus mogelijk dat er enkele individuen zijn waarbij het aantal buren veel afwijkt van het gemiddelde. Mathematisch stellen we dat indien aantal buren is en
het gemiddelde aantal buren is,
.
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
8|P a g i n a
het
45 40
Frequentie
35 30 25 exponentieel
20
power-law
15 10 5 0 1
2
3
4
5 6 7 8 9 10 Aantal verbindingen met buren
11
12
13
FIGUUR 5: VERGELIJKING EXPONENTIELE EN POWER-LAW VERDELING
We zeggen dat een netwerk een scale-free verdeling heeft, indien een willekeurige knoop in dat netwerk de kans heeft om , en
verbindingen te hebben. Waarbij
proportioneel is met
staat voor de power-law coëfficiënt. In realiteit zien we dat deze coëfficiënt varieert
tussen twee en drie (Barabási A. , 2002). Dit is dus de verdeling van het aantal connecties per knoop waarbij elke knoop in het netwerk, in vergelijking met de gemiddelde connectiviteit van het netwerk, een significante kans heeft om een heel groot aantal connecties te hebben met andere knopen. Deze conclusie dat enkele knopen met hoge connectiviteit kunnen samen bestaan met vele knopen met lage connectiviteit staat haaks op de bevindingen van Duncan Watts en Steven Strogatz (Watts & Strogatz, 1998). Dat een (online) sociaal netwerk zou gekenmerkt worden door een scale-free verdeling (Mislove, Druschel, Marcon, Bhattacharjee, & Gummadi, 2007) heeft enkele belangrijke gevolgen voor de verspreidingseigenschappen van zo een netwerk. Zo zouden infecties zich vrij kunnen verspreiden over de populatie, onafhankelijk van hun verspreidingssnelheid (May & Lloyd, 2001), en zou de afwezigheid van een epidemische drempel kenmerkend is voor deze power-law netwerken (Pastor-Satorras & Vespignani, 2000). Dit wil zeggen dat er in een scale-free netwerk praktisch altijd een epidemische uitbraak plaats zal vinden. Ongeacht de mate waarin de epidemie infectieus is, of hoe snel deze epidemie zich verspreidt doorheen het netwerk, toch zal deze uitbraak plaats vinden. Daarnaast heeft de graad van intimiteit een sterke invloed op het transmissietempo van een infectie (Ouboter, 2010), wat het belang van sterpersonen, i.e. 'hubs', benadrukt. Scott beschreef dat deze 'hubs' topologisch als zowel lokaal centraal (veel directe en indirecte verbindingen) als globaal centraal (lage geodetische afstand) in het sociale netwerk waren (Scott, 1987). Hierdoor zouden ze een centrale rol spelen in de verspreiding van de infectie in het netwerk. Wilson et al. stelden in hun observatie van Facebook vast dat de meeste interactie tussen individuen Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
9|P a g i n a
gegenereerd wordt door slechts een kleine fractie van het totaal aantal verbindingen dat een individu heeft (Wilson, Boe, Sala, Puttaswamy, & Zhao, 2009), wat het belang van deze centrale personen in het netwerk verder benadrukt. Deze omschrijving van sterpersonen komt overeen met de individuen in het rechter deel van de power-law distributie. Het zijn deze personen die ervoor zorgen dat de verdeling voor de connecties een zware staart heeft.
2.4 MARKOV NETWERK In een poging om transitiviteit van de gemodelleerde netwerken te verhogen, werd het 'random Markov netwerken model' ontwikkeld. In een netwerk met een hoge transitiviteit, is de kans groot dat indien persoon , persoon
verbonden is met persoon , en persoon
met persoon
ook verbonden zal zijn met persoon . De bedoeling van dit model was een
netwerk te bouwen waarbij een groot aantal driehoeksverbindingen konden bestaan, zonder dat deze verbindingen op een ingewikkelde manier afhankelijk waren van elkaar. Deze manier van modelleren bleek echter beperkend voor het simuleren van grote populaties. Zo bleek dat epidemisch gedrag moeilijk mathematisch af te leiden is uit zo een netwerk en dat er ongewenst asymptotisch gedrag optreedt (Frank & Strauss, 1986). Precies omwille van deze redenen zullen we deze netwerken niet verder gebruiken in deze thesis.
2.5 SIMULATIE Voor een volledig inzicht in de verspreiding binnen een sociaal netwerk, is het belangrijk om te beschikken over een netwerk dat theoretisch voldoet aan de elementen die de literatuur naar voor schuift. Om dit te verzekeren bouwen we zelf een netwerk op. Hiervoor gebruiken we Cytoscape.
2.5.1 CYTOSCAPE Cytoscape is een 'open source' software platform dat gebruikt wordt voor de visualisatie en analyse van moleculaire interactienetwerken. Het stelt ons in staat verschillende netwerken te simuleren volgens de algoritmes die in de literatuur naar voor werden geschoven door Erdős en Rényi, Strogatz en Watts, en Barabási en Albert. De bijhorende Java code van de algoritmes is samen met de volledige code van het programma terug te vinden op cytoscape.org .
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
10 | P a g i n a
Voor het simuleren van een netwerk in Cytoscape gaan we als volgt te werk. Nadat we Cytoscape geopend hebben, moeten we de nodige plug-in installeren voor het simuleren van de gewenste netwerken. Hiervoor selecteren we Plug-ins - Manage Plug-ins. Na het laden van alle beschikbare plug-ins, krijgen we een interface waaruit we onder de map 'Netwerk Generation' de 'RandomNetworks' plug-in selecteren. Vervolgens starten we Cytoscape opnieuw op om de plug-in te kunnen gebruiken. We kiezen Plug-ins - Random Networks - Generate Random Network. We zien een menu waarbij we de mogelijkheid hebben om 3 soorten netwerken te simuleren. Deze netwerken komen overeen met de sociale netwerken die we hierboven besproken hebben (Cf. supra. 2.1 Willekeurig netwerk, 2.2 Small-world netwerk en 2.3 Scale-free/power-law netwerk). Hieronder zullen we de besproken sociale netwerkstructuren kort simuleren. Om de kenmerken van deze webben visueel duidelijk te maken, kiezen we ervoor om eerst kleine netwerken te maken, omdat deze eenvoudig te interpreteren zijn. We zorgen ervoor dat de lay-out cirkelvormige is waarbij de knopen geordend zijn volgens het aantal buren dat ze hebben. Daarnaast maken we de knopen met een relatief hoge connectiviteit rood gekleurd en groter dan de knopen met relatief weinig verbindingen die groen gekleurd zullen worden. Deze kleuring geeft duidelijk de basiskenmerken van de netwerken weer. De gebruikte algoritmen voor het opbouwen van de grote netwerken zullen later apart besproken worden. Voor het willekeurig netwerk volgens de principes van Erdős en Rényi dienen verschillende parameters en keuzes mee gegeven te worden. We kiezen voor een netwerk volgens de
principes, hierbij zal een netwerk van
knopen en
verbindingen.
Aangezien we een netwerk willen waarbij de richting van de relatie tussen knopen geen invloed uitoefent, vinken we de check box voor 'Undirected' aan. Nadat we het aantal knopen en connecties bepaald hebben, kunnen we een netwerk genereren. Als we een netwerk van 100 knopen en 300 verbindingen genereren, krijgen we volgend netwerk (Figuur 6). Merk dat de grootte van de knopen ongeveer gelijk blijft in het midden en niet extreem veel groeit naar het eind toe. Dit wijst erop dat het aantal verbindingen van een willekeurige knoop in de buurt van de gemiddelde connectiviteit zal liggen.
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
11 | P a g i n a
FIGUUR 6: WILLEKEURIG NETWERK - 100 KNOPEN
Als we een netwerk willen generen met Small-World kenmerken, kiezen we voor het Watts-Strogatz model. Net zoals bij het willekeurig netwerk, kiezen we ervoor dat de richting van een relatie wordt geneutraliseerd. We vinken de box voor 'Undirected' aan. Als we een netwerk van 100 knopen maken met een lineaire interpolatie van 0.3, waarbij elke knoop minstens 2 buren heeft, krijgen we volgend resultaat (Figuur 7). In vergelijking met de vorige simulatie, zien we dat er weinig variatie is in de connectiviteit van de knopen.
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
12 | P a g i n a
FIGUUR 7: SMALL-WORLD NETWERK - 100 KNOPEN
De parameter voor lineaire interpolatie geeft weer in welke mate een netwerk tussen 2 extremen situeert (Figuur 8). In het geval van een lineaire interpolatie van één, krijgen we het extreme geval van een volledig willekeurig netwerk (
). Dit eerste extreme geval wordt
gekenmerkt door een korte karakteristieke padlengte. Indien de lineaire interpolatie echter gelijk is aan nul, krijgen we een speciaal ringvormig netwerk waarbij elke knoop strik verbonden is met evenveel buren aan elke zijde van de cirkel (
). In dit tweede extreme
geval is de clustering dus zeer groot. Hoe dit proces in zijn werk gaat, zien we later (Cf. infra. 2.5.3 Simulatie small-world netwerk).
FIGUUR 8: EFFECT VAN LINEAIRE INTERPOLATIE OP VORM VAN HET NETWERK
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
13 | P a g i n a
Als we ten slotte een scale-free netwerk willen bouwen, kiezen we voor het model van Barabási en Albert. Ook hier kiezen we voor verbindingen tussen knopen zonder richting. Een netwerk van 3 knopen naar 100 knopen, dat groeit met minimaal 2 verbindingen voor elke nieuwe knoop ziet er als volgt uit (Figuur 9).
FIGUUR 9: SCALE-FREE NETWERK - 100 KNOPEN
In dit laatste geval valt het meteen op dat er wel degelijk enkele knopen zijn met een connectiviteit die veel hoger ligt dan bij de andere knopen. De data kan uit Cytoscape worden geëxporteerd op volgende manier. Select - Edges Select All Edges, vervolgens kopiëren we dit naar een tekstbestand waarin we elke spatie vervangen door een komma. Hierdoor bekomen we een CSV-bestand waarvan we de eerste en de laatste kolom nodig hebben. In elk van die twee kolommen zit immers de identificatiewaarden (i.e. de ID waarden) die overeenkomen met knopen uit de relaties.
2.5.2 SIMULATIE WILLEKEURIG NETWERK Hoewel het willekeurig netwerk van Erdős en Rényi niet geschikt is voor het modeleren van bestaande netwerken (Cf. infra. 2.1 Willekeurig netwerk), wordt het nog steeds regelmatig gebruikt bij onderzoek naar verspreidingskenmerken binnen een netwerk. Wij zullen het vooral als vergelijkingsbasis beschouwen ten opzichte van de andere netwerken. Het algoritme is eenvoudig te begrijpen:
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
14 | P a g i n a
1. Vorm elke mogelijke verbinding tussen
knopen die nog niet geselecteerd werden
2. Selecteer 1 verbinding, waarbij elke verbinding de kans
heeft om gekozen te
worden 3. Ga naar stap 1 tot aantal gewenste verbindingen gemaakt is Deze manier van werken komt dus overeen met het opgooien van een muntstuk, met afwijking
, voor elke mogelijke connectie tussen twee knopen. Elk paar knopen heeft
dezelfde kans om verbonden te worden volgens een vooraf gespecificeerde kans . Indien we het gewenste aantal verbindingen,
, specificeren in plaats van een kans , dan geldt:
. Naarmate kans , liggende tussen 0 en 1, groter wordt, verhoogt de kans dat een connectie tussen 2 knopen geselecteerd wordt en zodoende zal de kans dat het netwerk meer connecties bevat ook stijgen (Chung & Lu, 2006) (Figuur 10).
FIGUUR 10: WILLEKEURIG NETWERK BIJ TOENEMENDE KANS P
Wanneer we de parameters kiezen voor de netwerken, is het belangrijk dat de prestaties van de verspreidingsmodellen enkel beïnvloed worden door de netwerk specifieke topologie van dat netwerk en niet door de grootte of het aantal verbindingen. Zo niet zou de vergelijking van de verspreiding in de verschillende netwerken nefast beïnvloed worden. Daarom zullen we er voor zorgen dat alle netwerksimulaties steeds uit evenveel knopen en connecties bestaan. Daarnaast vereist de analyseerbaarheid van de verspreidingsmodellen dat deze modellen relatief snel uitgevoerd moeten kunnen worden. Daarom is het noodzakelijk om de netwerken niet te groot te maken, maar wel groot genoeg zodat de netwerk specifieke eigenschappen zich kunnen ontwikkelen. We zullen steeds een netwerk grootte van 10.000 kiezen en ervoor zorgen dat het aantal connecties tussen deze knopen gelijk is aan 50.000.
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
15 | P a g i n a
Voor het willekeurig netwerk volgens Erdős en Rényi geeft dit het volgend resultaat (Tabel 1). Willekeurig netwerk Clusteringcoëfficiënt
0.001
Gemiddeld aantal buren
10
Netwerkcentralisatie
0.002
Netwerk diameter
7
Netwerk heterogeniteit
0.32
Karakteristieke padlengte
4.258
TABEL 1: NETWERKKENMERKEN SIMULATIE WILLEKEURIG NETWERK
Netwerkcentralisatie staat voor de mate waarin het netwerk zich rond een bepaald knoop is opgebouwd, in de meest simpele vorm zouden we een netwerk met hoge netwerkcentralisatie omschrijven als een ster rond één knoop. De netwerk heterogeniteit staat voor de mate waarin een netwerk hoog verbonden knopen bevat. Zoals verwacht is de verdeling van het aantal buren per knoop Poisson verdeeld (Figuur 12).
FIGUUR 11: VERDELING CONNECTIVITEIT WILLEKEURIG NETWERK
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
16 | P a g i n a
Met betrekking tot de clusteringcoëfficiënt, zien we vooreerst dat er geen patroon zit in de clusteringcoëfficiënt en het aantal connecties van een knoop (Figuur 12). Bovendien merken we op dat de clusteringcoëfficiënt zeer laag is.
FIGUUR 12: VERDELING CLUSTERINGSCOËFFICIENT WILLEKEURIG NETWERK
2.5.3 SIMULATIE SMALL-WORLD NETWERK Aangezien hoge clustering regelmatig voorkomt in sociale netwerken (Albert, Jeong, & Barabási, 1999) (Scala, Amaral, & Barthelemy, 2001) (Liljeros, Edling, Amaral, Stanley, & Aberg, 2001) is het van belang dat dit terugkomt in onze studie. We maken gebruik van het Watts-Strogatz model (Watts & Strogatz, 1998) om dit te kunnen modelleren. Het WattsStrogatz algoritme was een van de eerste algoritmes die specifiek ontwikkeld werden voor small-world netwerken. We gaan als volgt te werk: 1.
We plaatsen alle
buren,
knopen in een cirkel en verbinden elke knoop met
aan elke zijde van de knoop. Deze ring wordt een 'ring lattice network'
genoemd. 2.
Randomisatie (Figuur 13). Elke verbinding wordt opnieuw verbonden met een
kans . Neem voor elke knoop opnieuw met kans
elk van zijn verbindingen
door de verbinding
te vormen.
gekozen uit alle mogelijke waarden van . Hierbij geldt dat
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
, en verbind deze
en
wordt willekeurig .
17 | P a g i n a
FIGUUR 13: RANDOMISATIE STAP BIJ SMALL-WORD NETWERK
Indien indien
, dan hebben we een volledige gerandomiseerd netwerk. Echter , dan blijft het netwerk een 'ring lattice network'. De figuur uit het artikel
van Strogatz en Watts (Figuur 14) maakt dit principe duidelijk (Watts & Strogatz, 1998). Volgens dit algoritme is het mogelijk om het netwerk af te stellen tussen regelmaat
en willekeur
.
FIGUUR 14: EFFECT VAN LINEAIRE INTERPOLATIE OP VORM VAN HET NETWERK
3.
Stap 2 wordt herhaald tot elke verbinding van elke knoop verwerkt is
Als we een netwerk simuleren met
,
, bekomen we een netwerk met
de volgende kenmerken (Tabel 2). We letten op dat we de waarde van
niet te hoog kiezen
zodat het mogelijk is om een hoge graad van clustering te combineren met een relatief korte padlengte. Anderzijds zorgen we er ook voor dat de waarde van padlengte voldoende daalt. (Victor, 2011).
niet te laag is, zodat de
Aangezien de clusteringcoëfficiënt voor één
knoop weergeeft in welke mate de vrienden van deze knoop met elkaar bevriend zijn, geeft de clusteringcoëfficiënt de mate waarin (semi-) exclusieve vriendengroepen zijn gevormd in het netwerk.
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
18 | P a g i n a
Small-world netwerk Clusteringcoëfficiënt
0.489
Gemiddeld aantal buren
10
Netwerkcentralisatie
0.001
Netwerk diameter
8
Netwerk heterogeniteit
0.099
Karakteristieke padlengte
6.119
TABEL 2: NETWERKKENMERKEN SIMULATIE SMALL-WORLD NETWERK
Na het plotten van het aantal connecties per knoop (Figuur 15), zien we dat dit een quasinormale verdeling rond 10 geeft.
FIGUUR 15: VERDELING CONNECTIVITEIT SMALL-WORLD NETWERK
Zoals gehoopt zien we dat de clusteringcoëfficiënt relatief hoog ligt (Figuur 16). Dit toont aan dat er wel degelijk sprake is van clustering binnen het gesimuleerde small-world netwerk.
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
19 | P a g i n a
FIGUUR 16: VERDELING CLUSTERINGSCOËFFICIENT SMALL-WORLD NETWERK
Dit algoritme heeft zowel voordelen als nadelen. Het voornaamste nadeel van dit algoritme is dat de verdeling van het aantal connecties per knoop vaak niet overeenkomt met de scale-free distributie die we in realiteit terug vinden. Anderzijds heeft deze methode als voordeel dat het in staat is hoge graden van clustering te modeleren bij een lage karakteristiek padlengte, wat niet mogelijk is volgens het Barabási-Albert algoritme dat hieronder gebruikt wordt. Merk op dat de verhouding tussen de connectiviteit van de 'hubs', i.e. de personen met extreem veel buren, en de connectiviteit van de gemiddelde knoop niet zeer groot is. De stelling van Goldenberg et al. zal dus waarschijnlijk niet opgaan, aangezien er geen expliciete 'hubs' aanwezig zijn (Cf. supra. 2.2 Small-world ).
2.5.4 SIMULATIE SCALE-FREE NETWERK Doorheen de jaren werden verschillende algoritmes en modellen ontwikkeld voor het simuleren van netwerken. De twee bovenstaande zijn slechts een kleine selectie uit het materiaal dat voorhanden is voor het simuleren van een netwerk. Een van de meest recente modellen is het Barabási-Albert algoritme voor 'scale-free' netwerken. Dit algoritme wordt beschouwd als een van de eenvoudigste van zijn soort om een netwerk te simuleren dat voldoet aan de scale-free kenmerken. Een exhaustief overzicht van de verschillende modellen om een scale-free netwerk te vormen kan gevonden worden in tabel III van (Albert & Barabási, 2002). Voor de simulatie van een scale-free netwerk gaan we als volgt te werk:
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
20 | P a g i n a
1. We initialiseren het netwerk op tijdstip
met
knopen. Deze knopen zijn willekeurig
verbonden. 2. Groei van het netwerk: op tijdstip
wordt een nieuwe knoop toegevoegd.
3. Preferentiële aanhechting van nieuwe knopen: de nieuwe knoop maakt
connecties
met reeds bestaande knopen volgens preferentiële aanhechting. Dit houdt in dat een knoop de neiging heeft om eerder met een hoog verbonden knoop te verbinden dan met een laag verbonden knoop. De kans dat een nieuwe knoop met een bestaande knoop i verbindt is: , waarbij
de graad van knoop is en
de som is van de alle graden over reeds
bestaande knopen. 4. stap 2 en 3 worden herhaald tot
, waarbij
het maximaal aantal knopen voorstelt.
Albert-László Barabási en Réka Albert toonden aan dat zowel preferentiële aanhechting als groei essentieel zijn binnen het algoritme om een scale-free netwerk te verkrijgen (Albert & Barabási, 2002). Kiezen we connectiviteit
van
,
en specificeren we een minimum
(om 50.000 connecties te verkrijgen), dan krijgen we een netwerk met
volgende kenmerken (Tabel 3). We zijn erin geslaagd om de netwerkheterogeniteit te doen stijgen terwijl we de clusteringcoëfficiënt en de afstand tussen twee willekeurige personen, i.e. de karakteristieke padlengte, laag konden houden. Deze stijging in de heterogeniteit van het netwerk wordt verwezenlijkt door de aanwezigheid van de 'hubs', wat overeenkomt met (Wu, Tan, Deng, & Zhu). Scale-free netwerk Clusteringcoëfficiënt
0.007
Gemiddeld aantal buren
10
Netwerkcentralisatie
0.036
Netwerk diameter
6
Netwerk heterogeniteit
1.320
Karakteristieke padlengte
3.657
TABEL 3: NETWERKKENMERKEN SIMULATIE SCALE-FREE NETWERK
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
21 | P a g i n a
Om zeker te zijn dat de verdeling van het aantal connecties per knoop een power-law distributie heeft, plotten we deze verdeling op een log-log grafiek (Figuur 17). Door de lineaire trend merken we inderdaad dat dit het geval is.
FIGUUR 17: VERDELING CONNECTIVITET SCALE-FREE NETWERK
Net zoals in het willekeurig netwerk kunnen we niet spreken van echte clustering aangezien de waarden voor de gemiddelde clusteringcoëfficiënt te laag liggen (Figuur 18).
FIGUUR 18: VERDELING CLUSTERINGSCOËFFICIENT SCALE-FREE NETWERK
Merk op dat ook dit algoritme een belangrijk nadeel met zich meebrengt. Aangezien er een groot aantal stappen vereist zijn vooraleer preferentiële toevoeging van nieuwe knopen aan het netwerk resulteert in een 'scale-free' netwerk, is het niet aangewezen dit algoritme te
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
22 | P a g i n a
gebruiken voor het genereren van kleine netwerken. Daarnaast is het niet mogelijk om hoge graden van clustering te bemachtigen, zoals bij het Watts-Strogatz model. Voordelig is dan wel dat de verdeling van de connectiviteit net zoals in de realiteit scale-free is.
2.6 EXTERNE DATASET Aangezien bovenstaande netwerken slechts simulaties zijn die trachten de realiteit te benaderen, is het nuttig om te kijken hoe het er in de praktijk aan toe gaat. Daarvoor gebruiken we een steekproef uit een bestaand sociaal netwerk. We baseren ons op een dataset die ons ter beschikking wordt gesteld door (Viswanath, Mislove, Cha, & Gummadi, 2009). Dit netwerk bestaat uit alle connecties tussen de Facebook gebruikers van NewOrleans in 2009. Deze database bevat uit 1.545.686 verbinden en 63.731 knopen, en is dus een pak groter dan de simulaties. Door gebrek aan rekenkracht, is het niet mogelijk om alle netwerkparameters te bereken. Merk op dat we de verkregen dataset corrigeerden voor dubbele observaties, iets wat niet gebeurde in het onderzoek van Viswanath, Mislove, Cha en Gummadi.
FIGUUR 19: VERDELING CONNECTIVITEIT EXTERNE DATASET
Vooreerst merken we op dat het log-log plot van de verbondenheid bij benadering een scale-free verdeling heeft. Doch merken we dat dit gepaard gaat met een relatief hoge clusteringcoëfficiënt op (Tabel 4 en Figuur 20 ).
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
23 | P a g i n a
FIGUUR 20: VERDELING CLUSTERNGSCOËFFICIENT EXTERNE DATASET
Externe dataset Clusteringcoëfficiënt
0. 253
Gemiddeld aantal buren
48.51
Netwerkcentralisatie
0.03239437
Netwerk diameter
15
Netwerk heterogeniteit
/
Karakteristieke padlengte
4.322
TABEL 4: NETWERKKENMERKEN EXTERNE DATASET
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
24 | P a g i n a
3. HYPES Hoewel de term 'hype' algemeen gekend is uit voorbeelden als de Rubik’s Cube, Zumba, de minirok in de jaren ’60, jojo’s, Flippo’s, Tamagotchi en de Hula Hoop, is onderzoek naar dit fenomeen slechts beperkt. Tot nog nu toe is er geen systematisch conceptueel en theoretisch model rond hypes (Bergman, 2003). Een hype wordt in de Oxford Dictionary omschreven als: ‘An intense and widely shared enthusiasm for something, especially one that is shortlived’. (Oxford) Deze definitie geeft mee dat de essentie van een hype ligt bij de bovenmatige aandacht die het krijgt. Of een hype effectief uitsterft of zich ontwikkelt tot een trend, kan slechts naderhand geanalyseerd worden. We zullen ons in deze analyse dan ook focussen op de start van de hype. Dit perspectief is ook logisch vanuit een business standpunt: een bedrijf is met name vooral geïnteresseerd in de vraag of een bepaald product of gadget snel zal doorgroeien in de markt en slechts in mindere mate in de vraag wanneer dat succes zal wegvallen. Dit laatste is immers vaak niet in de handen van het bedrijf, maar wordt beïnvloed door nieuwe producten van de concurrentie of door seizoensgebondenheid.
3.1 DE INVLOED VAN ANDEREN Niet iedereen heeft evenveel invloed op de mensen die hij kent. Bepaalde individuen hebben meer invloed over personen dan anderen (Goldenberg, Han, Lehmann, & Hong, 2009). Hoe meer invloed iemand heeft op een andere persoon, hoe groter de kans dat hij zijn mening kan doordrukken op deze persoon. Voor de verspreiding van informatie doorheen een netwerk spelen personen met een grote invloed op anderen dus een cruciale rol. Gladwell onderscheidt 3 persoonskenmerken die als een katalysator werken op de verspreiding van innovatie. Ten eerste benoemt significant
meer
hij de ‘connectors’. Dit zijn de personen in een netwerk die
connectie
dan
anderen
hebben.
Deze
sterpersonen
met
een
disproportioneel groter aantal buren dan anderen noemen we, in navolging van Goldenberg, sociale 'hubs'. Deze personen zijn van essentieel belang voor de snelle verspreiding in een netwerk, aangezien zij tot meerdere clusters behoren (Goldenberg, Lowengart, & Shapira,
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
25 | P a g i n a
Integrating the social network to diffusion model and evaluation of the value of hubs in the adoption process, 2009). Ten tweede zijn er de ‘salespersons’, dit zijn invloedrijke personen met een grote overtuigingskracht over anderen. Deze individuen hebben niet per se veel connecties, maar ze zijn wel in staat om de connecties die ze hebben te overtuigen over hun eigen gedachtegoed. In vergelijking met de 'connectoren' gaat het hier om de kwaliteit van overtuiging en minder over de kwantiteit van het aantal mensen dat ze overtuigen. Ten slotte onderscheid Gladwell de ‘mavens’, dit zijn de personen die een grote hoeveelheid kennis hebben over de materie. Door middel van deze kennis zijn ze in staat anderen te overtuigen op basis van informatie (Gladwell, 2000). Gladwell specificeerde niet dat één persoon slechts één van de drie kenmerken kon hebben. We kunnen ons dus inbeelden dat er personen zijn die over de drie kenmerken beschikken. Naast deze eigenschappen, vinden we in de literatuur nog andere redenen waarom bepaalde innovaties beter verspreiden dan anderen. Zo wordt het ontstaan van een hype toegeschreven aan het collectief gedrag van de 'Fad Setters' en de 'Fad Followers' (Bikhchandani, Hirshleifer, & Welch, A Theory of Fads, Fashion, Custom, and Cultural Change as Informational Cascades, 1992). De eerste groep kiest zijn producten zonder deze te vergelijken met andere aangeboden producten. Zij zijn de eersten om het product toe te passen. Ze komen overeen met de 'innovators' van (Rogers, 1962). Het zijn deze personen die bepalen of de hype al dan niet de kans krijgt om een populatie binnen te dringen. Als deze personen het product of de dienst niet gaan gebruiken, is de kans klein dat iemand anders het zal doen. Deze 'Fad Setters' verlaten het product zodra een bepaalde proportie aan 'Fad Followers' bereikt is. Op dat moment gaan ze op zoek naar de volgende hype. Het aankoopgedrag van de tweede groep (de 'Fad Followers') wordt bepaald door dat van de 'Fad Setters'. Door gebrek aan informatie imiteren ze het gedrag van de 'Fad Setters'. Ze zullen het product terug verlaten zodra de waarde van het product hun persoonlijke drempel bereikt heeft (Bergman, 2003). Deze groep van de populatie komt overeen met de 'imitators' van (Rogers, 1962). Hoewel de 'Fad Setters' slechts een kleine proportie van de populatie uitmaakt, is hun identificatie dus essentieel bij de bewuste creatie van een hype. De 'Fad Followers' kopiëren immers hun gedrag. De diffusie van hypes baseert zich dus op vooraf gedefinieerde netwerken van relaties tussen personen en leergedrag van anderen (Bikhchandani, Hirshleifer, & Welch, A Theory of Fads, Fashion, Custom, and Cultural Change as Informational Cascades, 1992)
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
26 | P a g i n a
Uit de voorgaande theorieën en de literatuur blijkt dat imitatie aan de basis ligt van een verspreiding met kenmerken van een hype (Bikhchandani, Hirshleifer, & Welch, A Theory of Fads, Fashion, Custom, and Cultural Change as Informational Cascades, 1992) (Kimball Y. , 1944) (Dawson & Gettys, 1929) (Bikhchandani, Hirshleifer, & Welch, Learning from the behavior of others: Conformity, fads, and informational cascades, 1998). Op basis van dit kenmerk, deelde Rogers de populatie op in 'innovators' en 'imitators'. Deze laatste groep deelde hij vervolgens op in de 'early adopters', de 'early majority' , de 'late majority' en de 'laggards' (Rogers, 1962). Elke groep neemt volgens hem respectievelijk 2,5%; 13,5%; 34%; 34% en 16% van de totale populatie in (Figuur 21). Hij stelt dat het adoptieproces van een innovatie start bij de 'innovators' en zich doorheen de verschillende groepen verspreidt naarmate een significant deel van de voorgaande groep de innovatie toepaste. Merk op dat de 'innovators' uit het model van Rogers overeen komen met de 'Fad Setters' uit Bergman's theorie.
FIGUUR 21: TECHNOLOGIE ADOPTIE LEVENSCYCLUS
Zoals we reeds vermeldden, bestaat er geen eenduidige definitie van 'de hype'. Toch trachtten verschillende auteurs de kenmerken van een hype op een rijtje te zetten. Zo deden Aguirre, Quarantelli en Mendoza een poging het fenomeen van de hype eenduidig te definiëren. Ze gebruikten daarvoor de volgende begrippen (Aguirre, Quarantelli, & Mendoza, 1988):
Homogeniteit. Met het homogeen zijn van de hype wordt bedoeld dat de hype intrinsiek niet verandert overheen de tijd. Hetgeen waarover de hype gaat, de inhoud van de hype, is constant (Turner & Killian, Collective Behavior, 1957) (Lofland, 1981)
Nieuw. Dat een hype nieuw is, houdt in dat een hype significant verschillend is van de bestaande gebruiken. Het gaat om een toepassing, product of dienst die nog nooit eerder werd gebruikt, of nieuw is in vergelijking met de bestaande standaard. Dit is vooral te danken aan het feit dat een hype geen voorgeschiedenis kent (Blumer, 1968) (Klapp, 1972)
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
27 | P a g i n a
Niet gerelateerd met normen en waarden van een populatie. Het al dan niet toepassen van een hype heeft geen effect op het algemeen welzijn van de populatie (Klapp, 1972) (Lofland, 1981). Een persoon zal de hype dus niet toepassen uit filantropische overwegingen, noch kan hij ertoe gedwongen worden vanuit morele overwegingen. Hieruit kunnen we ook afleiden dat een hype nooit een negatief effect zal hebben. We kunnen dus veronderstellen dat het toepassen van een hype steeds in lichte mate positief zal zijn.
Plotseling. Rages verschijnen plotseling en onverwacht. Er is dus geen aanleiding waaruit duidelijk blijkt dat er een hype op komst is. Grafisch gezien komt dit erop neer dat de tijd vooraleer de cumulatieve adoptiecurve van het aantal personen dat de hype toepast na zeer korte tijd de hoogte in zal schieten. Sommige auteurs beweren zelf dat een hype toevallig ontstaat door onopzettelijke toepassing en ongeplande handelingen (Davis, 1949) (Blumer, 1968) (Lofland, 1981).
Snelle verspreiding. De verspreiding van hypes in de populatie gebeurt snel. Dit wil echter niet zeggen dat een hype zich per se moet verspreiden over de gehele populatie. De verspreiding kan zich beperken tot slechts een deel van de populatie of tot een bepaald segment uit die populatie (Davis, 1949). Het is dus mogelijk dat men van een hype spreekt, zonder dat dit door de gehele populatie zo wordt aangevoeld. De snelle verspreiding zal gevisualiseerd worden door een steile cumulatieve adoptiecurve. Als een gevolg hiervan, zal de cumulatieve adoptiecurve haar buigpunt snel bereiken.
Snelle acceptatie en van korte duur: Hypes worden snel geaccepteerd door de populatie. Dit wil zeggen dat er weinig weerstand is tegen het nieuwe fenomeen. Een individu zal niet geneigd zijn om de hype a priori te verwerpen. De piek van de productlevenscyclus wordt snel bereikt (Blumer, 1968) door de explosieve toename aan populariteit. Naast het snel bereiken van deze piek in de productlevenscyclus, staan hypes bekend voor hun relatief korte levensduur (Klapp, 1972) (Lofland, 1981) (Turner & Killian, Collective Behavior, 1972). Dus hoewel een hype snel de appreciatie wint van het publiek waartoe het zich richt, zal dit succes toch slechts van kort duur zijn.
Op basis van deze kenmerken, zullen we een hype in deze thesis definiëren aan de hand van de verspreidingskenmerken. Vooreerst stellen we dat een hype geen negatieve effecten heeft op de populatie. Hierdoor kunnen we stellen dat een persoon de hype niet op voorhand zal kunnen verwerpen, i.e. niet gerelateerd met normen en waarden van een populatie en
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
28 | P a g i n a
snelle acceptatie. Daarnaast stellen we dat het niet lang duurt voordat de verspreiding zal plaatsvinden in de populatie. Indien we de cumulatieve adoptiecurve beschouwen, zal het buigpunt dus snel bereikt worden, i.e. snelle verspreiding en plotseling. We stellen dus dat we van een hype spreken indien de verspreiding (super-) exponentieel door de populatie verloopt.
3.2 INFORMATIONAL CASCADES Gewone product levenscyclussen zijn niet in staat zijn om de korte en snelle fluctuaties in het verspreidingsgedrag van een hype uit te leggen. Dit zette vele academici ertoe aan om een analytisch model te bouwen dat dit fenomeen kan verklaren. Het was echter pas in 1992 dat hypes voor het eerst in verband konden gebracht worden met verspreidingsmodellen door zich te baseren op het ‘informational cascade ’ model (Bikhchandani, Hirshleifer, & Welch, A Theory of Fads, Fashion, Custom, and Cultural Change as Informational Cascades, 1992). We spreken van een ‘informational cascade ‘ wanneer het voor een persoon optimaal is zijn keuze te baseren op het gedrag dat hij observeert bij anderen en daarbij de informatie die hij zelf bezit te verwerpen. Deze theorie verklaart met behulp van de confirmatietheorie (Bikhchandani, Hirshleifer, & Welch, A Theory of Fads, Fashion, Custom, and Cultural Change as Informational Cascades, 1992) dat indien men een beslissing neemt waarbij men zelf over weinig informatie beschikt, deze beslissing dicht op de scheidingslijn tussen alternatieven zal vallen. Met andere woorden, de kans dat men het ene alternatief boven het andere verkiest is klein. Op die manier ontstaat een onstabiele cascade verspreiding die vaak van korte duur is (Bikhchandani, Hirshleifer, & Welch, A Theory of Fads, Fashion, Custom, and Cultural Change as Informational Cascades, 1992). Immers, zodra er genoeg mensen gekozen hebben voor één van de alternatieven, zal men het gedrag van de groep kopiëren, zonder rekening te houden met zijn eigen kennis. Deze situatie zorgt ervoor dat kleine schokken kunnen leiden tot grote veranderingen in het gedrag van de gehele populatie (Kuran, 1989). Om het 'informational cascade' model te kunnen toepassen, gelden enkele assumpties en dus beperkingen. Het 'informational cascade’ model veronderstelt dat alle beslissingen sequentieel en rationeel gebeuren op basis van de voor de beslissingsnemer beschikbare informatie. De personen hebben hierbij slechts een beperkt aantal mogelijkheden zijnde adaptatie of verwerping. Met andere woorden, de personen zouden in rij na elkaar staan en hierdoor geen toegang hebben tot de informatie verschaft door derden. In deze situatie kunnen ze enkel zien of de personen die voor hen staan beslisten een bepaald gedrag toe te Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
29 | P a g i n a
passen, of dit gedrag te verwerpen. De beslissingsnemers weten dus niet waarom hun voorgangers de keuze maakten, enkel welke keuze ze maakten. Ze zullen een beslissing nemen op basis van de a priori informatie waarover zij zelf beschikken en op basis van het gedrag dat ze observeren bij hun voorgangers. De keuze van de voorgangers wordt beschouwd als extra aanvullende informatie die de beslissingsnemer kan gebruiken om een 'betere' beslissing te nemen. Nadat de cascade ver genoeg gevorderd is, zal een individu de beslissing van zijn voorgangers
boven zijn eigen informatie
plaatsen. Immers doordat verschillende
personen sequentieel dezelfde keuze maakten, zal de beslissingsnemer denken dat zij hiervoor een goede reden zullen gehad hebben. Het feit dat verschillende personen na elkaar voor één van de alternatieven kozen, wordt gebruikt als krachtige informatie ten opzichte van de beperkte informatie die hij zelf beschikt. Zo zal na het verloop van dezelfde cascade de beslissing uitsluitend nog baseren op die informatie die wordt voorgedragen uit de beslissingen van voorgaande actoren (Figuur 22). Na dit punt voegt zijn beslissing dus geen verdere informatie toe aan de informatie stroom voor de volgende actoren. Door de assumptie van volledige rationaliteit onder actoren, is het logisch te verklaren dat een willekeurige persoon in een groep waarde hecht aan de mening van anderen ongeacht de mate waarin hij conformiteit zoekt met die groep. We stellen dat elk individu verplicht wordt om een standpunt aan te nemen ondanks dat deze niet over de volledige informatie beschikt (Bikhchandani, Hirshleifer, & Welch, Learning from the behavior of others: Conformity, fads, and informational cascades, 1998)
FIGUUR 22: INFORMATIONAL CASCADE
Als we de veronderstelling laten vallen dat de personen in een sequentiële lijn horen te staan en we ze in een netwerk plaatsen, komen we op modellen als het sociale invloedmodel en het sociaal leer model (Bikhchandani, Hirshleifer, & Welch, Learning from the behavior of others: Conformity, fads, and informational cascades, 1998) die hierna besproken zullen worden.
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
30 | P a g i n a
4. VERSPREIDINGSMODELLEN Verspreidingsmodellen werden voor het eerst ontwikkeld om het S-vormig verloop in productadaptatie te verklaren (Bass, 1969). Dit S-vormig verloop ontstaat doordat de marktpenetratie eerst langzaam verloopt, vervolgens versnelt wanneer dit het grote publiek bereikt en daarna neemt de groei weer af, of wordt hij zelf negatief, bij verzadiging van de markt. Na introductie in de marketing werden verspreidingsmodellen steeds meer toegepast om de levenscyclus van -, en de vraag naar een product te voorspellen (Radas, 2006). Men onderscheidt verschillende soorten verspreidingsmodellen binnen de marketing, gaande van statische stationaire modellen tot tijdsafhankelijke modellen met variabele parameters. Voor een uitgebreid overzicht verwijzen we naar het werk van (Radas, 2006). Aangezien het niet ons doel is om de invloed van extern veranderende parameters op het verspreidingsmodel te onderzoeken, zullen we er van uitgaan dat alle externe parameters vast staan en de bedrijfsbeslissingen en concurrentiebeslissingen zoals marketingmix, prijszetting en marketingbudget gegeven zijn. Besmettelijke verspreidingsmodellen vinden hun oorsprong in epidemiologie. Hierin worden deze modellen gebruikt om te kijken hoe snel een virus zich verspreidt in een populatie. Een van de bekendste en oudste modellen zijn het "Susceptible, Infected, Recovered" (SIR) model (Kermack & McKendrick, 1927) en het daarvan afgeleide "Susceptible, Infected, Susceptible" (SIS). Beide modellen stellen zich de vraag wat de kans is dat een bepaald virus doorbreekt in een populatie (of netwerk). Het eerste model stelt dat bepaalde personen in het netwerk gevoelig zijn voor infectie van een bestudeerd virus, indien een van hun buren in het netwerk besmet is met dat virus. Indien deze individuen besmet zijn kunnen zij ofwel genezen of uit het netwerk verwijderd worden, i.e. sterven. In beide gevallen wil dit zeggen dat deze personen enige tijd na besmet te zijn, geen andere buren in het netwerk zal kunnen infecteren. Het tweede model is gelijkaardig, doch hierbij kunnen deze individuen na genezing terug geïnfecteerd worden. Op die manier is het mogelijk dat zij na hun eerste besmetting opnieuw besmet worden en terug hun buren gaan beïnvloeden. Beide modellen veronderstellen een gesloten, homogene populatie met uniforme menging, dit houdt in dat de populatie niet beïnvloed wordt van buiten af en dat de infectie hetzelfde effect heeft op elk individu in de populatie. Daarnaast geldt voor dit model dat alle individuen in het netwerk elkaar met dezelfde intensiteit ontmoeten. Merk op dat de beperkingen overeenkomen met de kenmerken van een willekeurig netwerk. Dit komt niet
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
31 | P a g i n a
overeen met de reële situatie waarin sommige personen meer beïnvloedbaar zijn door een infectie dan anderen, waarbij sommige personen meer/minder communiceren met verschillende subgroepen van de populatie, of de situatie waarbij de kans om een willekeurig individu uit de populatie te ontmoeten niet gelijk is voor elk persoon in dat netwerk. De verspreiding binnen een netwerk wordt gekenmerkt door de finale grootte, snelheid van verspreiding, kans op uitsterven van de infectie en het reproductienummer van het virus. Voor ons is vooral de tweede factor van belang voor het beschrijven van een hype. Hoe sneller een potentiële hype zich verspreidt in een netwerk hoe groter de kans dat het uitgroeit tot een effectieve hype. Zoals we eerder al zagen, hoeft de gehele populatie niet 'besmet' te worden met de hype vooraleer we de verspreiding van een product als een hype kunnen bestempelen. Aangezien we in deze thesis enkel focussen op het ontstaan van de hype en niet op het uitsterven ervan, is ook de kans op uitsterven niet relevant voor dit scenario. Het reproductienummer, of het aantal mensen dat gemiddeld wordt besmet door één besmette persoon zal de verspreiding zeker beïnvloeden, maar hangt in grote mate af van de vorm van het netwerk. We
maken
onderscheid
tussen
de
volgende
verspreidingsmodellen:
de
besmettingsmodellen, de sociale invloedmodellen en de sociale leermodellen. Hoewel alle modellen theoretisch resulteren in S-vormige verspreidingspatronen, verschillen de laatste twee modellen van de eerste in het feit dat ze een superexponentiële groei kennen in het begin van hun verloop (Young, Working paper, 2006). Deze karakteristiek maakt ze juist heel toepasselijk voor het beschrijven van de verspreiding van hypes in een populatie. Beide modellen zijn ook consistent met de stelling van Rogers, aangezien ze beiden nood hebben aan een initiële beginpopulatie die hun gedrag aanpast ongeacht hun netto opbrengsten, i.e. de ‘innovators’. We nemen ook een bepaalde versie van het klassieke besmettingsmodel in beschouwing omdat dit een basis vormt voor de vergelijking met de literatuur.
4.1 BESMETTINGSMODELLEN In besmettingsmodellen zullen actoren een bepaald gedrag overnemen louter en alleen omdat ze ervan horen via anderen. Er wordt geen rekening gehouden met het feit of het nieuwe gedrag meer waard is dan wat de persoon momenteel doet, of van wie hij het hoort. Deze modellen leunen het dichtst aan bij de epidemiologie omdat deze modellen ontwikkeld zijn voor virussen waarover de individuele persoon weinig invloed heeft. Hij kan immers niet kiezen om geïnfecteerd te worden of kiezen om immuun te blijven. De meest bekende modellen zijn het SIR model, SIS model en het Bass verspreidingsmodel (Bass, 1969). Aangezien we exogene factoren constant houden, komt dit neer op een model met één of Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
32 | P a g i n a
twee parameters, afhankelijk of men veronderstelt dat een persoon kan herstellen van een infectie. Deze parameters zijn de kans op infectie en de kans op herstel.
4.1.1 CASCADEMODELLEN Het onafhankelijke Cascademodel (Goldenberg, Libai, & Mulle, talk of the networks: a complex systems look at the underlying process of word of mouth, 2001) (Goldenberg, Libai, & Muller, Using Complex Systems Analysis to Advance Marketing Theory Development: Modeling Heterogeneity Effects on New Product Growth through Stochastic Cellular Automata, 2001) is een discreet verspreidingsmodel. Dit wil zeggen dat de verspreiding sequentieel gevolgd kan worden per tijdseenheid. Een persoon zal dus geïnfecteerd worden op tijdstip
, maar nooit op tijdstip
waarbij
een niet-geheel getal is. Het
model stelt dat elke knoop eenmaal de kans heeft zijn buren te infecteren met kans . Indien een knoop op tijdstip aanliggende inactieve buren
actief wordt, krijgt het welgeteld één kans zijn
te activeren. Dit proces slaagt met een kans
,
onafhankelijk van de voorgaande geschiedenis van de infectie op . Indien knoop actief wordt op tijdstip , zal deze knoop op tijdstip met zijn directe buren. Onafhankelijk of
hetzelfde trachten te doen
slaagt in de opzet zijn buren te activeren,
de knoop krijgt geen kans om zijn buren nogmaals te activeren in volgende ronden. Als we dit vertalen naar een situatie in de werkelijkheid, zal een persoon dus als het ware observeren dat een vriend van gedrag is veranderd. Op het moment dat hij deze verandering waarneemt, zal hij beslissen of hij zijn gedrag ook zal veranderen. Indien hij beslist zijn gedrag niet aan te passen, zal deze vriend hem niet meer kunnen beïnvloeden. Hoewel de waarde
willekeurig wordt gekozen, zouden we in een reële situatie veronderstellen dat
deze afhangt van de relatie tussen twee personen. De waarde voor de kans
is dan als
het ware een benaderingsfactor voor de graad van vertrouwen in de informatie die twee personen met elkaar uitwisselen. Aangezien er geen informatie gegeven is over de karakteristieken van de knopen of de relaties tussen de knopen, zullen we veronderstellen dat deze kans om elkaar te infecteren willekeurig verdeeld is over alle aanwezige relaties. Een individu zal zijn gedrag aanpassen indien de relatie met een actieve buur een bepaalde a priori kans overstijgt. Deze a priori kans wordt op voorhand aan het model meegegeven en kan beschouwd worden als de mate waarin de populatie zich aangetrokken voelt door de hype.
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
33 | P a g i n a
Merk op dat deze beschrijving van het cascademodel vergelijkbaar is met het SIR model waarbij een persoon immuun wordt na één tijdseenheid. Echter in ons geval willen we niet weten of de infectie blijft voortbestaan, maar wel hoeveel mensen er immuun worden. Een persoon die eerst besmet wordt en daarna met 100% kans herstelt, komt overeen met een persoon die het hypend gedrag toepast. Als we echter naar de realiteit kijken, zien we dat elk individu bij de aankoop of adaptatie van een product door een beslissingspatroon gaat. Dit komt dus niet overeen met de klassieke
besmettingsmodellen.
Een
persoon
heeft
immers
zelf
invloed
op
het
infectiepatroon. Afhankelijk van een aantal parameters, zal hij beslissen om geïnfecteerd te worden, i.e. het nieuwe gedrag toe te passen. De kans dat een persoon het hypend gedrag zal overnemen is dus niet louter toevallig. In de volgende twee verspreidingsmodellen zien we een meer geavanceerde benadering van de realiteit.
4.2 SOCIALE INVLOEDMODELLEN Mensen zijn sociale wezens. Ze worden beïnvloed door anderen en imiteren anderen, zeker in het geval van hypes (Bikhchandani, Hirshleifer, & Welch, A Theory of Fads, Fashion, Custom, and Cultural Change as Informational Cascades, 1992). Daarom gaan we op zoek naar modellen die dit imitatiegedrag kunnen verklaren. In sociale invloedmodellen zullen mensen een bepaald gedrag aannemen zodra een bepaalde fractie van de groep dat gedrag vertoont. Deze modellen, net als de volgende, verschillen van het voorgaande doordat hun verspreidingsgedrag gebaseerd is op een keuzeproces van de actoren in het netwerk in plaats van louter toevallige blootstelling van deze actoren aan de hype. Wat voornamelijk interessant is aan deze diffusiemodellen is dat ze theoretisch toelaten het superexponentieel verspreidingsgedrag van een hype te verklaren (Young, Working paper, 2006). Dit extreem exponentieel gedrag vinden we ook terug in de sociale leermodellen die hierna besproken worden. We spreken van een sociaal invloedmodel indien een individu een gedrag zal overnemen zodra het aantal actieve personen uit zijn directe omgeving een drempelwaarde overschrijdt. Het model stelt dat elke persoon een bepaalde drempelwaarde heeft groter dan nul. Deze drempelwaarde komt overeen met de mate waarin de persoon beïnvloedbaar is door anderen. Een persoon met een hoge drempelwaarde zal dus vereisen dat een grote fractie van zijn directe buren het hypend gedrag vertoont. Een persoon met een lage drempelwaarde is zodanig beïnvloedbaar dat hij zijn gedrag reeds zal aanpassen indien slechts enkele van zijn vrienden hun gedrag aanpassen.
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
34 | P a g i n a
Het overnemen van een bepaald gedrag is dus niet afhankelijk van de intrinsieke eigenschappen van de hype, maar van de populariteit van dat hypend gedrag. Deze populariteit wordt als het ware een benaderingswaarde voor het gecombineerd effect van de positieve en negatieve effecten van dat gedrag. Hierna zien we een sociaal invloedmodel dat meer aangepast is aan de verspreiding van een hype.
4.2.1 THRESHOLDMODELLEN Indien een persoon zijn gedrag zou aanpassen op het moment dat een bepaalde fractie van zijn vriendengroep het nieuwe gedrag vertoont, zou dit betekenen dat een individu evenveel waarde hecht aan de mening van al zijn vrienden. Hoewel deze situatie mogelijk lijkt, is het iets te simplistisch om te stellen dat een persoon aan de mening van al zijn vrienden evenveel waarde hecht. Daarom werden lineaire thresholdmodellen ontwikkeld. Lineaire thresholdmodellen stellen dat elk individu in een netwerk beïnvloed wordt door een buur
waarmee hij verbonden is volgens een bepaald gewicht
(Granovetter, 1978)
(Schelling, 2006). Dit gewicht kan bijvoorbeeld overeenkomen met het vertrouwen dat deze personen in elkaar hebben. We stellen dat deze gewichten normaal verdeeld zijn doorheen de populatie en dat het gemiddelde boven nul ligt. Dit is de situatie waarbij men enkele vrienden heeft waarin in men zeer veel vertrouwen heeft, enkele die men totaal niet vertrouwt en vele vrienden waartegenover men min of meer onverschillig is. Naast een gewicht
voor elk van zijn relaties, heeft elk individu een bepaalde grenswaarde
drempelwaarde
Deze
stelt de minimum gewogen fractie actieve buren voor die individu moet
hebben vooraleer hij zelf actief zal worden. De fractie wordt logischerwijs gewogen volgens de invloed
die een actieve buur heeft op de individu . Zodra de som van de gewichten,
van alle actieve buren die een individu heeft, de waarde van zijn persoonlijke threshold overschrijdt, zal hij zijn gedrag aanpassen.
Anders gesteld zouden we kunnen zeggen dat een persoon slechts een gedrag zal overnemen nadat een voldoende grote fractie van zijn (goede) vrienden het gedrag vertoont. Hierbij
gebruikt
de
persoon
de
vriendschap
tussen
twee
personen
als
een
benaderingswaarde om te bepalen in welke mate het gedrag van die persoon wenselijk is. Het beslissingsproces is dus afhankelijk van de sociale invloed van de ene persoon op de andere.
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
35 | P a g i n a
Het verspreidingsproces verloop in discrete stappen: Op een willekeurig tijdstip , zijn alle knopen die op tijdstip
actief waren nog
steeds actief. We activeren elke knoop waarvoor de gewogen som van actieve buren op dat moment minstens
is. Het gewicht
aan elke relatie toegewezen is.
wordt bepaald door de waarde die
stelt dus intuïtief de neiging van een individu voor
om een bepaald gedrag over te nemen als zijn buren dit gedrag reeds overnamen. Aangezien in realiteit weinig geweten is over de verdeling van deze grenswaarden
,
worden deze willekeurig verspreid over het netwerk. Het proces is dus vergelijkbaar met het cascademodel. Hier ligt echter de nadruk op de eigenschappen van de individuele knopen, de connecties tussen de knopen en niet zo zeer op de eigenschappen van de hype zelf. Doch beide modellen bieden nog steeds geen fundamentele verklaring waarom mensen een hypend gedrag zouden overnemen van anderen. Daarom werd gezocht naar een manier om een rationeel keuzeproces in kaart te brengen en hier komen de sociale leermodellen in beeld.
4.3 SOCIALE LEERMODELLEN Tijdens de modellering van verspreidingsmodellen, gaat men steeds uit van rationele individuen. Gegeven een rationeel keuzeproces, zal een persoon een bepaald gedrag enkel overnemen als de totale voordelen van dat gedrag duidelijk groter zijn dan de totale nadelen. Deze totale nadelen zijn in onze situatie de totale voordelen van het gedrag dat hij momenteel toepast of een bepaalde minimum waarde die gebaseerd is op de overtuigingen van de persoon. Wanneer de persoon de netto voordelen van een nieuw gedrag observeert uit het voorgaand gedrag van anderen, spreken we van sociale leermodellen. Deze modellen staan zeer dicht bij de werkelijkheid of zoals wordt aangegeven door (Young, Innovation Diffusion in Heterogeneous Populations: Contagion, Social Influence, and Social Learning, 2009): ‘sociaal leren is het meest aannemelijke model uit economisch oogpunt, omdat het duidelijke theoretische fundamenten heeft: individuen worden verondersteld rationeel gebruik te maken van informatie die door eerdere adoptanten [van een gedrag] werden gebruikt, om op die manier tot besluit te komen’. Merk op dat dit dezelfde overtuiging is die het 'informational cascade' model onderbouwt. De sociale leermodellen stellen dat individuen op tijdstip nul een bepaalde mening hebben over de hype. Deze mening gaat echter gepaard met een hoge graad van onzekerheid. Ze zullen dan ook bijkomende informatie zoeken om deze onzekerheid te reduceren. Bij het zoeken naar extra informatie over een bepaald nieuw gedrag zullen deze
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
36 | P a g i n a
individuen zich richten tot de personen in hun directe omgeving die het gedrag reeds vertoonden. Door het gedrag van deze individuen te observeren, zal de persoon vervolgens zijn a priori mening over de gevolgen van het gedrag aanpassen in de richting van de mening van zijn 'besmette' buren. Op het moment dat hij van mening is dat de gevolgen van het gedrag groter zijn dan de persoonlijke kosten, zijnde de gevolgen van zijn huidig gedrag, zal hij het gedrag overnemen. Het verschil met sociale invloedmodellen zit hem dus in de subtiliteit dat het zich bewust zijn van het bestaan van een bepaald gedrag, niet voldoende is om het toe te passen. De persoon in kwestie zal een besluit nemen op basis van de informatie die hij observeert van anderen en niet louter of het feit dat de anderen het gedrag toepassen. Een tweede verschil is dat de drempelwaarde waarboven men zijn gedrag aanpast nu aan veel meer zaken reflecteert dan de beïnvloedbaarheid van een persoon. Deze waarde zouden we nu kunnen voorstellen als een vector van verschillende factoren zoals de netto winst, a priori overtuiging, onzekerheid en hoeveelheid informatie. (Young, Innovation Diffusion in Heterogeneous Populations: Contagion, Social Influence, and Social Learning, 2009)
4.3.1 MODEL Net als bij de voorgaande modellen bouwen we een discreet verspreidingsmodel. Op elk moment in de tijd beslissen de personen in het netwerk om al dan niet een bepaald gedrag met onbekende voordelen over nemen. Elke persoon baseert zijn beslissing door te kijken of zijn verwachtingen met betrekking tot de onbekende voordelen te vergelijken met de gekende voordelen van het gedrag dat hij momenteel toepast. Als de persoon denkt dat voordelen van het nieuwe gedrag de voordelen van zijn huidig gedrag overschrijden, dan zal hij het nieuwe gedrag toepassen. Wanneer hij daarentegen denkt dat de voordelen niet hoog genoeg zijn, zal hij het nieuwe gedrag verwerpen en bij zijn oude gedrag blijven. Op tijdstip nul is de beslissing uitsluitend gebaseerd op de netto opbrengst die de persoon a priori verwacht van het gedrag. Op elk tijdstip daarna zal het besluit om zijn gedrag te veranderen afhangen van wat hij op het vorig tijdstip dacht, aangepast met wat hij observeert uit het adoptiegedrag van zijn directe connecties in het netwerk. Net zoals (Chamley, Scaglione, & Li, 2013) zullen we 'Bayes’ framework' gebruiken om deze nieuwe verwachte opbrengst te berekenen. Het 'Bayes' model' voor sociaal leren gaat uit van twee factoren die het leerproces beïnvloeden (Chamley, Scaglione, & Li, 2013) (Chamley C. P., 2003). Ten eerste hebben we de verdeling van de a priori verwachtingen
) van elke individu
omtrent de netto
reële opbrengsten. Deze opbrengsten zijn de rendementen die personen zullen verwachten
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
37 | P a g i n a
doordat ze een gedrag al dan niet zullen toepassen. De persoon in kwestie moet dus op voorhand een schatting maken van de netto-opbrengst
die hij zal hebben indien hij zich
aansluit bij de hype. Deze schatting gaat gepaard met een zekere graad van onzekerheid . Belangrijk is de veronderstelling dat verdeling ervoor zorgt dat deze rendementen een kans hebben om positief zijn, een persoon zal dus niet op voorhand een gedrag met zekerheid kunnen afwijzen. Ten tweede onderscheidt het model een stroom van private informatie. Elke speler in het netwerk die een gedrag toepast heeft een bepaalde winst die niet zichtbaar is voor de anderen in het netwerk. De buren zullen wel een deel van de private informatie gecodeerd ontvangen in een informatief signaal aangepaste opbrengst Het laatste element
en een stroring . We schrijven
bij te stellen, want het signaal
van zijn voorganger met een bepaalde onzekerheid
dat indien de verdeling van de verwachte opbrengst aan
, waarbij
.
wordt de Bayes' aanpassing genoemd. De persoon die een signaal
krijgt, gebruikt deze om zijn verdeling van overtuiging
. Dit singaal bestaat uit de
stelt de
. De Bayes' regel stelt
voor een bepaalde persoon gelijk is
en de verdeling van het signaal dat hij krijgt een verdeling heeft die gelijk is aan , de persoon zijn verdeling van
zal aanpassen tot
op de volgende manier:
Als we verder gaan met het Gaussiaans versie van dit leermodel (Chamley C. P., 2003) , gebeurt het leren als volgt:
met
en
de precisie.
Een persoon neemt dus het signaal van een buur, die zijn gedrag aanpaste, over. De variantie in dat signaal staat voor de mate waarin de buur zeker is over zijn opbrengst. Indien de buur dus heel zeker is over zijn opbrengst, zal hij een lage variantie hebben. Dit zorgt ervoor dat het individu zijn eigen overtuiging drastisch zal aanpassen in de richting van de opbrengst van de buur. Indien de buur niet zeker is over zijn opbrengst, zal het individu zijn overtuiging niet al te veel aanpassen. Hetzelfde geldt voor de mate waarin hij zeker is over zijn overtuiging. Naarmate zijn buur meer zeker is van zijn opbrengst, zal de onzekerheid van de individu dalen. Indien de buur echter zeer onzeker is, zal de zekerheid van het individu er niet op verbeteren. Dit standaard model heeft enkele belangrijke veronderstellingen. Zo stelt het dat een persoon over totale herinnering beschikt en met al deze informatie rekening houdt. Dit wil zeggen dat de informatie waarover hij beschikt bestaat uit private kennis plus de
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
38 | P a g i n a
geschiedenis van beslissingen van alle actoren die hem voorgingen in de reeks. Daarnaast stelt het dat zijn a priori overtuiging over een bepaald gedrag niet te sterk is. Met andere woorden, doordat hij slechts een vaag idee heeft over de mogelijke winst die hij zou krijgen bij het toepassen van een bepaald gedrag, is er nood aan een leerproces om deze overtuiging te toetsen aan de signalen die hij krijgt van zijn directe omgeving. Ten derde gaat het model er van uit dat alle ontvangen informatie op dezelfde manier wordt verwerkt. Dit houdt in dat personen die systematisch met identieke signalen worden geconfronteerd, onafhankelijk van hun a priori overtuigen, naar dezelfde eindovertuiging zullen converteren op lange termijn. Tenslotte stelt het model dat het gros van het leren zal gebeuren in het begin van het leerproces en dat overtuigingen snel zullen stabiliseren zodra het proces start. Dit impliceert dat er na verloop van tijd weinig weerstand zal zijn om zijn mening nog significant aan te passen indien men een ander signaal krijgt (Meseguer, 2005). Een basis veronderstelling die we maakten is dat elk individu in het netwerk rationeel handelt. Deze rationaliteit wordt weerspiegeld door het gebruik van Bayes' regel om de publieke en private informatie te combineren in een verwachte winst. Daarnaast is het keuzeproces rationeel omdat de beslissingsnemer de beslissing zal maken die volgens hem zijn nut zal maximaliseren. Het totale nut van beslissing wordt pas duidelijk nadat hij zijn beslissing genomen heeft en is afhankelijk van het werkelijke nut dat de persoon ervaart bij het toepassen van een gedrag. Het gerealiseerde nut is dus niet rechtstreeks afhankelijk van het verwachte nut. Aangezien het gerealiseerde nut geen invloed heeft op het keuzeproces, wordt er enkel rekening gehouden met de verwachte opbrengst. We wijzen erop dat personen in realiteit niet rationeel zijn. Zo toonde (Sasaki & Kawagoe, 2007) aan dat individuen veel meer rekening houden met a priori veronderstellingen dan wordt verwacht met de Bayes' regel. In dit model wordt verondersteld dat de beslissingsnemer enkel in staat is om de beweegredenen van een geïnfecteerd persoon te observeren. In een meer geavanceerd model zouden we ook rekening kunnen houden met de effectieve waarde van het nieuwe gedrag. Het ontvangen signaal
zou dan een combinatie zijn van de beweegredenen van
een geïnfecteerde persoon plus de werkelijke waarde van het nieuwe gedrag voor die persoon. Aangezien ons model specifiek focust op de verspreiding van een hype, veronderstellen we op basis van de kenmerken van een hype (Cf. supra. 3.1 De invloed van anderen) het volgende. De netto waarde van de hype is laag. Dit komt overeen met de stelling dat een hype niet leidt tot stijging van het welzijn. Daarnaast steunen we het kenmerk van kortstondigheid van de hype om te zeggen dat de personen niet genoeg tijd hebben om alle voordelen van de hype te ontdekken. We stellen dus bij benadering dat de effectieve waarde van de hype gelijk is aan nul, en dus geen invloed heeft op signaal . Net zoals bij de
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
39 | P a g i n a
voorgaande modellen veronderstellen we dat de adaptatie definitief is. Eens gekozen, kan een persoon niet meer terugkomen op zijn beslissing. Deze situatie geldt dus enkel voor hypes. Indien we het sociaal leermodel zouden willen toepassen voor andere producten, zou het signaal dat elke niet-geïnfecteerde individu krijgt dus anders zijn. In dat geval zouden er per tijdseenheid dat een persoon het nieuwe gedrag blijft toepassen nieuwe voordelen en nadelen opduiken. Daardoor zouden de voordelen voor iedereen en op elk moment anders zijn. Deze voordelen zouden willekeurig verdeeld zijn volgens een normaal verdeling
(Young, Working paper, 2006). Indien we de
voordelen van het oude gedrag dan gelijk zouden stellen aan nul, is
het netto voordeel van
het nieuwe gedrag over het oude gedrag. Naarmate de beslissingsnemer meer informatie zou observeren van buren of over meer informatie zou beschikken door het toepassen van het gedrag, zal deze zijn
aanpassen in richting van de werkelijke waarde
van het
product.
4.4 DE CODE Voor analyse van het effect van het onderliggend netwerk op de verspreiding van hypes, hebben we nood aan een verspreidingsmodel dat werkt volgens de hierboven beschreven principes. Deze modellen werden dan ook geprogrammeerd om dit mogelijk te maken. De R code kan worden gevonden in de bijlagen (Cf. infra. Bijlage 1: De R code). We starten met het aanpassen van de dataset bekomen uit de simulatie. Deze dataset bestaat momenteel uit twee kolommen die elk een knoop in de relatie voorstellen. Eerst en vooral voegen we een uniek volgnummer toe aan elke relatie (Figuur 23). Dit laat toe de kenmerken voor elke relatie te specificeren en de relaties individueel op te roepen waar nodig.
FIGUUR 23: TABLE THESIS_STIJN_SAMPLE
Voor
het
cascade
besmettingsmodel
creëren
we
de
tabel
THESIS_STIJN_SAMPLE_DIFUSSION. Hierin stellen we voor elke knoop enkele diffusiekenmerken vast. In deze tabel voorzien we een kolom met de status van elke knoop. De
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
40 | P a g i n a
waarde 0 betekent dat een knoop nog niet besmet is, de waarde 1 betekent dat een knoop gekozen heeft een bepaald gedrag definitief over te nemen. Als een knoop de waarde 2 meekrijgt, wil dit zeggen dat hij tijdens de huidige diffusiestap kans maakt om besmet te worden. We voegen ook een kolom toe die bijhoudt op welk tijdstip de knoop werd geïnfecteerd (Figuur 24). In tabel THESIS_STIJN_SAMPLE voegen we een kolom toe om aan te geven dat een bepaalde relatie reeds gebruikt is in de poging om zijn buur te besmetten (Figuur 23).
FIGUUR 24: THESIS_STIJN_SAMPLE_DIFUSSION - BESMETTINGSMODEL
Daarna
volgt
de
toepassing
van
het
sociaal
invloedmodel.
In
tabel
THESIS_STIJN_SAMPLE_DIFUSSION voorzien we een tabel met een willekeurige drempelwaarde voor elke knoop in het netwerk. Het sociaal invloedmodel vereist dat elke relatie een bepaald gewicht meekrijgt. Hiervoor maken een extra tabel aan die elke relatie een willekeurig gewicht geeft. De naam van deze tabel is THESIS_STIJN_SAMPLE_REL (Figuur 25).
FIGUUR 25: TABELAANPASSINGEN VOOR SOCIAAL INVLOEDMODEL
Tenslotte modelleren we het sociaal leermodel. Dit model vereist de mogelijkheid om een verdeling toe te wijzen aan een bepaalde overtuiging. Daarom voegen we de kolommen Mean en Variance toe aan de tabel THESIS_STIJN_DIFUSSION om de nodige parameters om te slaan (Figuur 26). Deze twee waarden dienen iteratief bijgewerkt te worden met de inkomende signalen tijdens de simulatie om de finale overtuiging van een persoon te krijgen.
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
41 | P a g i n a
FIGUUR 26: THESIS_STIJN_SAMPLE_DIFUSSION - SOCIAAL LEERMODEL
Na het aanpassen van de basistabellen met de nodige parameters, volgt de initialisatie van de dataset. Dit houdt in dat we voor elk type netwerk een subset van knopen selecteren die de initiële infectiegroep vormt. Zij zijn verantwoordelijk voor het verspreiden van het gedrag over de populatie. In navolging van Rogers (Cf. infra 3.1 De invloed van anderen) noemen we dit deel van de populatie de 'innovators' en kiezen we 2,5% van de populatie (Rogers, 1962) om tot deze subset te behoren. Aangezien het niet ons doel is om de verspreiding te optimaliseren, kiezen we deze personen willekeurig. Indien men zou trachten de verspreiding zo snel mogelijk plaats te doen vinden, moet men trachten de meest beïnvloedende knopen te selecteren zoals Kempe, Kleinberg en Tardos deden. Zij draaiden de vraagstelling van de voorgaande modellen om. Ze vroegen zich als eersten af wat de condities waren om een uitbraak zo optimaal mogelijk te generen. Met andere woorden, welke individuen moeten worden geselecteerd in de initiële set om zo snel mogelijk een gerichte uitbraak te bekomen. Zij formuleerden het probleem dus als een invloedoptimalisatie probleem (Kempe, Kleinberg, & Tardos, 2003). Daarna kijken we welke personen in de directe omgeving liggen van de geïnfecteerde personen, i.e. de buren. Aangezien dit de enige personen zijn die kans maken om geïnfecteerd te worden zetten we hun status gelijk aan 2, wat weergeeft dat ze op dat moment besmetbaar zijn. We houden er echter wel rekening mee dat personen die reeds geïnfecteerd zijn, i.e. status 1 of personen die verbonden zijn via een relatie die reeds trachtte deze buur te besmetten (voor het sociaal leermodel en het
cascade
besmettingsmodel), niet worden meegerekend. Vervolgens komt de besmettingsfase. Dit is de fase waarin wordt nagegaan of de buur besmet wordt. Indien dit het geval is, zal de status van deze buur aangepast worden naar 1, of besmet. Samen met de infectie, geven we de tijd van infectie mee aan deze knoop. Op die manier kunnen we later analyseren welke knopen en hoeveel knopen er op een bepaald tijdstip werden geïnfecteerd. Indien er geen infectie plaats vond, zal de status 2 terug op nul gezet worden, of niet besmet. Er zal logischerwijs ook geen tijd worden meegeven voor deze nulactie. Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
42 | P a g i n a
Bij het sociaal leermodel dient de besmettingsfase vooraf te worden gegaan door een stap waarin de buur zijn geloof omtrent het infectiegedrag aanpast. Dit gebeurt aan de hand van de signalen die hij op dat moment binnen krijgt van zijn geïnfecteerde buren. Dit is een complex iteratief proces waarbij elke buur van een geïnfecteerde knoop zal nagaan hoeveel van zijn andere buren er ook geïnfecteerd zijn, en op die manier alle relevante informatie zal gaan zoeken om zijn huidige overtuiging aan te passen. Na de besmettingsfase gaan we terug naar de fase waarin we kijken welke knopen naast de nieuwe en oude geïnfecteerde knopen liggen. Dit proces wordt herhaald tot er geen infecties meer plaats vinden.
4.5 DE PARAMETERS De effectiviteit van een model hangt steeds af van de parameters die eraan worden meegeven. Zo kunnen we ons bij de verspreiding van een ziekte gemakkelijk inbeelden dat de snelheid van de verspreiding van deze ziekte afhangt van de initiële populatie met de besmetting. Immers, indien slechts enkele personen in België de griep hebben zal de kans op de uitbraak van een pandemie veel kleiner zijn dan wanneer de ziekte bij het begin een heel dorp zou besmet hebben.
4.5.1 PARAMETERS VAN DE VERSPREIDINGSMODELLEN Daar het niet het doel is van deze thesis om het effect van verschillende parameterwaarden op de verspreiding te meten, is de grootte van deze variabelen niet van belang. Wel is het belangrijk om zich te realiseren dat deze parameters wel degelijk een invloed hebben op het model. Hun effect tussen de verschillende verspreidingsmodellen moet dus zoveel mogelijk geneutraliseerd worden. Het is niet toegelaten dat een model beter zou presteren dan een ander model enkel en alleen doordat de waarden van parameters verschillend zouden zijn. Aangezien elk model met andere parameters werkt, is het niet eenvoudig om deze kalibratie tussen de modellen te verwezenlijken. Daarom kijken we naar de werking van deze modellen en stellen we ze gemiddeld gezien gelijk aan elkaar. We starten met het cascademodel, waarna we ervoor zullen zorgen dat alle modellen met dezelfde kansen zullen starten. In het cascademodel stellen we dat een persoon besmet wordt zodra de willekeurige waarde
groter is dan
. Als we de waarde van
willekeurig laten variëren tussen nul
en één, kunnen we gemiddeld gezien zeggen dat een knoop twintig procent kans heeft om Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
43 | P a g i n a
geïnfecteerd te worden (Figuur 27). De reden waarom we voor twintig procent kiezen zal later verklaard worden (Cf. infra. 5.8.2 A priori ingesteldheid). Aangezien de kans dat een knoop in de beginsituatie verbonden is met meer dan 1 geïnfecteerde knoop voldoende klein is, houden we geen rekening met de afhankelijke kans. Echter zodra het model vordert, stijgt deze kans per knoop. Immers indien een knoop geïnfecteerde buren heeft, is de kans om geïnfecteerd te worden:
Dit komt overeen met het opgooien van een onevenwichtig muntstuk dat in twintig procent van de gevallen munt gooit en de rest van de gevallen kop. Indien we dat muntstuk maal opgooien, dan wordt de kans om minstens een maal munt steeds groter naarmate stijgt.
FIGUUR 27: THEORESTISCHE VERDELING DREMPELWAARDE - CASCADEMODEL
Als we met deze initialisatie rekening houden, moeten we er dus voor zorgen dat bij de andere modellen de kans op infectie in de startsituatie ook twintig procent is. Visueel kunnen we dit voorstellen door de groene arcering op de figuren. Deze oppervlakte moet voor alle modellen even groot zijn om zelfde kans voor te stellen. Het groene kader boven de figuren geeft weer aan welke voorwaarde moet voldaan zijn opdat een individuele knoop besmet zou worden, de rode lijnen geven de verdelingen van de parameters weer waarvoor we de beginwaarden moeten vastleggen. In het geval van het cascademodel is
dus gelijk aan
. Voor het sociaal invloedmodel komt dit er op neer de waarde van de threshold gemiddeld keer groter moet zijn dan het gemiddeld gewicht. Naast deze voorwaarde willen we dat de gewichten normaal verdeeld zijn met variantie gelijk aan
en dat het gemiddelde
gewicht niet negatief is. Daarvoor kiezen we de drempelwaarde zo dat geldt: Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
44 | P a g i n a
Indien we een standaardnormale verdeling zouden nemen en we willen gevallen hebben, dan zou dit resulteren in een
Z-score van
stellen aan één geldt dus
van de
. Indien we
gelijk
. Dit is één van de mogelijke
gevallen die logisch te verklaren is. Enerzijds heeft een persoon slechts enkele connecties waar hij zeer veel belang aan hecht, namelijk de vrienden. Zij stellen het rechtse uiterste van de normale verdeling voor. Anderzijds heeft een persoon slechts weinig connecties waaraan hij een zeer laag, tot negatief gewicht aan toekent, namelijk de vijanden. Deze groep komt overeen met het linkse staart van de normale verdeling (Figuur 28). Tenslotte heeft een persoon veel connecties waaraan hij een neutraal tot licht positief gewicht aan toekent, deze groep
kunnen
we
vergelijken
met
de
kennissen
van
een
individu.
FIGUUR 28: THEORETISCHE VERDELING DREMPELWAARDE EN GEWICHTEN - SOCIAAL INVLOEDMODEL
Indien we
gelijk stellen aan één met een bereik tussen nul en twee, resulteert dit in de
Frequentie
volgende verdeling voor de gewichten (Figuur 29).
FIGUUR 29: VERDELING GEWICHTEN - SOCIAAL INVLOEDMODEL
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
45 | P a g i n a
Voor het sociaal leermodel moeten we niet alleen de parameters van de mogelijkheid tot infectie op tijdstip nul bepalen, maar ook de parameters van zijn overtuiging. Als we stellen dat een persoon slechts overgaat tot adaptatie indien hij negenenvijftig procent zeker is dat de hype een positieve opbrengst heeft ten opzicht van zijn huidig gedrag, kunnen we de kans op infectie voorstellen zoals in de groene kader gespecificeerd (Figuur 30).
FIGUUR 30: THEORETISCHE VERDELING BESLISSINGSPROCES - SOCIAAL LEERMODEL
Voor het sociaal leermodel moeten we dus per individu een a priori variantie en een gemiddelde vastleggen voor zijn overtuiging zodat deze met twintig percent kans een verdeling
vormen
die
met
95%
kans
groter
is
dan
nul
(Figuur
31).
FIGUUR 31: THEORETISCHE VERDELING A PRIORI OVERTUIGING - SOCIAAL LEERMODEL
We kiezen hier voor de werkwijze waarbij we eerst een willekeurige variantie nemen tussen 0 en 2, zodat de gemiddelde variantie gelijk is aan 1 en daarna kiezen we een bijhorend gemiddelde dat aan deze voorwaarden voldoet.
Het spreekt voor zich dat naarmate de verspreidingsmodellen verder vorderen in hun modellering, deze startvoorwaarden steeds minder voldaan zijn en het model zijn specifieke
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
46 | P a g i n a
eigenschappen uitbouwt. Doch deze startvoorwaarden zijn van uitermate belang om een goede theoretische vergelijking mogelijk te maken. Onderstaande grafiek toont de verdeling
Frequentie
van de resulterende gemiddelden bij het sociaal leermodel (Figuur 32).
FIGUUR 32: VERDELING A PRIORI OVERTUIGING - SOCIAAL LEERMODEL
4.5.2 PARAMETERS VAN DE NETWERKEN Naast de netwerkspecifieke parameters die duidelijk van elkaar verschillen en waarvoor we de invloed op de verspreiding willen vergelijken, blijft het belangrijk om ook hier voldoende aandacht te schenken aan de externe parameters die invloed hebben op de diffusie. Eerst en vooral kiezen we ervoor dat de startpopulatie steeds even groot is. Daarnaast minimaliseren we de invloed van welke startknopen gekozen worden op moment , door deze voor de verschillende modellen op eenzelfde netwerk gelijk te kiezen. Natuurlijk geeft dit nog steeds enig verschil tussen de netwerken. Aangezien uit verschillende iteraties met andere initiële startpopulaties weinig af te leiden viel, opteren we voor een scenarioanalyse (Cf. infra. 5.7 Scenarioanalyse) waarbij we de startpopulatie doelbewust kiezen. Het effect van de grootte van de initiële startpopulatie wordt later in detail bekeken (Cf. infra. 5.8.1 Initiële startpopulatie).
4.6 ONDERLINGE VERGELIJKING VAN DE MODELLEN Nu we alle elementen hebben om van start te kunnen gaan met de vergelijking van de verspreidingsmodellen over de verschillende netwerken, moeten we eerst nog kijken naar de verschillen tussen de verspreidingsmodellen zelf. Daarom plotten we de cumulatieve
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
47 | P a g i n a
verspreiding van de verschillende modellen ten opzichte van de tijd (Figuur 33). De tijdseenheden op de horizontale as staan voor het moment waarop een bepaalde knoop zijn gedrag heeft aangepast. Het verschil tussen twee opeenvolgende tijdseenheden is niet noodzakelijk gelijk aan het verschil tussen twee andere opeenvolgende tijdseenheden. De tijdstippen één, twee,... in de grafiek komen dus respectievelijk overeen met de eerste,tweede,... iteratie van het verspreidingsmodel. Op de verticale as staan het cumulatieve aantal personen uit het netwerk die hun gedrag aanpasten. Als we de verschillende diffusiemodellen toepassen op het willekeurig netwerk, kunnen we deze modellen vergelijken op basis van enkele resultaatparameters. Zo kunnen we kijken naar de finale grootte, het aantal tijdseenheden vooraleer de totale verspreiding zich voltrekt, de tijd tot het buigpunt is bereikt en geïnfecteerde populatie op moment van buigpunt. Het is belangrijk om naar het buigpunt te kijken omdat dit punt aangeeft tot welk moment er een stijgende groei is. Dit is zeker relevant indien we het verspreidingsgedrag van hypes willen modelleren. We willen in deze situatie immers zo snel mogelijk een zo maximaal mogelijke populatie bereiken, i.e. een hype creëren.
Willekeurig netwerk 12000
Cumulatieve adoptie
10000
8000
LEER
6000
CASCADE INFLUENCE
4000
2000
0 1
2
3
4
5
6
7
8
9
10 11 12 13 14 15 16
Tijdseenheden
FIGUUR 33: VERSPREIDINGSMODELLEN OP WILLEKEURIG NETWERK
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
48 | P a g i n a
Vooreerst zien we duidelijk uit de grafiek dat het sociaal leermodel, met een eindpopulatie van
participerende leden van het netwerk die binnen de
bereikt worden en een kantelpunt op tijdstip
tijdseenheden
dat een populatie heeft van
deelnemende personen, beter presteert dan het cascademodel en het sociaal invloedmodel. Daarnaast zien we dat hoewel het cascademodel een hogere eindpopulatie ( personen) bereikt dan het sociale invloedmodel ( bereikt op tijdstip (
(
personen), het pas zijn buigpunt
personen) waar het sociale invloedmodel reeds buigt op tijdstip
personen). Ondanks dat dit slechts een verschil is van één tijdseenheid, kan dit in
realiteit overeenkomen met een lange tijdspanne. Aangezien een hype niet hoeft door te breken tot de gehele populatie (Cf. supra. 3.1 De invloed van anderen), kunnen we dus stellen dat het sociaal leermodel het best presteert, respectievelijk gevolgd door het sociaal invloedmodel en het cascademodel. Diepere analyse van de verspreiding in het netwerk is mogelijk door in R de knopen die geïnfecteerd werden op een bepaald tijdstip apart op te slaan. Zo kunnen we bijvoorbeeld informatie visualiseren over de geïnfecteerde knopen op een bepaald tijdstip. Hieronder staat een visualisatie van de maximale connectiviteit van de knopen op een bepaald tijdstip (Figuur 34). Hieruit blijkt duidelijk dat de hoog verbonden knopen in alle netwerk een belangrijke rol spelen. We merken op dat R ook bepaalde simulaties en visualisaties toelaat via het 'iGraph package'. Via de graph.data.frame() functie kunnen we onze data gemakkelijk naar het juiste formaat brengen. Natuurlijk zijn er vele andere analyses mogelijk. Zo zouden we kunnen bekijken op welk moment een bepaalde persoon wordt bereikt, of kunnen we zien of het vroeger bereiken van een persoon met extreem hoge connectiviteit veel invloed uitoefent op het model. Zulke scenario's zullen later getest worden (Cf. infra. 5.7 Scenarioanalyse).
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
49 | P a g i n a
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
50 | P a g i n a
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
51 | P a g i n a
FIGUUR 34: KNOOP MET DE HOOGSTE CONNECTIVITEIT PER TIJDSTAP VOOR DE VERSCHILLENDE NETWERKEN EN MODELLEN
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
52 | P a g i n a
5. EFFECT VAN ONDERLIGGEND NETWERK In dit hoofdstuk zullen we, aan de hand van onze simulaties, de verschillende verspreidingsmodellen toepassen op de meest gebruikelijke netwerkstructuren van sociale netwerken. De invloed van de netwerkstructuur zal per diffusiemodel besproken worden. Bij elke van deze verspreidingsmodellen zorgen we ervoor dat dezelfde willekeurige knopen gekozen worden in de initiële groep binnen een bepaald type netwerk. Dit is nodig om de resultaten tussen de verspreidingsmodellen vergelijkbaar te houden. We controleren op de volgende parameters:
Grootte startpopulatie (Cf. infra. 5.8.1 Initiële startpopulatie)
Samenstelling startpopulatie (Cf. infra. 5.7 Scenarioanalyse)
Modelspecifieke parameters (Cf. supra. 4.5 De parameters en cf. infra. 5.8.2 A priori ingesteldheid)
Op die manier kunnen we het effect van de netwerken op het verspreidingsgedrag eenduidig bepalen. Zoals we reeds meermaals benadrukten, staat het buigpunt centraal in deze analyse. Immers hoe sneller het buigpunt bereikt wordt, hoe beter voor de hype. Daarnaast zullen we ook kijken naar de finaal bereikte populatie. Voor een bondig overzicht van de resultaten verwijzen we naar het hoofdstuk 'Overzicht van de conclusies' (Cf. Infra. 6. Overzicht van de conclusies), hierin beschrijven we de samenvatting van de resultaten.
5.1 BASIS BESMETTINGSMODEL We starten met het cascademodel. Zoals we eerder reeds vermeldden, is dit model gelijkaardig aan het SIR ('Susceptible Infected Recovered') model. Uit de literatuur over epidemiologie (Johnson) weten we dat dit model werkt onder volgende assumpties:
Het aantal personen in een populatie staat vast
Een persoon kan de voor infectie gevoelige groep enkel verlaten door zich aan te sluiten bij de geïnfecteerde groep
Geslacht, leeftijd, afkomst, noch sociale status hebben invloed op de kans dat iemand gedrag overneemt
De populatie is volledig homogeen
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
53 | P a g i n a
Deze laatste assumptie komt overeen met een willekeurig netwerk. Het is juist deze assumptie die we zullen laten vallen door het verspreidingsmodel toe te passen op verschillende netwerken met een andere topologie. We kunnen op voorhand enkele zaken verwachten over dit model. Naarmate de connectiviteit in het netwerk omhoog gaat, zal de infectie zich gemakkelijker verspreiden (Pastor-Satorras & Vespignani, 2000). Aangezien het gemiddelde van het kwadraat van de connectiviteit gelijk is aan oneindig, kunnen we in het scale-free netwerk verwachten dat er amper weerstand zal zijn voor de verspreiding. De knopen met een hoge connectiviteit zijn dus een soort superverspreiders, die een katalyserende werking hebben op het verspreidingsproces (Zhou, Liu, Bai, Chen, & Wang, 2006). Verschillende studies tonen zelf aan dat, indien we cascademodel toepassen op een scale-free netwerk, er voor dit model totaal geen weerstand kan geboden worden tegen de infectie, ongeacht van de kracht van de infectie (Pastor-Satorras R. , 2001). De epidemische drempelwaarde verdwijnt als het ware in compleet heterogene netwerken (Ferreira, Castellano, & Pastor-Satorras, 2012). We verwachten dan ook dit netwerk het best zal presteren. Dit komt overeen met hypothese
uit het overzichtshoofdstuk (Cf. Infra. 6.
Overzicht van de conclusies). Daar tegenover staat dat bij een hoge graad van clustering weldegelijk een vorm van weerstand zou optreden, waardoor de verspreiding minder vlot zal verlopen (Granovetter, 1978). We kunnen verwachten dat het verspreidingsproces in het small-world netwerk zal gehinderd worden door de netwerkstructuur. Dit komt overeen met hypothese
uit het overzichtshoofdstuk (Cf. Infra. 6. Overzicht van de conclusies).
Door het cascade verspreidingsmodel op verschillende netwerken toe te passen, merken we enkele verschillen op. Zo zien we dat de verspreiding zich niet in dezelfde snelheid voltrekt (Figuur 35). Het cascademodel zal zich sneller voltooien in het scale-free netwerk, gevolgd door respectievelijk het willekeurig netwerk en het small-world netwerk. Dit komt overeen met wat we uit de literatuur verwachten. Door te kijken welke curve het snelst evolueert zien we inderdaad dat de verspreiding meer gehinderd wordt in het small-world netwerk door de hoge clusteringgraad van het netwerk, en dankzij de heterogeniteit van de knopen amper wordt tegengehouden in het scale-free netwerk. Wat opvalt is dat dit niet wil zeggen dat de finaal geïnfecteerde populatie mee evolueert met de mate waarin de hype zich gemakkelijk verspreidt. Daarentegen zien we dat deze populatie bij het willekeurig netwerk groter is dan het small-world netwerk dat op zijn beurt weer een grotere eindpopulatie heeft dan het scale-free netwerk (Tabel 5). De reden waarom de finale populatie zo evolueert zullen we later bespreken (Cf. infra. 5.8.2 A priori ingesteldheid).
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
54 | P a g i n a
tijd buigpunt Random Small-World Scale-free
Cascade 6 7 5
Finale tijd Random Small-World Scale-free
Cascade 15 26 9
hoeveelheid buigpunt Random Small-World Scale-free
Cascade 4336 3775 4646
finale hoeveelheid Random Small-World Scale-free
Cascade 7946 7640 7308
TABEL 5: EIGENSCHAPPEN CASCADEMODEL OP VERSCHILLENDE NETWERKEN
Daarnaast zien we dat het model het snelst tot een buigpunt komt in het scale-free netwerk en dat het small-world netwerk er lang over doet om zijn buigpunt te bereiken. Zelfs indien we de modellen verschillende malen laten lopen met verschillende knopen in de startpopulatie blijft dit standhouden.
Cumulatieve adoptie
Cascade model 9000 8000 7000 6000 5000 4000 3000 2000 1000 0
Willekeurig Small World Scale Free
1
3
5
7
9 11 13 15 17 19 21 23 25 Tijdseenheden
FIGUUR 35: CUMULATIEVE VERSPREIDINGSCURVE VOOR CASCADEMODEL OP VERSCHILLENDE NETWERKEN
Dat er in het scale-free netwerk geen weerstand wordt geboden aan de verspreiding, wordt ook duidelijk door te kijken naar het aantal nieuwe personen dat het model bereikt per tijdseenheid. We zien dat de blauwe curve (small-world netwerk) veel vlakker is dan de groene (scale-free netwerk) of de rode curve (willekeurig netwerk) (Figuur 36). Het is pas na zijn buigpunt dat de curve van het small-world netwerk zich voldoende herstelt en boven de curve van het willekeurig netwerk komt. Doch we kunnen berekenen dat het verschil in oppervlakte tussen beide curven slechts klein is. Wat verklaart waarom de eindpopulatie bijna gelijk is.
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
55 | P a g i n a
Totale adoptie per tijdseenheid
Cascade model 2500 2000 1500 Willekeurig 1000
Small World Scale Free
500 0 1
3
5
7
9 11 13 15 17 19 21 23 25 Tijdseenheden
FIGUUR 36: BEREIKTE POPULATIE PER TIJDSEENHEID - CASCADEMODEL OP VERSCHILLENDE NETWERKEN
5.2 SOCIAAL INVLOEDMODEL Vervolgens bekijken we het sociaal invloedmodel. Opnieuw suggereert de literatuur dat netwerken met clusterstructuren problematisch zouden zijn voor het verspreiden van informatie. Zo stellen (Acemoglu, Ozdaglar, & Yildiz, 2011) dat het niet altijd een voordeel is om een netwerk te hebben dat uit clusters bestaat in plaats van willekeurige verbindingen. Deze auteurs stellen dat het moeilijk is om de clusters binnen te dringen indien er niemand van die clusters in de initiële startpopulatie zit. Dit komt overeen met hypothese
uit het
overzichtshoofdstuk (Cf. Infra. 6. Overzicht van de conclusies). Daarnaast stelt (Young, Innovation Diffusion in Heterogeneous Populations: Contagion, Social Influence, and Social Learning, 2009) dat er minstens voor enige tijd een super-exponentiële groei zal optreden wanneer we het sociaal invloedmodel toepassen op een willekeurig netwerk. Dit komt overeen met hypothese
uit het overzichtshoofdstuk (Cf. Infra. 6. Overzicht van de
conclusies). Een super-exponentiële groei is een toename die groter is dan het geval zou zijn bij een exponentiële groei. Uit de voorgaande resultaten, veronderstellen we dat een scalefree netwerk met zijn hoge heterogeniteit in de connectiviteit ertoe zal leiden dat het verspreidingsproces zal gestimuleerd worden. Dit komt overeen met hypothese
uit het
overzichtshoofdstuk (Cf. Infra. 6. Overzicht van de conclusies). Als we naar de simulaties voor het sociaal invloedmodel kijken, merken we meteen op dat de finaal geïnfecteerde populatie een stuk lager ligt dan in de voorgaande situatie (Figuur Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
56 | P a g i n a
38). Daarnaast zien we dat het verschil in de finaal bereikte populatie tussen de modellen kleiner wordt. Merk ook op dat het langer duurt voordat deze eindpopulaties bereikt worden. We zien dat we in het geval van het willekeurig netwerk en het scale-free netwerk het snelst tot een buigpunt komen. Hierbij bereikt het scale-free netwerk de grootste cumulatieve populatie op dat moment (Tabel 6). In lijn met de voorspelling van Young voorspelde, bemerken we een super-exponentiële groei bij de start van de verspreiding. Bij het scale-free netwerk vinden we 2 periodes van super-exponentiële groei, bij de andere slechts 1 periode. tijd buigpunt Random Small-world Scale-free
Invloed 5 6 5
Finale tijd Random Small-world Scale-free
Invloed 16 28 11
hoeveelheid buigpunt Random Small-world Scale-free
Invloed 3093 2904 3925
finale hoeveelheid Random Small-world Scale-free
Invloed 6051 5822 5810
TABEL 6: EIGENSCHAPPEN SOCIAAL INVLOEDMODEL OP VERSCHILLENDE NETWERKEN
In vergelijking met het cascademodel, zien we ook dat in het geval van het small-world netwerk en het willekeurig netwerk, beide verspreidingsmodellen elkaar ongeveer snijden in het buigpunt van het sociaal invloedmodel (Figuur 37). Dit geeft aan dat één van de modellen beter presteert voor het buigpunt, en het andere na dat buigpunt. Hoewel het uit deze resultaten lijkt dat het sociaal invloedmodel nooit superieur is aan het basis besmettingsmodel, zullen we later (Cf. infra. 5.4 Overzicht) zien dat dit model bijna altijd beter presteert dan het besmettingsmodel, zolang we de situatie beschouwen waarbij het cascademodel zijn buigpunt nog niet bereikt heeft. Dit wordt reeds weerspiegeld in onderstaande grafiek (Figuur 37), waarin we kunnen zien dat er voor het sociaal invloedmodel gedurende een bepaalde periode een grotere groei is van het aantal nieuwe mensen dat geïnfecteerd wordt. Ook dit komt overeen met Young.
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
57 | P a g i n a
Vergelijking Cascade- en Sociaal invloedmodel
Totale adoptie per tijdseenheid
2500 2000
Cascade- random Cascade - Small World
1500
Cascade - Scale Free
1000
Influence - Random 500
Influence - Small World Influence - Scale Free
0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 Tijdseenheden FIGUUR 37: BEREIKTE POPULATATIE PER TIJDSEENHEID - VERGELIJKING CASCADE EN SOCIAAL INVLOEDMODEL
Wanneer we kijken naar de nieuw bereikte populatie op ieder tijdstip, zien we dat deze op elk buigpunt lager ligt dan in het geval van het cascademodel. Hoewel het hier niet direct zichtbaar is, zullen we zien (Cf. infra. 5.4 Overzicht), dat
in het geval van small-world
netwerk en het willekeurig netwerk, het sociaal invloedmodel meer personen bereikt dan het cascademodel. Dit gaat echter enkel op zolang het cascademodel zijn buigpunt nog niet bereikt heeft.
7000
Sociaal invloedmodel
Cumulatieve adoptie
6000 5000 4000 Random 3000
Small World
2000
Scale Free
1000 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 Tijdseenheden FIGUUR 38: CUMULATIEVE VERSPREIDINGSCURVE - SOCIAAL INVLOEDMODEL OP VERSCHILLENDE NETWERKEN
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
58 | P a g i n a
5.3 SOCIAAL LEERMODEL Ten slotte beschouwen we het sociaal leermodel. Net zoals bij het sociaal invloedmodel, voorspelt (Young, Innovation Diffusion in Heterogeneous Populations: Contagion, Social Influence, and Social Learning, 2009) dat er in dit model een moment van superexponentiële groei zou plaatsvinden zodra de cumulatieve toename meer dan lineair is. Young stelt dat het in dit model mogelijk is dat hoewel de cumulatieve groei steeds zal toenemen, het mogelijk is dat het proces eerst een afnemende groei kent voor de exponentiële groei start. Dit komt overeen met hypothese
uit het overzichtshoofdstuk
(Cf. Infra. 6. Overzicht van de conclusies). Een belangrijk verschil met de andere verspreidingsmodellen wordt gegeven door Lamberson. Hij stelt dat in tegenstelling tot het besmettingsmodel waarbinnen een verschuiving van de verdeling van de connectiviteit steeds leidt tot een verandering in de kenmerken van de verspreiding (Jackson M. O., 2007), dit niet het geval is voor het sociaal leermodel (Lamberson, 2010). Hij stelt dat de verandering van de verspreidingskenmerken afhankelijk is van een verandering in de netto opbrengst of de a priori overtuiging van de personen in het netwerk. Dit komt overeen met hypothese
uit het overzichtshoofdstuk (Cf. Infra. 6. Overzicht van de conclusies). We
kunnen dus verwachten dat er in deze situatie slechts weinig verschil zal zijn tussen onze netwerken. Aangezien de netto opbrengst en de a priori verwachting van personen enkel kan teruggevonden worden in het sociaal leermodel, zal het effect van een verandering hierin niet kunnen worden weerspiegeld in de andere modellen. We kunnen verwachten dat de snelheid waarmee de informatie zich verspreidt in sterke mate afhangt van de mate waarin de individuen in een netwerk sterk met elkaar verbonden zijn. Immers, na verloop van tijd zal een signaal ontstaan dat primeert over de overtuiging van het individu. Hierdoor zal dit individu zijn persoonlijke informatie verwerpen en het gedrag van de groep overnemen. De snelheid waarmee hij zijn eigen informatie zal aanpassen hangt onder andere af van het aantal signalen dat hij binnen krijgt, wat op zijn beurt afhankelijk is van de structuur van de verbindingen in het netwerk. Dit komt overeen met hypothese
uit het overzichtshoofdstuk die stelt dat de snelheid van verspreiding
wordt beïnvloed door de mate van globale verbondenheid (Cf. Infra. 6. Overzicht van de conclusies). We kunnen dus verwachten dat de verspreiding zal gehinderd worden in een small-world netwerk. Eén ding is duidelijk: de vraag is niet of er kuddegedrag zal optreden, maar wel wanneer dit gedrag zal ontstaan.
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
59 | P a g i n a
Wanneer we naar de onderstaande grafiek (Figuur 39) kijken, zien we dat alle onderliggende netwerken toestaan dat het verspreidingsmodel zich door het gehele netwerk ontplooit. Na voldoende tijd slaagt het sociaal leermodel er in alle netwerken in om praktisch elk individu te overtuigen om het hypend gedrag toe te passen. Net zoals bij de vorige modellen gebeurt dit ook hier het snelst in het scale-free netwerk, gevolgd door respectievelijk het willekeurig netwerk en het small-world netwerk (Tabel 8). In tegenstelling tot de vorige verspreidingsmodellen, zien we dat het verschil tussen de verschillende netwerken slechts klein is. Dit komt reeds gedeeltelijk overeen met wat Lamberson constateerde in zijn onderzoek. Tussen het willekeurig netwerk en het scale-free netwerk zien we, buiten de tijd die het netwerk vereist vooraleer de volledige verspreiding gerealiseerd is, slechts amper een verschil. Dat het verschil vooral zichtbaar is bij het smallworld netwerk is niet verbazend. Net zoals bij de vorige gevallen zien we dat clustering zorgt voor een goede verspreiding binnen de clusters zelf, maar een slechte verspreiding tussen de clusters in het netwerk. De slechte globale verbondenheid van dit netwerk heeft dus wel degelijk een invloed op de mate van verspreiding. tijd buigpunt Random Small-world Scale-free
Leer 4 5 4
Finale tijd Random Small-world Scale-free
Leer 10 9 8
hoeveelheid buigpunt Random Small-world Scale-free
Leer 5747 7147 5950
finale hoeveelheid Random Small-world Scale-free
Leer 9892 9967 9863
TABEL 7: EIGENSCHAPPEN SOCIAAL LEERMODEL OP VERSCHILLENDE NETWERKEN
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
60 | P a g i n a
Sociaal leermodel
12000
Cumulatieve adoptie
10000 8000 Random
6000
Small World 4000
Scale Free
2000 0 1
2
3
4
5 6 7 Tijdseenheden
8
9
10
FIGUUR 39: CUMULATIEVE VERSPREIDINGSCURVE - SOCIAAL INVLOEDMODEL OP VERSCHILLENDE NETWERKEN
Deze bevinding wordt bevestigd indien we kijken naar het aantal nieuwe mensen dat we bereiken in elke diffusiestap (Figuur 40). Het verschil tussen het willekeurig netwerk en het scale-free netwerk is nooit meer dan
personen, wat slechts
van de totale
populatie is. Opnieuw zien we dat het small-world netwerk als gevolg heeft dat de verspreiding met enige vertraging gebeurt. Toch is dit hier niet zo extreem als bij de andere modellen. In deze situatie gebeurt de finale verspreiding zelfs sneller dan in het willekeurig netwerk. Tenslotte merken we op dat de super-exponentiële groei die door Young voorspeld werd in het sociaal invloedmodel en het sociaal leermodel in deze simulatie terug te vinden valt. Niet alleen duurt deze periode van groei langer in het sociaal leermodel, deze is ook hoger. Op elk netwerk vinden we in een van de perioden een groeifactor die groter is dan .
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
61 | P a g i n a
Sociaal leermodel
Totale adoptie per tijdseenheid
5000 4500 4000 3500 3000 2500
Random
2000
Small World
1500
Scale Free
1000 500 0 1
2
3
4
5 6 7 Tijdseenheden
8
9
10
FIGUUR 40: BEREIKTE POPULATIE PER TIJDSEENHEID - SOCIAAL LEERMODEL OP VERSCHILLENDE NETWERKEN
5.4 OVERZICHT Als we de bovenbeschreven conclusies nu met elkaar vergelijken, zien we duidelijk dat er zowel een verschil is in de dimensie van het verspreidingsmodel als in de dimensie van het netwerk. De samenwerking tussen beide dimensies zorgt ervoor dat we negen verschillende situaties kunnen onderscheiden. Aangezien we als buitenstaander weinig tot geen invloed hebben op zowel de vorm van het netwerk, noch op de manier waarop de informatie zich verspreidt binnen dat netwerk, zijn we niet in staat om één bepaalde situatie boven een andere te verkiezen. Natuurlijk kunnen we wel de verschillende situaties vergelijken op de parameters die we hierboven gebruikten. De buigpunten komen overeen met de maxima van de eerste afgeleiden van de cumulatieve verspreidingscurven. Totdat dit maximum bereikt is, zal er een periode van toenemende groei zijn. In het geval van een hype kan dit geïnterpreteerd worden als de periode waarin de hype steeds sneller aan bekendheid wint. Indien we dus willen evalueren welk verspreidingsmodel het dichtst een hypend gedrag kan benaderen, moeten we kijken in welk geval het maximum het snelst bereikt wordt. Zoals we zagen in de kenmerken van een hype (Cf. supra. 3.1 De invloed van anderen), hoeft dit moment niet per se de grootste populatie te hebben. Aangezien we in dit werkstuk enkel kijken naar het ontstaan van de hype en niet naar het verdwijnen ervan, is vooral de situatie tot aan het buigpunt relevant. We zien dat het sociaal leermodel in alle gevallen het snelst tot een kantelpunt komt (Figuur 41). Daarbij is het mooi meegenomen dat de beïnvloede populatie op dat moment Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
62 | P a g i n a
hoger is dan bij de rest van de buigpunten. Dus indien we het verspreidingsproces konden beïnvloeden en we willen een hype creëren, dan zouden we dat proces zoveel mogelijk proberen te beïnvloeden in de richting van het sociaal leerproces. In die situatie slagen we er immers op de snelste manier in de grootst mogelijke populatie te bereiken in het toenemende deel van de cumulatieve verspreidingsfunctie. Bovendien merken we op dat het buigpunt steeds het traagst wordt bereikt in een small-world netwerk.
Kenmerken van de buigpunten
8000
Cumulatieve adoptie
7000 Cascade - Willekeurig Cascade - Small world Cascade - Scale free Influence - Willekeurig Influence - Small world Influence - Scale free Leer - Willekeurig Leer - Small world Leer - Scale free
6000 5000 4000 3000 2000 1000 0 0
2
4 Tijdseenheden
6
8
FIGUUR 41: KENMERKEN VAN DE BUIGPUNTEN
Wanneer we de situatie vóór het buigpunt van het cascademodel bekijken, zien we dat sociaal invloedmodel, onafhankelijk van het onderliggend netwerk, beter presteert dan het cascademodel. We zien dit niet direct uit de parameters (Tabel 9), maar visueel doordat de cumulatieve curve van het sociaal invloedmodel in deze situatie links van de cumulatieve curve van het cascademodel ligt (Figuur 42). We kunnen dus stellen dat indien we de keuze zouden hebben tussen beide modellen, we steeds voor het cascademodel zullen kiezen, tenzij we zeer snel (i.e. voor het buigpunt van het cascademodel) een kritische hoeveelheid van de populatie willen beïnvloeden. In deze laatste situatie verkiezen we het sociaal invloedmodel (of het sociaal leermodel). Wat de finaal beïnvloede populatie betreft, bereikt het sociaal leermodel steeds op de snelste manier de grootste eindpopulatie (Tabel 8). Als we het sociaal invloedmodel en het cascademodel vergelijken, blijkt niet alleen dat de eindpopulatie systematisch groter is bij het cascademodel, maar ook dat de eindpopulatie iets sneller wordt bereikt bij dit model. De reden voor het verschil in eindpopulatie beschrijven we
later (Cf. infra. 5.8.2 A priori
ingesteldheid). Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
63 | P a g i n a
Ook hier zien we duidelijk dat we in het scale-free netwerk steeds het snelst onze totale eindpopulatie bereiken, direct gevolgd door respectievelijk het willekeurig netwerk en het small-world netwerk in het geval van het sociaal invloedmodel en het cascademodel. In het geval van het sociaal leermodel, zien we dat dit model erin slaagt om zijn eindpopulatie sneller te bereiken in het small-world netwerk dan in het willekeurig netwerk. Finale tijd Random Small-world Scale-free
Cascade 15 26 9
Invloed 16 28 11
Leer 10 9 8
finale hoeveelheid Random Small-world Scale-free
Cascade 7946 7640 7308
Invloed 6051 5822 5810
Leer 9892 9967 9863
TABEL 8: EIGENSCHAPPEN FINAAL BEREIKTE POPULATIE VAN VERSCHILLENDE MODELLEN OP VERSCHILLENDE NETWERKEN
tijd buigpunt Random Small-world Scale-free
Cascade 6 7 5
Invloed 5 6 5
Leer 4 5 4
hoeveelheid buigpunt Random Small-world Scale-free
Cascade 4336 3774 4646
Invloed 3093 2904 3925
Leer 5747 7147 5950
TABEL 9: EIGENSCHAPPEN BUIGPUNT VAN VERSCHILLENDE MODELLEN OP VERSCHILLENDE NETWERKEN
We merken duidelijk dat het netwerk wel degelijk een significante invloed uitoefent op de verspreiding van de hype. Meer specifiek zien we dat het voorkomen van clusters de verspreiding belemmert, daar waar 'hubs' het verspreidingsproces bevorderen. Uit de externe dataset bleek dat het niet onmogelijk is dat beide situaties tegelijk voorkomen, i.e. hoge graad van clustering terwijl er personen in het netwerk aanwezig zijn met een significant hogere connectiviteit dan de gemiddelde persoon in dat netwerk. Daarom bekijken we kort de verspreiding in deze dataset.
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
64 | P a g i n a
Gecombineerd
12000
Leer - Small World
Leer - Scale Free
10000
Leer - Random Cascade Scale Free
Cumulatieve adoptie
8000
Cascade- Small World
Cascade - Random
influence- Random
Influence- Small World
6000
influence - Scale Free 4000
2000
0 1
2
3
4
5
6
7
8
9
10
11
12
13 14 15 16 Tijdseenheden
17
18
19
20
21
FIGUUR 42: VERGELIJKING CUMULATIEVE VERSPREIDINGSCURVEN
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
65 | P a g i n a
22
23
24
25
26
27
28
5.6 VERGELIJKING MET EXTERNE DATASET De dataset heeft zowel scale-free netwerkkenmerken als small-world netwerkkenmerken. Om deze dataset te kunnen vergelijken met deze twee extremen, moeten we er dus eerst voor zorgen dat deze vergelijkbaar zijn met de dataset qua grootte, gemiddelde connectiviteit en clusteringcoëfficiënt. We verwachten dat het resultaat van de verspreidingsmodellen op de dataset slechter zal presteren dan de theoretische modellen. Deze verwachting wordt niet zo zeer afgeleid uit de scale-free of small-world netwerkkenmerken van dat netwerk, maar wel uit de lagere samenhang van een reëel netwerk vergeleken met theoretische simulaties. Niet alleen zou dit kunnen leiden tot een lagere finaal bereikte populatie, maar daarnaast zou dit het totale verspreidingsproces significant kunnen vertragen. Uit de simulatie blijkt dat de verspreiding op dit nieuwe netwerk veel moeizamer verloopt dan in de theoretische netwerken (Figuur 43, Figuur 44 en Figuur 45). Dit kan vreemd lijken. Men zou immers kunnen verwachten dat, door het voorkomen van scale-free en small-world netwerkkenmerken, het verloop van de verspreiding tussen deze twee extremen zou liggen. Als we echter dieper inzoomen op de externe dataset, zien we dat de globale verbondenheid van het netwerk zeer slecht is in vergelijking met de theoretische modellen. Onder de globale verbondenheid, verstaan we het gemiddeld aantal knopen dat bereikt kan worden binnen de twee tijdseenheden. We zien dat deze voor respectievelijk het scale-free netwerk, het smallworld netwerk en de externe dataset gelijk is aan
,
,
. Op vlak van
de verbondenheid stellen we dus dat de externe dataset dicht aanleunt bij het small-world netwerk. Dit wordt enerzijds veroorzaakt door de aanwezigheid van clusters en anderzijds doordat de theoretische vorm van de netwerken meer samenhangend is dan in de realiteit. We kunnen verwachten dat bepaalde theoretische verbindingen tussen knopen niet zullen plaatsvinden in de realiteit. We besluiten dat de globale verbondenheid een belangrijke invloed speelt in de mogelijkheid tot verspreiding. Niet alleen kan een slechte globale verbondenheid er voor zorgen dat de verspreiding vertraagd verloopt, maar ook dat de totale verspreiding lager ligt doordat bepaalde groepen van knopen moeilijk bereikbaar zijn. We merken op dat de netwerkvorm van de dataset moeilijk vergelijkbaar is met één van de theoretische modellen. Dit toont aan dat de zoektocht naar een goed theoretisch model nog niet is afgerond. Merk op dat verder onderzoek nodig is om deze stelling verder te bevestigen. Uit deze gevallenstudie willen we immers geen overhaaste conclusies trekken.
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
66 | P a g i n a
Cascade model
Cumulatieve adoptie
70000 60000 50000 40000
Facebook
30000
Scale-free
20000
Small world
10000 0 1
2
3
4
5
6
7
8
9
10
11
Tijdseenheden FIGUUR 43: VERSPREIDING BINNEN EXTERNE DATASET - CASCADE MODEL
Sociaal invloedmodel
Cumulatieve adoptie
70000 60000 50000
Facebook
40000
Scale-free
30000
Small-world
20000 10000 0 1
2
3
4
5
6 7 8 9 10 11 12 13 14 Tijdseenheden
FIGUUR 44: VERSPREIDING BINNEN EXTERNE DATASET - SOCIAAL INVLOEDMODEL
Sociaal leermodel
Cumulatieve adoptie
70000 60000 50000
Facebook
40000
Scale-free
30000
Small-world
20000 10000 0 1
2
3
4
5 6 7 Tijdseenheden
8
9
10
FIGUUR 45:VERSPREIDING BINNEN EXTERNE DATASET - SOCIAAL LEERMODEL
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
67 | P a g i n a
5.7 SCENARIOANALYSE Een manager heeft natuurlijk niet veel aan deze resultaten. Hij zal zich eerder afvragen wat de concrete gevolgen zijn van deze theoretische modellen. Zo zal hij willen weten hoe groot het effect van de startpopulatie is en in welke mate deze een invloed uitoefent op het proces van verspreiding. Een manager zal bijvoorbeeld willen weten wat er gebeurt indien hij zijn marketing richt op mensen met een slechte ingesteldheid ten opzichte van het product of op mensen met weinig invloed in het netwerk. Een scenarioanalyse is daarom onontbeerlijk om ons een volledig beeld te kunnen vormen. Daarnaast laat een scenarioanalyse toe om de effecten van de samenstelling van de startpopulatie op de verspreidingskenmerken te evalueren. Daarom stellen we ons de volgende vragen: 1.
Welke scenario’s zijn relevant zijn voor een manager op vlak van 'hype marketing'?
2.
Welke scenario’s zijn modelleerbaar binnen de huidige modellen?
Zo zou het interessant zijn om zich tijdens de marketing te focussen op bepaalde segmenten in de populatie die minder prijsgevoelig zijn, i.e. afroomprijsstrategie of 'skimming pricing strategy'. Dit is helaas onmogelijk te modelleren met de huidige bouwstenen. Daarom stellen we dat de marketing zich steeds richt op enkele individuen in de populatie en deze de verspreiding zelf niet beïnvloeden. Dit zorgt ervoor dat de verspreidingsmodellen zelf volledig intact blijven en de verschillende resultaten onderling vergelijkbaar zijn. De situatie waarbij we bijvoorbeeld een bepaalde goeroe of bekende figuur overtuigen om het product te promoten, laten we dus buiten beschouwing. Deze zijn immers geen (of toch slechts zelden) schakels in de netwerken van vrienden.
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
68 | P a g i n a
FIGUUR 46: SCENARIOMATRIX
We onderscheiden enkele scenario’s op basis van twee dimensies (Figuur 46). Aan de ene kant beschouwen we de situatie waarbij een bedrijf overvloedige marketingbudget heeft en een zeer goede kennis heeft over hun potentiële klanten. Op die manier zullen ze in staat zijn om hun product of dienst te laten gebruiken door mensen die veel anderen mensen kennen. Daar tegenover staat de situatie van een klein startend bedrijf dat weinig budget heeft om hun markt te overtuigen en slechts weinig voorkennis heeft over hun markt. Zij zullen slechts weinig mensen kunnen bereiken of enkel mensen kunnen overtuigen met weinig invloed op de totale populatie, i.e. met een kleine connectiviteit. Op basis van deze dimensies onderscheiden we de volgende situaties:
Random: Ondanks de vrij grote marketing budgetten, besteedt het bedrijf weinig aandacht aan de marketingstrategie. Hun initiële populatie is willekeurig, doch vrij groot. Dit komt overeen met de situaties die reeds hiervoor beschreven werden (Cf. supra. 5.4 Overzicht).
Hoge connectiviteit: Naast voldoende budgetten voor marketing, beschikken ze in het bedrijf ook over een goede marktkennis en gebruiken ze deze kennis navenant. Dit resulteert in een marketingstrategie waarbij men in staat is de
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
69 | P a g i n a
initiële gebruikers zo te kiezen dat zij allen een relatief hoge connectiviteit hebben binnen het netwerk (Cf. infra. 5.7.1 Hoge connectiviteit).
Lage connectiviteit: Als we over weinig budgetten beschikken en de markt slecht kennen, zullen deze beiden oorzaak zijn van de situatie waarbij we niet in staat zijn de personen met een hoge connectiviteit te overtuigen ons product of dienst te gebruiken (Cf. infra. 5.7.2 Lage connectiviteit).
Kleine startpopulatie: De voorgaande situatie kan er ook tot leiden dat we wel in staat zijn om iedereen te overtuigen waartoe men zich richt tijdens de marketingcampagne, maar dat we slechts in staat zijn een klein deel van de totale populatie te overtuigen door gebrek aan budget. Dit scenario wordt uitgebreid besproken onder de sensitiviteitsanalyse (Cf. infra. 5.8.1 Initiële startpopulatie).
Vrienden: Indien het bedrijf slechts over beperkte budgetten beschikt, maar wel excellente marketingpraktijken kent, zou een potentiële strategie er uit bestaan om zich te richten op vriendengroepen. Op deze manier zou men kunnen hopen dat indien de groep van vrienden relatief groot is, dit in een snelle verspreiding binnen deze groep zou resulteren doordat een reeds groot percentage van de vrienden meedoet met de hype (Cf. infra. 5.7.2 Lage connectiviteit).
Minstens één hoog: De bovenstaande situatie zou er ook toe kunnen leiden dat het bedrijf zichzelf als doelstelling zet dat er minstens één persoon in de startpopulatie zit die zeer veel mensen kent. Zo kunnen ze trachten om gedeeltelijk dezelfde situatie te bereiken als een bedrijf met meer budget (Cf. infra. 5.7.4 Minstens één hoog).
Naast deze zes situaties onderscheiden we bovendien het geval waarbij de marketing mislukt en er (gedeeltelijk) verkeerde personen geselecteerd worden. Dit vertaalt zich in het sociaal leermodel door de selectie van een bepaald percentage van personen die a priori negatief staan ten opzichte van het aanbod (Cf. infra. 5.7.5 A priori negatieve ingesteldheid).
In wat volgt, zal elk geval vergeleken worden met de eerder beschreven situatie waarbij we de startpopulatie willekeurig kiezen. Deze situatie wordt in de komende grafieken weergegeven door een stippellijn en vormt dus een basis van vergelijking. Elk van de scenario's wordt in de grafieken voorgesteld door de volle lijnen.
5.7.1 HOGE CONNECTIVITEIT Het scenario waarin men over voldoende budgetten beschikt en een duidelijk inzicht heeft in de klantenbasis, voelt intuïtief reeds aan als de ideale situatie. We kunnen ons Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
70 | P a g i n a
echter nog de vraag stellen of deze situatie steeds leidt tot een significante verbetering ten opzichte van andere situaties. Afhankelijk van het onderliggend netwerk kunnen we immers verwachten dat er wel degelijk verschillen zullen optreden in de effectiviteit van dit scenario. Wanneer we eerst naar de finale situatie kijken waarbij de verspreiding is uitgestorven. Zien we dat er slechts een klein verschil zit op de totaal bereikte populatie (Tabel 10). Het grootste verschil merken we bij het sociaal invloedmodel dat toegepast wordt op een smallworld netwerk. Bij zo een situatie is er een verschil van wel
personen, wat neerkomt op
van het scenario waarmee we de grootste populatie bereiken. Verschil scenario & zonder scenario Verschil finale tijd Cascade Influence Leer Random -1 -2 -1 Small-World 6 -6 0 Scale-free 1 1 0
Verschil scenario & zonder scenario Verschil finale hoeveelheid Cascade Influence Leer Random -57 24 -34 Small-World -148 -168 -3 Scale-free -56 -138 -66
TABEL 10: VERGELIJKING SCENARIO EN WILLEKEURIGE SITUATIE
Wat betreft de tijd die nodig is om de finale verspreiding te laten voltrekken, zien we weer weinig verschil indien we het sociaal leermodel toepassen op het small-world netwerk of het scale-free netwerk. We merken op dat het proces zich voor een willekeurig netwerk steeds sneller ontplooit. Bij een scale-free netwerk duurt het proces dan weer net iets langer. Dit kan als volgt verklaard worden. Doordat de meeste hoog verbonden knopen reeds in stap 1 bereikt worden, kunnen er in de volgende stappen enkel lager verbonden knopen bereikt worden. Deze situatie leidt ertoe dat door gebrek aan hoog verbonden knopen in de laatste stappen, het eind van de verspreiding iets wordt uitgesteld. De resultaten bij het small-world netwerk zijn verdeeld. Als we deze resultaten voor de finaal bereikte populaties combineren, zien we dat er slechts één absolute verbetering is voor het sociaal invloedmodel toegepast op het willekeurig netwerk (Figuur 47). Hierbij voltrekt het verspreidingsmodel zich immers twee tijdseenheden sneller en bereikt het een grotere eindpopulatie. Voor willekeurig netwerk in het algemeen en het small-world netwerk waar we het sociaal invloedmodel op toepassen zien we dat er een verbetering plaats vindt in de tijdsdimensie zonder dat de finale grootte al te veel wordt beïnvloed. Wanneer we naar de verspreiding kijken voordat deze begint uit te doven, zien we dat in alle gevallen het scenario beter presteert dan de originele situatie zolang we een tijdspunt nemen dan maximaal 6 tijdseenheden na het buigpunt van het scenario ligt (Tabel 11). Voor alle tijdspunten die hieraan voldoen, zien we dat het scenario links van de originele situatie Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
71 | P a g i n a
ligt. Hieruit kan geconcludeerd worden dat het scenario steeds beter presteert tot op zes tijdseenheden na zijn buigpunt. In het geval van het sociaal leermodel op het willekeurig netwerk en het sociaal invloedmodel op het scale-free netwerk zien we dat dit slechts op gaat tot vijf tijdseenheden na het buigpunt. Verschil scenario & zonder scenario hoeveelheid 6 tijdseenheden na buigpunt Cascade Influence Leer Random 69 81 -12 Small-World 302 373 3 Scale Free 4 -3 23 TABEL 11: VERGELIJKING BUIGPUNTEN TUSSEN SCENARIO EN WILLEKEURIGE SITUATIE
Als we puur naar de invloed van het onderliggend netwerk kijken, zien we dat het scalefree netwerk veel gevoeliger is voor dit scenario. We zien immers dat de verschuiving naar links ten opzichte van de originele situatie het grootst is bij het scale-free netwerk. We kunnen zelfs zien dat onafhankelijk van het bovenliggend verspreidingsmodel, dit scenario beter presteert dan alle andere situaties zolang we de gevallen voor het buigpunt beschouwen. Dit valt natuurlijk niet te verbazen aangezien de aanwezigheid van enkele personen met een zeer hoge connectiviteit juist één van de belangrijkste kenmerken is van het scale-free netwerk. We zien dat het effect van dit scenario op het buigpunt duidelijk het grootst is bij het scale-free netwerk (Figuur 67). Naast de hoge prestaties binnen het scale-free netwerk, zien we dat de prestaties binnen het small-world netwerk slechts pover zijn in vergelijking met de oorspronkelijke situatie. Ook dit valt te verklaren door de topologie van dit netwerk. Deze netwerkvorm wordt immers niet gekenmerkt door de hoeveelheid vrienden een persoon heeft, maar wel door de mate waarin deze vrienden onderling verbonden zijn. We zien dat er amper verschil te merken valt met betrekking tot het bereikte buigpunt (Figuur 66). Tenslotte merken we op dat ook in het geval van het willekeurig netwerk er een sterke verbetering is van de verspreiding. Deze verbetering ligt tussen deze van het small-world netwerk en het scale-free netwerk in.
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
72 | P a g i n a
Hoge connectiviteit - Gecombineerd
12000
Leer - Random
10000
Leer Scale Free
Leer - Small World Cascade - Scale Free
Cumulatieve adoptie
8000
Cascade - Random
Cascade- Small World
Influence- Small World
influence- Random 6000
Leer - Random Leer - Small World
influence - Scale Free
Leer - Scale Free
4000
Cascade - Random Cascade - Small World Cascade - Scale Free
2000
Influence - Random
Influence - Scale Free Influence - Small World
0 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 16 17 18 Tijdseenheden
19
20
21
22
23
24
FIGUUR 47: VERGELIJKING CUMULATIEVE VERSPREIDINGSMODELLEN - HOOG CONNECTIVITEITSCENARIO
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
73 | P a g i n a
25
26
27
28
29
30
31
32
Hoge connectiviteit- Sociaal leermodel
12000
Leer - Random 10000
Leer - Scale Free
Leer - Small World
Cumulatieve adoptie
8000 Leer - Random
Leer - Small World
6000
Leer - Scale Free 4000
2000
0 1
2
3
4
5 6 Tijdseenheden
7
8
FIGUUR 48: VERGELIJKING CUMULATIEVE VERSPREIDINGSCURVEN - HOOG CONNECTIVITEITSCENARIO OP SOCIAAL LEERMODEL
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
74 | P a g i n a
9
10
Hoge connectiviteit - Sociaal invloedmodel
7000
influence- Random
Influence- Small World
6000
influence - Scale Free
Cumulatieve adoptie
5000
Influence - Random
4000
Influence - Scale Free 3000
Influence - Small World
2000
1000
0 1
2
3
4
5
6
7
8
9
10
11
12
13 14 15 16 Tijdseenheden
17
18
19
20
21
22
23
FIGUUR 49: VERGELIJKING CUMULATIEVE VERSPREIDINGSCURVEN - HOOG CONNECTIVITEITSCENARIO OP SOCIAAL INVLOEDMODEL
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
75 | P a g i n a
24
25
26
27
28
Hoge connectiviteit - cascade model
9000
Cascade - Random
Cascade- Small World
8000
Cascade - Scale Free 7000
Cumulatieve adoptie
6000 Cascade - Random
5000
Cascade - Small World 4000 Cascade - Scale Free 3000
2000
1000
0 1
2
3
4
5
6
7
8
9
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 Tijdseenheden
FIGUUR 50: VERGELIJKING CUMULATIEVE VERSPREIDINGSCURVEN - HOOG CONNECTIVITEITSCENARIO OP CASCADEMODEL
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
76 | P a g i n a
5.7.2 LAGE CONNECTIVITEIT Na de situatie waarin alle personen in de initiële startset een hoge connectiviteit hebben, beschouwen we de omgekeerde situatie. Hiervoor starten we de verspreiding vanuit de personen met de laagste connectiviteit. Weer kunnen we reeds intuïtief aanvoelen dat dit een van de slechts mogelijke situaties is. Het is echter de vraag in welke mate dit scenario echt een grote invloed heeft op de verspreiding. Ten eerste merken we op dat de finaal beïnvloede populatie niet significant hoger of lager ligt (Figuur 51). Aangezien dit ook niet het geval was bij het andere extreme scenario, kunnen we hieruit veralgemenen dat er in geen enkel van de scenario's een groot verschil zal te vinden zijn in het aantal personen dat zijn gedrag aanpaste door een verschil in de startpopulatie. Alle gebruikte modellen blijken zodanig infectieus te zijn dat het moeilijk is om de finale populatie te beïnvloeden. Zoals we later zullen zien, zal de finale grootte van het verspreidingsmodel meer afhankelijk zijn van de parameters die het model zelf bepalen, zoals initiële startpopulatie (Cf. infra. 5.8.1 Initiële startpopulatie) en vooral van de kans waarmee een persoon op tijdstip 1 wordt besmet (Cf. infra. 5.8.2 A priori ingesteldheid). Ten tweede zien we dat voor het sociaal invloedmodel en het sociaal leermodel de eindpopulatie ongeveer even snel wordt bereikt als bij het referentiescenario. We zien in de figuren dat beide modellen zich na een langzame start relatief snel herstellen en hun groei hervatten. Beide modellen worden dus slechts weinig beïnvloed door het scenario. Ten derde zien we dat cascademodel het meeste last heeft om zich snel ter herstellen. Hierdoor is niet alleen de afstand tussen buigpunt van het scenario en het buigpunt van de oorspronkelijke situatie enorm groot (Figuur 65 en Figuur 66), maar duurt het ook langer vooraleer de finale populatie bereikt is. Dit valt te verklaren omdat dit model niet in staat is om de kans, dat een persoon zijn gedrag aanpast, te doen stijgen naarmate meer personen geïnfecteerd zijn. Hierdoor zien we een verschuiving naar rechts zonder dat er verbetering optreedt door het toenemen van het aantal bereikte personen. In het geval van een scalefree netwerk worden de personen met een grote connectiviteit snel bereikt. De kans dat een persoon verbonden is met een individu met een hoge connectiviteit is immers zeer groot. Dit zorgt ervoor dat het verspreidingsproces zich op zo een netwerk wel relatief snel herstelt. We zien dat het buigpunt in deze situatie slechts weinig verschilt met de oorspronkelijke situatie (Figuur 67). Tenslotte focussen we op de onderliggende netwerken. Het scale-free netwerk ondervindt zeer weinig hinder van deze nadelige startsituatie. Door de structuur van het Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
77 | P a g i n a
netwerk zijn we relatief snel in staat de sterpersonen opnieuw te bereiken. Het willekeurig netwerk heeft het daarentegen harder te verduren. Doch ook hier is het mogelijk om zich relatief snel te herpakken door middel van een sterke stijging. In alle verspreidingsmodellen vinden we terug dat het small-world netwerk duidelijk het slechtste presteert ten aanzien van de oorspronkelijke situatie. Dit komt omdat het in dit netwerk niet mogelijk is om zich zeer snel te herstellen door hoog verbonden knopen te besmetten. Zelf indien het hier in slaagt, zit het netwerk nog steeds met het probleem dat er slechte verbindingen zijn tussen de clusters.
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
78 | P a g i n a
Lage connectiviteit - Gecombineerd
12000
Leer - Random
Leer - Scale Free 10000
Leer - Small World
Cascade Scale Free
Cumulatieve adoptie
8000
Cascade - Random
Cascade- Small World
Leer - Small World
influence- Random
Influence- Small World
6000
Leer - Scale Free Leer - Random
influence - Scale Free
Cascade - Small World Cascade - Scale Free
4000
Cascade - Random Influence - Random Influence - Small World
2000
Influence - Scale Free
0 1
2
3
4
5
6
7
8
9
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 Tijdseenheden
FIGUUR 51: VERGELIJKING CUMULATIEVE VERSPREIDINGSCURVEN - LAAG CONNECTIVITEITSCENARIO
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
79 | P a g i n a
Lage connectiviteit - Sociaal leermodel
12000
Leer - Random
Leer - Scale Free
10000
Leer - Small World
Cumulatieve adoptie
8000
6000
Leer - Small World Leer - Scale Free Leer - Random
4000
2000
0
1
2
3
4
5 6 Tijdseenheden
7
8
9
FIGUUR 52: VERGELIJKING CUMULATIEVE VERSPREIDINGSCURVEN - LAAG CONNECTIVITEITSCENARIO OP SOCIAAL LEERMODEL
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
80 | P a g i n a
10
Lage connectiviteit - Sociaal invloedmodel
7000
influence- Random
Influence- Small World
influence - Scale Free
6000
Cumulatieve adoptie
5000
4000 Influence - Random Influence - Small World
3000
Influence - Scale Free
2000
1000
0 1
2
3
4
5
6
7
8
9
10
11
12
13 14 15 16 Tijdseenheden
17
18
19
20
21
22
23
24
25
FIGUUR 53: VERGELIJKING CUMULATIEVE VERSPREIDINGSCURVEN - LAAG CONNECTIVITEITSCENARIO OP SOCIAAL INVLOEDMODEL
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
81 | P a g i n a
26
27
28
Lage connectiviteit - Cascade mode
9000
Cascade - Random
Cascade- Small World
8000
Cascade - Scale Free 7000
Cumulatieve adoptie
6000
5000 Cascade - Small World Cascade - Scale Free
4000
Cascade - Random 3000
2000
1000
0 1
2
3
4
5
6
7
8
9
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 Tijdseenheden
FIGUUR 54: VERGELIJKING CUMULATIEVE VERSPREIDINGSCURVEN - LAAG CONNECTIVITEITSCENARIO OP CASCADEMODEL
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
82 | P a g i n a
5.7.3 VRIENDEN Om het scenario te simuleren waarbij we vrienden viseren, gaan we als volgt te werk: we selecteren een willekeurig paar verbonden knopen en infecteren al hun gedeelde buren. We voegen de conditie toe dat elk paar knopen minstens 1 gedeelde buur moet hebben. We herhalen dit proces tot het aantal geïnfecteerde knopen rond de gewenste startpopulatie ligt. Voor het willekeurig netwerk resulteert dit in vele groepen van drie directe buren, maar voor het small-world netwerk krijgen we grotere groepen door de hoge graad van clustering. Het resultaat voor het scale-free netwerk ligt ergens tussen deze twee uitersten. Uit de simulatie blijken direct enkele opvallende verschillen (Figuur 55). Zo geldt voor alle modellen dat, indien het onderliggend netwerk een willekeurige topologie heeft, dit resulteert in een verspreidingspatroon dat gelijk staat aan de initiële populatie waarbij we de startgroep willekeurig selecteerden uit de populatie. Dit is gelijk aan de verwachting dat slechts weinig personen gedeelde buren hebben. De selectie van de vrienden komt dus bijna overeen met een willekeurige selectie van personen uit de populatie waarbij deze toevallig drie aan drie met elkaar verbonden zijn. Voor het small-world netwerk zien we een andere opvallende gebeurtenis. Indien we een startgroep selecteren op basis van vrienden, merken we dat het verspreiding veel minder vlot gaat dan de initiële situatie. Het blijkt zelfs dat de verspreiding slechter presteert dan in het scenario waarbij we enkel de personen met de laatste connectiviteit selecteerden. Hoewel men zou kunnen denken dat dit niet overeenkomt met netwerktopologie, valt dit relatief eenvoudig te verklaren. In een netwerk met small-world topologie zijn de knopen binnen een cluster sterk, maar de knopen die zich in twee verschillende groepen bevinden zijn slecht verbonden. Dit zorgt ervoor dat indien we enkele clusters helemaal activeren als startpopulatie, dit een moeizame verspreiding zal veroorzaken. Immers, zodra een cluster volledig geactiveerd is, is het moeilijk om naar een andere cluster te springen. In het geval van een small-world netwerk zou het waarschijnlijk beter zijn om de personen te selecteren die
veel
vrienden
hebben
in
verschillende
clusters
en
dus
tegelijk
een
lage
clusteringcoëfficiënt en een hoge graad van verbondenheid hebben. Als we tenslotte naar de situatie kijken waarbij we een scale-free netwerk beschouwen, zien we dat de verspreiding vlotter verloopt indien we groepen van vrienden selecteren dan wanneer we de startpopulatie willekeurig selecteren. Indien we dit scenario vergelijken met de andere scenario's zien we zelfs dat het nieuwe gedrag zich bijna even vlot doorheen het netwerk verspreidt als in de situatie waarbij we enkel personen met een hoge connectiviteit in de beginpopulatie selecteerden. Hoewel dit niet direct af te leiden valt uit de topologie van Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
83 | P a g i n a
het netwerk kunnen we ons wel inbeelden dat de kans dat twee bevriende personen elk bevriend zijn met een derde persoon met een zeer grote vriendengroep, i.e. grote connectiviteit, groot is, net omdat deze derde persoon zoveel vrienden heeft. Via deze redenering is het niet onlogisch dat er in deze vriendengroepen vaak zeer hoog verbonden personen voor zouden komen, wat er toe leidt dat het gedrag vergelijkbaar is met het 'hoge connectiviteit' scenario.
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
84 | P a g i n a
Vrienden - Gecombineerd
12000
Leer Scale Free
10000
Leer - Random Leer - Small World Cascade - Scale Free
Cumulatieve adoptie
8000
Cascade - Random
Cascade- Small World Influence - Small World Influence - Scale Free
influence - Scale Free
influence- Random
Influence- Small World
6000
Influence - Random Cascade - Small World Cascade - Scale Free Cascade - Random Leer - Small World
4000
Leer - Scale Free Leer - Random 2000
0
1
2
3
4
5
6
7
8
9
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 Tijdseenheden
FIGUUR 55: VERGELIJKING CUMULATIEVE VERSPREIDINGSCURVEN - VRIENDENSCENARIO
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
85 | P a g i n a
Vrienden - Sociaal Leermodel
12000
Leer - Random 10000
Leer - Scale Free Leer - Small World
Cumulatieve adoptie
8000
6000
Leer - Small World Leer - Scale Free Leer - Random
4000
2000
0 1
2
3
4
5
6
7 Tijdseenheden
8
9
10
FIGUUR 56: VERGELIJKING CUMULATIEVE VERSPREIDINGSCURVEN - VRIENDENSCENARIO OP SOCIAAL LEERMODEL
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
86 | P a g i n a
11
12
Vrienden - Sociaal Invloedmodel
7000
influence- Random 6000
influence - Scale Free Influence- Small World
Cumulatieve adoptie
5000
4000 Influence - Small World Influence - Scale Free
3000
Influence - Random
2000
1000
0 1
2
3
4
5
6
7
8
9
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 Tijdseenheden
FIGUUR 57: VERGELIJKING CUMULATIEVE VERSPREIDINGSCURVEN - VRIENDENSCENARIO OP SOCIAAL INVLOEDMODEL
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
87 | P a g i n a
Vrienden - Cascade model
9000
Cascade - Random
8000
Cascade - Scale Free 7000
Cascade- Small World
Cumulatieve adoptie
6000
5000 Cascade - Small World Cascade - Scale Free
4000
Cascade - Random
3000
2000
1000
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14 15 16 17 Tijdseenheden
18
19
20
21
22
23
24
FIGUUR 58: VERGELIJKING CUMULATIEVE VERSPREIDINGSCURVEN - VRIENDENSCENARIO OP CASCADEMODEL
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
88 | P a g i n a
25
26
27
28
29
5.7.4 MINSTENS ÉÉN HOOG Indien het ons doel was om minstens één invloedrijke persoon te hebben in onze startpopulatie, zouden we verwachten dat, indien we erin slagen de meest invloedrijke individu van een netwerk mee te krijgen in onze marketingcampagne, deze persoon een significante invloed speelt in de verspreiding van de hype. Uit de simulatie blijkt echter dat het effect van één zo een persoon slechts beperkt is. Dit kan op verschillende manier verklaard worden. Een persoon die invloedrijk is, heeft veel connecties. Toch kan een persoon enkel een significant grotere invloed hebben dan een ander indien hij veel meer directe buren heeft dan de gemiddelde persoon in dat netwerk. Uit wat voorafging, is het duidelijk dat dit enkel kan voorkomen in een scale-free netwerk. De invloed van de individuen met hoge connectiviteit in de andere netwerken is niet significant verschillend van de invloed van een gemiddelde individu. Daarnaast is op tijdstip één de kans dat een persoon besmet wordt statistisch gelijkgesteld in de modelspecifieke parameters. De kans dat een willekeurige persoon besmet wordt door en geïnfecteerde buur, neemt in het sociaal invloedmodel en het sociaal leermodel toe naarmate het verspreidingsproces vordert. Dit heeft tot gevolg dat het voor deze modellen meer nut heeft om een invloedrijk persoon te bereiken in een latere fase van het verspreidingsproces dan op tijdstip één. De simulatie toont inderdaad dat er enkel een verschil te bespeuren valt in het geval van het scale-free netwerk, doch dit verschil is slechts nihil (Figuur 59).
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
89 | P a g i n a
Een hoog
12000
Leer - Random
Leer - Scale Free
10000
Leer - Small World
Cumulatieve adoptie
8000
Cascade- Small World
Cascade - Random
Cascade Scale Free
influence- Random
Influence- Small World
6000
Leer - Random
influence - Scale Free
Leer - Scale Free Leer - Small World
4000
Cascade - Random Cascade - Small World Cascade - Scale Free
2000
Influence - Random Influence - Scale Free Influence - Small World
0
1
2
3
4
5
6
7
8
9
10
11
12
13 14 15 16 Tijdseenheden
17
18
19
20
21
22
23
FIGUUR 59: VERGELIJKING CUMULATIEVE VERSPREIDINGSCURVEN - ÉÉN HOOG SCENARIO
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
90 | P a g i n a
24
25
26
27
28
5.7.5 A PRIORI NEGATIEVE INGESTELDHEID Het scenario waarbij een bepaalde proportie van de startpopulatie een negatieve mening heeft ten aanzien van het aanbod van een bedrijf, is enkel relevant bij het sociaal leermodel. Immers, bij dit model houdt een persoon rekening met de mening van anderen op het moment dat hij zijn eigen mening vormt. Dus indien enkele actoren in het netwerk een negatieve mening uitzenden aan hun buren, kunnen we verwachten dat de verspreiding in het netwerk minder goed zal verlopen. Vooreerst zien we dat het proces zich nog steeds voltrekt en niet stilvalt (Figuur 60). Dit komt doordat we de verspreiding in het leermodel zodanig specificeerden dat een individu enkel een signaal zal uitzenden indien hij het nieuwe gedrag toepast. Daarnaast werd de infectie zodanig gemodelleerd dat een individu met 95 % kans zeker moet zijn dat hij een positieve opbrengst zal hebben door het gedrag toe te passen. Dus hoewel we van start gaan met enkele negatieve signalen, zullen alle bijkomende signalen in de rest van de iteratiestappen positief zijn. Naarmate het proces zich volstrekt, zal de perceptie van de individuen in de populatie zich egaliseren in de richting van de echte waarde van het gedrag. Deze waarde werd als positief verondersteld en negatieve percepties zullen dus na verloop van tijd verdwijnen uit de populatie. Daarnaast valt het op dat het effect van een negatieve ingesteldheid het grootst is bij het scale-free netwerk, gevolgd door het willekeurig netwerken en dat er bijna geen invloed is voor het small-world netwerk. Dit komt omdat een bepaalde persoon met veel buren die negatief wordt geactiveerd bij de start, vele malen een negatief signaal kan uitzenden ten opzichte van de situatie dat deze persoon minder connecties zou hebben in een ander netwerk.
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
91 | P a g i n a
Negatieve start
12000
10000
Leer - Random Leer - Small World
Cumulatieve adoptie
8000
Leer - Scale Free
6000
Leer - Scale Free Leer - Small World Leer - Random
4000
2000
0 1
2
3
4
5 6 Tijdseenheden
7
8
FIGUUR 60: VERGELIJKING CUMULATIEVE VERSPREIDINGSCURVEN - NEGATIEVE START SCENARIO OP SOCIAAL LEERMODEL
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
92 | P a g i n a
9
10
5.8 SENSITIVITEITSANALYSE Om de analyse van de verschillende netwerken en verspreidingsmodellen voor hypes te besluiten, kijken we naar de sensitiviteit van de parameters die we meegaven aan de modellen. We benadrukten reeds dat de invloed van de parameters tussen de verschillende modellen moet geminimaliseerd worden door een statistische gelijkstelling (Cf. supra. 4.5.1 Parameters van de verspreidingsmodellen). Natuurlijk heeft de grootte van deze parameters nog steeds een invloed op de modellen. Door deze parameters discreet te laten variëren over een aantal verschillende waarden, kunnen we hun invloed op de modellen naar voor laten komen. We kiezen ervoor om de initiële startpopulatie en de a priori kans tot adoptie te laten variëren. Om deze effecten zo eenvoudig mogelijk voor te stellen, zullen we enkel kijken naar finale verspreidingstijd en naar de tijd tot buigpunt. Deze worden weergegeven door respectievelijk de eerste en tweede waarde in elke cel. Tussen haakjes wordt ook de cumulatief bereikte populatie op deze momenten meegeven (Tabel 12 en Tabel 13).
5.8.1 INITIËLE STARTPOPULATIE Door de initiële startpopulatie te laten variëren tussen 0.01% en 5%, zouden we twee zaken kunnen verwachten. Enerzijds kunnen we verwachten dat de verspreiding niet zal plaatsvinden indien de startpopulatie te klein is. Anderzijds zal het moment waarop het buigpunt bereikt wordt, variëren naargelang de startpopulatie wijzigt. Wat de maximale verspreiding (Figuur 61) betreft, zien we er dat er een verschil is tussen de bereikte eindpopulatie en de startpopulatie. Desalniettemin bemerken we dat dit verschil beperkt is tot maximaal 664 individuen. Enkel indien we het cascademodel toepassen op het willekeurig netwerk zien we dat de kans bestaat dat er geen infectieuze uitbraak plaats vindt. Merk op dat dit steeds afhankelijk is van de individu die bij de start wordt bereikt en dus ook mogelijk is in de andere gevallen. Toch toont dit aan dat de gemodelleerde verspreidingsmodellen zeer infectieus zijn en bijna steeds tot een uitbraak leiden. Onafhankelijk van het onderliggend netwerk zal dus steeds een soortgelijke eindsituatie bereikt worden. Een grotere startpopulatie leidt steeds tot een grotere bereikte eindpopulatie. We zien dat er een duidelijk dat de maximaal bereikbare populatie begrensd wordt door het toegepaste model. We zullen dadelijk zien dat deze populatie afhangt van de a priori ingesteldheid (Cf. infra. 5.8.2 A priori ingesteldheid).
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
93 | P a g i n a
Eindpopulatie 12000
Random - Leer SW - Leer
Finaal beïnvloede populatie
10000
SF - Leer
8000
Random - Sociale invoed 6000
SW - sociale invloed SF- Sociale invloed
4000
Random - Cascade 2000
SW - Cascade SF - Cascade
0 0.01%
0.5%
1%
2.5%
5%
Procentuele startpopulatie FIGUUR 61: BEREIKTE EINDPOPULATIE BIJ VERSCHILLENDE STARTPOPULATIEGROOTTES
Wanneer we echter naar het moment kijken waarop het buigpunt bereikt wordt (Figuur 62) zien we wel duidelijke verschillen in de netwerkdimensie. Zo valt op te merken dat het small-world netwerk het meest gevoelig is voor de grootte van de initiële startpopulatie. We zien dat de tijd tot buigpunt voor het scale-free netwerk slechts weinig beïnvloed wordt door de grootte van de startpopulatie. We zien dat er in het willekeurig netwerk wel degelijk verschillen te merken zijn. Naarmate de startpopulatie groter wordt, bereiken we het buigpunt sneller. Merk wel dat het effect van de startpopulatie hier kleiner is dan in het small-world
Tijdseenheden
netwerk.
40 35 30 25 20 15 10 5 0
Tijd tot buigpunt
Random Random SW SF - Sociale Cascade Cascade Cascade invoed
SW sociale invloed
SFSociale invloed
Random - Leer
SW Leer
SF - Leer
0.01%
3
35
5
14
20
9
7
10
7
0.5%
9
13
6
7
12
8
5
7
5
1%
8
10
6
6
9
5
5
6
5
2.5%
6
7
5
5
6
5
4
5
4
5%
5
5
5
4
4
4
4
4
4
FIGUUR 62: TIJD TOT BUIGPUNT BIJ VERSCHILLENDE STARTPOPULATIEGROOTTES
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
94 | P a g i n a
Initiele startpopulatie Random - Cascade SW - Cascade SF - Cascade Random - Sociale invoed SW - sociale invloed SF- Sociale invloed Random - Leer SW - Leer SF - Leer
0.01% 6 (6) 3 (3) 55 (7270) 35 (5195) 14 (6838) 5 (4710) 24 (6005) 14 (3832) 39 (5517) 20 (2584) 16 (5770) 9 (3871) 11 (9948) 7 (7245) 24 (9955) 10 (5801) 11 (9879) 7 (8188)
0.5% 17 (7873) 9 (5551) 34 (7391) 13 (3499) 12 (7266) 6 (4113) 17 (5945) 7 (3250) 31 (5679) 12 (3243) 15 (5758) 5 (2501) 9 (9893) 5 (6367) 11 (9977) 7 (8352) 9 (9884) 5 (6767)
1% 16 (7899) 8 (5569) 33 (7500) 10 (3332) 12 (7276) 6 (5302) 16 (6037) 6 (3048) 26 (5767) 9 (3087) 15 (5761) 5 (3068) 9 (9889) 5 (7891) 10 (9969) 6 (7470) 9 (9830) 5 (8068)
2.5% 15 (7946) 6 (4336) 26 (7640) 7 (3774) 11 (7328) 5 (4646) 16 (6051) 5 (3093) 28 (5822) 6 (2904) 13 (5821) 5 (3925) 10 (9892) 4 (5747) 9 (9967) 5 (7147) 8 (9863) 4 (5950)
5% 13 (8013) 5 (4449) 19 (7855) 5 (3700) 13 (7502) 5 (5468) 15 (6298) 4 (2934) 20 (6007) 4 (2506) 13 (5968) 4 (3189) 8 (9888) 4 (7479) 9 (9971) 4 (6261) 8 (9847) 4 (6850)
TABEL 12: VERSPREIDINGSKENMERKEN BIJ VERSCHILLENDE STARTPOPULATIEGROOTTES
5.8.2 A PRIORI INGESTELDHEID Tot nog toe vonden we geen scenario of parameter die een grote invloed had op de finaal beïnvloede populatie. Het valt dus te verwachten dat deze voornamelijk zal bepaald worden door de laatste parameter; de a priori ingesteldheid. We herinneren ons dat de a priori ingesteldheid overeenkomt met de gemiddelde kans dat een persoon die nog nooit van het nieuwe gedrag gehoord heeft het gedrag toch zal toepassen op het moment dat de verspreiding start. Concreter houdt dit de kans in dat een persoon op tijdstip één zijn gedrag zal aanpassen. Na deze eerste diffusiestap, zal deze stelling enkel nog opgaan voor het cascademodel. Bij dit model verandert de kans dat een individu zijn gedrag aanpast immers niet, wat wel gebeurt bij de andere modellen. Bij het sociaal invloedmodel en het sociaal leermodel, zal de kans op adoptie van het nieuwe gedrag toenemen naarmate men verder gaat in het verspreidingsproces. Wat meteen opvalt, is dat het sociaal leermodel weinig wordt beïnvloed door de a priori ingesteldheid op vlak van de finaal bereikte populatie. Uit de diffusie gegevens in (Tabel 13) kunnen we wel zien dat het diffusie proces trager van start gaat bij een lage a priori ingesteldheid, doch zodra het proces start, is het niet meer te stoppen en bereikt het praktisch iedereen in de populatie. Het valt ook op dat dit totale proces nog steeds zeer snel gaat; binnen de tien à elf tijdseenheden is de verspreiding reeds voltrokken.
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
95 | P a g i n a
Door de simulatie (Figuur 63) zien we dat voor extreem hoge waarden van de ingesteldheid de eindpopulatie voor elk verspreidingsmodel op het scale-free en het willekeurig netwerk zal convergeren naar de totale grootte van de populatie. Omgekeerd zien we dat voor extreem lage waarden van de ingesteldheid geen eenduidig besluit kan getrokken worden. Als we het cascademodel op het scale-free en het willekeurig netwerk beschouwen, zien we een knik in het verloop van de eindpopulatie voor de a priori ingesteldheid die verschillende waarden aanneemt. Immers als we de meest ideale situatie zouden beschouwen waarbij een persoon wordt geïnfecteerd volgens een bepaalde kans, en dat er geen netwerkrestricties zijn die het proces verhinderen, dan zouden we de grijze stippellijn bekomen. Het is juist de vorm van het onderliggend netwerk dat ervoor zorgt dat bepaalde personen niet meer bereikbaar zijn indien een voorgaand individu niet besmet wordt. Dit zorgt voor een verschuiving van de grijze stippellijn naar beneden. De mate waarin deze verschuiving gebeurt hangt exclusief af van het onderliggend netwerk. Zo bemerken we dat het scale-free netwerk met zijn plaatselijk hoge connectiviteit toelaat dat er effectief knopen worden beïnvloed, ondanks dat de kans dat iemand zijn gedrag aanpast in de eerste tijdstap slechts
is.
We merken dat deze plaatselijk hoge connectiviteit ook hinderend kan
werken; de curve van het scale-free netwerk met het cascademodel ligt onder de andere netwerken met een a priori kans van
. Als we naar het sociaal invloedmodel kijken,
kunnen we een gelijkaardige opmerking maken. Alleen is het bij dit model moeilijk om een ideale situatie te modelleren omdat de kans op gedragsaanpassing verandert doorheen de iteraties van het model. Bij een a priori ingesteldheid van
zien we dat de invloed van het verspreidingsmodel
het minst verschilt voor de verschillende netwerken. Dit is ook de reden waarom we deze waarde naar voor schoven bij de simulaties in dit werkstuk. Op die manier wordt het effect van het verspreidingsmodel in zekere mate reeds geneutraliseerd voor de vergelijking van het effect van het onderliggende netwerk. Bovendien zien we dat bij de afstand tussen de bereikte populaties bij de verschillende verspreidingsmodellen hier duidelijk van elkaar te onderscheiden is.
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
96 | P a g i n a
Eind populatie 12000
Finaal beïnvloede eindpopulatie
10000
Random - Cascade SW - Cascade
8000 SF - Cascade Random - Leer
6000
SW - Leer 4000
SF - Leer
2000
Random - Sociale invoed SW - sociale invloed SF- Sociale invloed
0 10%
20% 30% A priori ingesteldheid
40%
FIGUUR 63: BEREIKTE EINDPOPULATIE BIJ VERSCHILLENDE A PRIORI INGESTELDHEDEN
Waar we zagen dat de initiële startpopulatie een grote invloed had op het buigpunt, blijkt dat de ingesteldheid op tijdstip nul amper invloed uitoefent op dit buigpunt (Figuur 64). 8 7 6 5 4 3
10%
2
20%
1 0
30% Random Random SW SW SF - Sociale sociale Cascade Cascade Cascade invoed invloed
SFRandom Sociale - Leer invloed
SW Leer
SF - Leer
10%
2
2
5
4
3
4
4
5
4
20%
6
7
5
5
6
5
4
5
4
30%
5
6
5
5
6
5
4
4
4
40%
5
6
4
5
6
4
4
5
4
Figuur 64: Tijd tot buigpunt bij verschillende waarden van de a priori ingesteldheid
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
97 | P a g i n a
40%
Tenslotte merken we op dat indien we de a priori ingesteldheid verhogen, de invloed van het netwerk verdwijnt. Niet alleen convergeert de finale populatie naar dezelfde waarde, daarnaast zien we ook dat het verloop van de verspreiding dichter bij elkaar komt te liggen. Het is dus zeer belangrijk dat we de waarde voor de a priori ingesteldheid niet te hoog kiezen.
A priori ingesteldheid Random - Cascade
10% 20% 30% 40% 25 (1820) 15 (7946) 12 (8845) 9 (9747) 2 (250) 6 (4336) 5 (5626) 5 (7931) SW - Cascade 16 (1187) 26 (7640) 15 (9547) 12 (9929) 2 (250) 7 (3774) 6 (5563) 6 (7771) SF - Cascade 15 (3511) 11 (7328) 11 (8437) 8 (9492) 5 (1768) 5 (4646) 5 (6742) 4 (5135) Random - Sociale invloed 20 (2028) 16 (6051) 11 (9367) 9 (9775) 4 (896) 5 (3093) 5 (5545) 5 (7826) SW - sociale invloed 13 (1124) 28 (5822) 14 (9021) 13 (9844) 3 (543) 6 (2904) 6 (5530) 6 (7762) SF- Sociale invloed 12 (1843) 13 (5821) 11 (8916) 8 (9599) 4 (918) 5 (3925) 5 (7140) 4 (5225) Random - Leer 9 (9889) 10 (9892) 9 (9849) 9 (9859) 4 (5438) 4 (5747) 4 (5809) 4 (6053) SW - Leer 11 (9973) 9 (9967) 9 (9960) 10 (9957) 5 (6887) 5 (7147) 5 (7071) 5 (7430) SF - Leer 8 (9852) 8 (9863) 8 (9860) 8 (9838) 4 (4201) 4 (5950) 4 (6086) 4 (5933) Tabel 13: Verspreidingskenmerken bij verschillende waarden van de a priori ingesteldheid
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
98 | P a g i n a
6. OVERZICHT VAN DE CONCLUSIES Dit hoofdstuk heeft als doel een bondig overzicht te geven van alle hypothesen en besluiten. Indien men geïnteresseerd zou zijn naar de methodologie van elk scenario, verwijzen we naar de voorgaande hoofdstuk (Cf. infra. 5. Effect van onderliggend netwerk). We bespreken eerste de hypotheses bij elk netwerk en in welke mate deze standhielden in onze simulatie. Daarna bespreken we de invloed van de scenario's op de buigpunten van de verschillende verspreidingscurven. Voor het cascademodel, stelden we de volgende hypothesen op:
H1a: Naarmate het netwerk gekenmerkt wordt door een hogere heterogeniteit van de verbondenheid, zal er minder weerstand geboden worden aan de verspreiding (Pastor-Satorras R. , 2001).
H2a: Naarmate het netwerk wordt gekenmerkt door een hogere graad van clustering, zal er meer weerstand gebonden worden aan de verspreiding (PastorSatorras R. , 2001).
Beide hypothesen worden bevestigd in de simulaties. Voor het sociaal invloedmodel, stelden we volgende hypothesen voorop:
H1b: Naarmate het netwerk wordt gekenmerkt door een hogere graad van clustering, zal er meer weerstand gebonden worden aan de verspreiding (Acemoglu, Ozdaglar, & Yildiz, 2011).
H2b: In het willekeurig netwerk vinden we minstens in één van de verspreidingsstappen een groei van de verspreidingscurve die super-exponentieel is (Young, Innovation Diffusion in Heterogeneous Populations: Contagion, Social Influence, and Social Learning, 2009).
H3b: Heterogeniteit in de connectiviteit van het netwerk heeft een positieve invloed in de verspreiding van een hype in dat netwerk.
De drie hypothesen worden bevestigd in de simulaties, doch we bemerken dat hypothese beter van toepassing is in het scale-free netwerk.
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
99 | P a g i n a
Voor het sociaal leermodel, stelden we volgende hypothesen voorop:
H1c: In het willekeurig netwerk vinden we minstens in één van de verspreidingsstappen een groei van de verspreidingscurve die super-exponentieel is. Deze groei kan eventueel voorafgegaan worden door een periode van afnemende groei (Young, Innovation Diffusion in Heterogeneous Populations: Contagion, Social Influence, and Social Learning, 2009).
H2c: Verandering van de connectiviteit heeft een kleine invloed op het verspreidingsproces. Verandering in de verspreiding wordt meer beïnvloed door een verandering in de netto opbrengst van de hype of de a priori ingesteldheid (Lamberson, 2010).
H3c: De snelheid van de verspreiding hangt af van de mate van globale verbondenheid. We verwachten dus dat in een small-world netwerk er een moeilijkere verspreiding zal plaats vinden.
Hypothese
is niet exclusief voor het willekeurig netwerk, maar geldt in alle
netwerken. Meer specifiek vinden we meerdere periodes van super-exponentiële groei in het scale-free netwerk. We merkten dat
slechts gedeeltelijk bevestigd werd. We zagen
inderdaad dat er slechts een kleine invloed werd uitgeoefend door de connectiviteit van het onderliggend model. Doch aangezien we de netto opbrengst van de hype niet modelleerden in het sociaal leermodel, konden we het tweede deel van de hypothese niet helemaal testen. We zagen wel dat de a priori ingesteldheid inderdaad een invloed uitoefent op de vorm van de verspreiding. Ook hypothese
werd bevestigd.
Samengevat concluderen we dat een scale-free netwerktopologie een katalysator is voor de verspreiding dankzij de aanwezigheid van enkele hoog verbonden knopen. Deze hoog verbonden knopen zorgen er voor dat we snel een groot deel van de populatie kunnen bereiken. Daartegenover staan de netwerken met small-world kenmerken. Omdat connecties tussen de clusters in deze netwerken zeer pover zijn, zorgt deze netwerkvorm ervoor dat de verspreiding van een hype wordt verhinderd. In de realiteit merken we echter op dat zowel small-world kenmerken als scale-free kenmerken worden teruggevonden. Hoewel verder onderzoek vereist is naar deze nieuwe topologie, merkten we reeds op dat de verspreidingskenmerken van een dergelijk netwerk dichter aanleunen bij deze van het smallworld netwerk omdat de verbindingen tussen de clusters nog steeds zeer slecht zijn. Voor het evalueren van de scenario's kunnen we eenvoudigweg kijken naar het moment waarop het nieuwe buigpunt wordt bereikt en hoe groot de geconverteerde populatie is op dat moment. Om dit duidelijk visueel voor te stellen plotten we elk netwerk in enkele Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
100 | P a g i n a
puntenwolken (Figuur 65, Figuur 66 en Figuur 67). De omcirkelde punten stellen de initiële situatie voor en de andere punten de scenario's. We merken op dat het scenario waarbij we ervoor zorgen dat de startpopulatie minstens één persoon heeft met een zeer hoge connectiviteit weinig effect heeft op eender welk netwerk. Voor de verspreiding in het willekeurig netwerk merken we op dat het weinig wordt beïnvloed door het scenario waarbij we ons richten op vriendengroepen. Dit netwerk blijkt vooral gevoelig te zijn voor de connectiviteit van de personen in de startpopulatie. Hoe hoger de connectiviteit van de personen in de startpopulatie, hoe beter voor de verspreiding en visa versa. Bij het small-world netwerk merken we op dat het vriendenscenario een zeer negatieve invloed heeft op de verspreiding. De invloed van de andere scenario's op dit netwerk is eerder beperkt. Voor de verspreiding binnen het scale-free netwerk zien we dat de invloed van laag verbonden knopen in de startpopulatie klein is, daar waar de invloed van hoog verbonden knopen een goed effect heeft op de snelheid van verspreiding. Daarnaast merken we op dat het vriendenscenario een zeer positieve invloed uitoefent op zowel de snelheid van verspreiding als op de bereikte populatie. Het effect van de andere gecontroleerde parameters is als volgt:
De grootte van de startpopulatie heeft vooral invloed op het moment waarop het buigpunt bereikt wordt. Een grotere populatie zorgt ervoor dat het buigpunt sneller bereikt wordt. Dit geldt vooral voor het small-world netwerk en slechts in mindere mate voor het scale-free netwerk. Doordat alle modellen zeer infectieus zijn, zien we dat de grootte van de startpopulatie slechts een kleine invloed uitoefent op de finaal bereikte populatie.
We zagen dat de a priori ingesteldheid vooral een groot effect uitoefent op de grootte van de finaal bereikte populatie en slechts in mindere mate op het moment waarop het buigpunt bereikt wordt.
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
101 | P a g i n a
Buigpunten willekeurig netwerk 9000
8000
7000
Lage connectiviteit
Hoge connectiviteit Cumulatieve adoptie
6000
Vrienden Negatieve ingesteldheid
5000
Lage connectiviteit Hoge connectiviteit
Cascade - Willekeurig Influence - Willekeurig Leer - Willekeurig
4000
Hoge connectiviteit
Lage connectiviteit
3000
Vrienden 2000
1000
0 0
1
2
3
4
5
6
Tijdseenheden FIGUUR 65: BUIGPUNTEN VAN HET WILLEKEURIG NETWERK
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
102 | P a g i n a
7
8
Buigpunten small-world netwerk 10000 9000
Lage connectiviteit 8000
Hoge connectiviteit
Cumulatieve adoptie
7000
Negatieve ingesteldheid
Vrienden Cascade - Small world
6000
Influence - Small world Leer - Small world
5000
Vrienden 4000
Hoge connectiviteit Lage connectiviteit
3000
Hoge connectiviteit
Vrienden Lage connectiviteit
2000 1000 0 0
2
4
6 Tijdseenheden
8
10
FIGUUR 66: BUIGPUNTEN VAN HET SMALL-WORLD NETWERK
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
103 | P a g i n a
12
Buigpunten scale-free netwerk 10000 9000 8000
Lage connectiviteit Vrienden
Cumulatieve adoptie
7000
Cascade - Scale free Influence - Scale free
6000
Hoge connectiviteit
Leer - Scale free
Negatieve ingesteldheid
5000
Vrienden
Lage connectiviteit Vrienden
4000
Lage connectiviteit
Hoge connectiviteit 3000
Hoge connectiviteit 2000 1000 0 0
0,5
1
1,5
2 2,5 Tijdseenheden
3
3,5
FIGUUR 67: BUIGPUNTEN VAN HET SCALE-FREE NETWERK
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
104 | P a g i n a
4
4,5
7. ALGEMEEN BESLUIT In deze masterproef gingen we op zoek naar de relatie tussen het verspreidingsgedrag van hypes en de topologie van het netwerk waarin dit gebeurt. Het is namelijk onmogelijk om deze onafhankelijk van elkaar te beschouwen. Opdat een manager een goed inzicht zou hebben in het verspreidingsgedrag van zijn producten, dient hij rekening te houden met het effect van het netwerk waarin deze verspreiding gebeurt. Dit is vooral belangrijk bij het verspreiden van hypes. De aankoop van een hypend product kan immers niet herleid worden tot een simpele kosten - en opbrengsten analyse. Deze aankoopbeslissing wordt immers in sterke mate beïnvloed door het gedrag van de vrienden van de beslissingsnemer. Om
deze
analyse
mogelijk
te
maken
zorgden
we
ervoor
dat
we
deze
vriendschapsnetwerken voor handen hadden. Hiervoor zochten we in de literatuur naar de theoretische vorm van een sociaal netwerk. Aangezien er verschillende theorieën bestaan over de topologie van zo een netwerk, simuleerden we de meest voorkomende. Hiervoor gebruikten we Cytoscape, een open source programma. Hoewel we weten dat simulatie ook direct in R mogelijk is, kozen we voor Cytoscape omdat dit programma in staat is de netwerken en hun parameters automatisch te controleren en te visualiseren. Omdat theorie niet alles toont, keken we ook kort naar een bestaand sociaal netwerk dat ons ter beschikking werd gesteld door het Max Planck Institute for Software Systems in Duitsland. Doordat we in deze thesis specifiek focussen op het verspreidingsgedrag van hypes, zoomden we ook kort in op de theoretische kenmerken van een hype. We merkten op dat er nog steeds weinig geweten is over 'de hype' en dat het dus tot op heden onmogelijk is een voorbeeld uit de realiteit te simuleren. Daarnaast zagen we dat de verspreiding van een hype vooral verklaard kan worden door het kuddegedrag van de mens. We bespraken dat indien de nettowaarde van het product niet echt groot was, een individu toch geneigd zal zijn dit product te kopen indien vele van zijn vrienden dit product kopen of willen kopen. In de literatuur vonden we reeds een eerste indicatie naar een verspreidingsmodel dat de hype aankoop kon verklaren: 'informational cascades'. Vervolgens onderzochten we de bestaande verspreidingsmodellen die reeds worden toegepast op sociale netwerken. Hierbij hadden we een speciale focus op de modellen die in staat zijn de plotse opkomst van een hype te verklaren. Om het effect van deze verspreidingsmodellen duidelijk in kaart te kunnen brengen, namen we ook een zeer basis besmettingsmodel uit de epidemiologie in beschouwing. Aangezien we het effect van het Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
105 | P a g i n a
netwerk wilden onderzoeken, programmeerden we deze diffusiemodellen in R. Hierbij controleerden we steeds enkele startparameters tussen de verschillende modellen. We merkten op dat het gevaarlijk is om conclusies te trekken zolang het effect van alle andere parameters niet gelijk wordt gesteld of gecontroleerd. Tenslotte kwamen we tot de finale simulaties. Nadat we alle bouwstenen voorzien hadden, konden we van start gaan met de simulatie van het verspreidingspatroon doorheen de
verschillende
netwerktypes.
Hierbij
begonnen
we
door
de
verschillende
verspreidingsmodellen los van elkaar te beschouwen op de gesimuleerde netwerken. Doch we zagen dat dit slechts één deel van de waarheid voorstelde. Er was immers nog steeds één vector die een grote invloed had op onze resultaten, met name de startpopulatie. We merkten ook op dat deze groep zeer interessant is van uit een management perspectief. Immers
we
konden
verschillende
startpopulaties significant verschillend
management
scenario's
opstellen
waarbij
de
waren. Om het effect van deze groep in kaart
brengen voerden we een scenarioanalyse uit. Aangezien we controleerden voor enkele parameters, kunnen we het effect van deze parameters zelf moeilijk bekijken. Daarom lieten we ook deze discreet variëren in een sensitiviteitsanalyse. Met al deze tools en resultaten konden we enkele finale conclusies trekken over de invloed van het netwerk in verschillende scenario's. Met het willekeurig netwerk als referentiebasis, zagen we dat de aanwezigheid van clusters een verregaande invloed heeft op de mogelijkheid van een snelle verspreiding van een hype. Uit de simulaties bleek dat zelfs bij de meest infectieuze modellen er een vertraagde verspreiding optrad binnen netwerken met een hoge clusteringgraad, i.e. het small-world netwerk en de externe dataset. Hoewel de verspreiding binnen een bepaalde cluster zeer vlot gaat, zagen we dat vooral de verspreiding tussen de clusters onderling problematisch was. Daarnaast merkten we op dat indien we onze marketing zouden richten op bepaalde clusters de verspreiding nog meer verhinderd wordt doordat er op die manier minder groei binnen een bepaalde cluster mogelijk is. Daar waar een marketingscenario gericht op personen met een zeer hoge of zeer lage connectiviteit weinig gevolgen had voor een small-world netwerk, zagen we dat dit wel degelijk een grote invloed heeft op het scale-free netwerk. De aanwezigheid van enkele personen met een significant hogere connectiviteit heeft een vergaande invloed in deze netwerkvorm. We merkten echter ook op dat het meer zin heeft op deze hoog verbonden individuen in een later stadium te bereiken dan in het begin. Door hun groot bereik binnen het netwerk heeft het meer zin om hen een zeer infectieuze boodschap te laten verspreiden Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
106 | P a g i n a
dan een gewone boodschap die potentieel infectieus kan worden. De invloed van een marketing strategie waarbij we ons op vriendengroepen richten is daarom een zeer goede keuze in deze situatie. We merkten op dat de kans groot was dat, indien we enkele vrienden selecteerden, deze vrienden iemand kenden met een zeer grote connectiviteit. Door te kijken naar een bestaand sociaal netwerk, merkten we op dat de verdeling van de connectiviteit inderdaad een scale-free verdeling volgt. Doch we zagen ook dat dit tegelijkertijd gepaard ging met een hoge clusteringgraad. Hierdoor bleek dat de verspreiding dichter aanleunde bij de verspreiding binnen een small-world netwerk. Daarnaast zagen we ook dat dit netwerk minder goed verbonden was in het geheel, wat het onmogelijk maakte om de verspreiding doorheen het gehele netwerk te laten evolueren. Door deze gevallenstudie sluiten we ons in deze thesis op vlak van de verspreiding in dit netwerk dus eerder aan bij de small-world literatuur van Watts en Strogatz dan bij de meer recente scalefree literatuur geleidt door Barabási en Albert. We willen dit echter nog niet overhaast veralgemenen. Meerder simulaties op verschillende netwerken zijn nodig om deze stelling te kunnen veralgemenen. Op vlak van de verspreidingsmodellen zagen we dat een manager de verspreiding op verschillende manieren positief kan beïnvloeden. In een sociaal invloedmodel zou hij doormiddel van een marketingcampagne kunnen trachten om de perceptie van het aantal participerende personen te doen stijgen. Hierdoor zouden de individuen in het netwerk sneller geneigd zijn om zich aan te sluiten bij de hype. In alle situaties zou hij kunnen trachten de a priori ingesteldheid ten opzichte van zijn product te verhogen door potentiële klanten van meer informatie te voorzien. Hierdoor zou niet alleen hun onzekerheid over het product dalen, maar ook de verwachte opbrengst. Ondanks dat dit een vrij diepgaande analyse is van het verspreidingsgedrag van hypes in verschillende theoretische sociale netwerken, heeft deze studie nog enkele inherente beperkingen. Ten eerste hebben we enkel de opgang van de hype gesimuleerd. De neergang, het verdwijnen van een hype, werd niet geanalyseerd omwille van praktische redenen maar ook omwille van de overtuiging dat marketeers vooral geïnteresseerd zijn in de opgang van een hype. Zo hangt de neergang eerst en vooral af van verscheidene kenmerken van de hype zelf, maar ook van een heel gamma van externe factoren. Denk maar aan het geval waarbij een populair product opeens van de markt verdwijnt door foute geruchten of een zwakke concurrentie positie, of wanneer de hype verdwijnt nadat er een nieuw seizoen aanbreekt. Niet alleen is het inherent complex om met al deze parameters rekening te houden, hun Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
107 | P a g i n a
effect is niet steeds rechtstreeks, noch lineair en vaak ambigu. Daarnaast zagen we reeds dat het fenomeen van de hype nog steeds niet voldoende is gedocumenteerd, want het onmogelijk maakte om, gezien de relatief kort tijd, het effect van elke invloedsfactor in kaart te brengen. De reden waarom we ervoor kozen om het verspreidingsgedrag in het opgaande deel van de diffusie te bekijken, is omdat deze fase typisch afhangt van kuddegedrag, en minder van externe en interne factoren. Ten tweede werden enkel verspreidingsmodellen geanalyseerd die theoretisch een super-exponentiële groei konden verklaren en die in lijn lagen met de theorie van het groepsgedrag. Men kan niet alleen vele varianten vinden op deze modellen, maar men kan ook modellen gebruiken die niet per se deze extreme groei kennen. Zo merken we dat we in een scale-free netwerk bijna steeds deze extreme groeivoeten vinden. Ten derde merken we uitsluitend met ongerichte netwerken. Er bestaan ook gerichte netwerken en het is zeker interessant om hun effect op het verspreidingsgedrag te onderzoeken. Op die manier bekeken zou de verspreiding bijvoorbeeld vroegtijdig kunnen uitdoven doordat alle connecties in een bepaalde richting reeds zijn benut. Tenslotte wijzen we erop dat we hier vooral met gesimuleerde netwerken werken. Ondanks het feit dat we kort het effect van een bestaand netwerk bekeken, is diepere analyse vereist. Een theoretisch model is immers slechts een benadering van de werkelijkheid. Dit is zeker een uitdaging naar de toekomst toe. De omvang van huidige sociale connecties neemt steeds maar toe door het gebruik van sociale media en het internet en is daarenboven variabel in de tijd. Dit zorgt ervoor dat het zeer moeilijk om een goede momentopname te krijgen van de reële situatie. Deze beperkingen resulteren direct in de richtlijnen voor verder onderzoek. Zo zagen we dat reeds dat een reëel sociaal netwerk zowel small-world als scale-free netwerkkenmerken kent en dit het geheel compliceerde. Bovendien bleek dat dit reëel netwerk veel minder globaal samenhangend was dan de theoretische modellen voorspellen. De zoektocht naar een theoretische netwerkstructuur die dichter bij de realiteit aanleunt is dus nog niet afgerond. Niet alleen de vorm van het netwerk in de realiteit is nog in grote dele onbekend, ook de kenmerken van de relaties tussen de personen in deze netwerken moet nog in kaart gebracht worden. In dit werkstuk verdeelden we deze kenmerken willekeurig over het netwerk. Het is dus logisch dat ook hier nog werk aan de winkel is.
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
108 | P a g i n a
Daarnaast is het interessant om het effect van gerichte netwerken onder de loep te nemen. Hierin zal de verspreiding waarschijnlijk minder van zelfsprekend zijn doordat de verspreiding niet in gelijk welke richting kan evolueren. Gerichte netwerken komen vooral voor in online sociale netwerken zoals Twitter, Tumblr en Instagram, en zijn dus zeker de moeite om onder loep te nemen. In dit werkstuk focusten we ons vooral op de verspreiding van een hype door kuddegedrag van mensen. Aangezien we geen eenduidig onderzoek vonden dat de kenmerken van een hype in kaart bracht, was het niet mogelijk om bepaalde hypespecifieke kenmerken mee te nemen in de analyse. Door de digitalisering van de samenleving, zijn er steeds meer kansen om het verloop van verschillende hypes gedetailleerd in kaart te brengen. Op die manier zou het mogelijk zijn om zich tijdens de marketing van een potentiële hype te richten op bepaalde katalyserende kenmerken van het product op beroep te doen op bepaalde externe factoren.
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
109 | P a g i n a
GECITEERDE WERKEN Acemoglu, D., Ozdaglar, A., & Yildiz, E. (2011). Diffusion of Innovations in Social Networks. Proceedings of the 50th IEEE Conference on Decision and Control and European Control Conference , 2329-2334. Aguirre, B. E., Quarantelli, E. L., & Mendoza, J. L. (1988). the collective behavior of fads: the characteristics, effects, and career of streaking. American Sociological Review, Vol. 53, No. 4 , 569 -584. Albert, R. Z., & Barabási, A.-L. (2002). Statistical mechanics of complex networks. . Reviews of Modern Physics 74(1) January , 47–96. Albert, R., Jeong, H., & Barabási, A.-L. (1999). The Diameter of the WWW. Nature 401 (6749) , 130-131. Barabási, A. (2002). Linked: How everything is connected to everything else and what it means for business, science, and everyday life. New York: Penguin Group (USA) Inc. Barabási, A.-L., & Albert, R. (1999). Emergence of scaling in random networks. Science, Vol. 286 , 509-512. Bass, F. (1969). A new product growth model for consumer durables. Management Science , 215 - 227. Bergman, M. (2003). When a fad ends: An agent-based model of imitative behavior. Computing in Economics and Finance 2003, No. 271, Society for Computational Economics . Bikhchandani, S., Hirshleifer, D., & Welch, I. (1992). A Theory of Fads, Fashion, Custom, and Cultural Change as Informational Cascades. Journal of Political Economy, Volume 100, Issue 5 , 992-1026. Bikhchandani, S., Hirshleifer, D., & Welch, I. (1998). Learning from the behavior of others: Conformity, fads, and informational cascades. The Journal of Economic Perspectives , 151–170. Blumer, H. (1968). Fashion. International Encyclopedia of the Social Sciences , 341-345. Chamley, C. P. (2003). Bayesian tools, chapter 2, pp.23-42,. Cambridge University Press. Chamley, C., Scaglione, A., & Li, L. (2013). Models for the diffusion of beliefs in social networks: An overview. Signal Processing Magazine, IEEE Volume: 30 , Issue: 3 , 14-15. Chung, F., & Lu, L. (2006). Complex Graphs and Networks. United States: American Mathematical Society. Cytoscape, C. T. (2006). Code Cytoscape. Boston, USA. Davis, K. (1949). Human Society. New York: Macmilla Co. Dawson, C. A., & Gettys, W. (1929). An Introduction to Sociology. New York: Ronald Press. deSolla Price, D. J. (1976). A General Theory of Bibliometric and Other Cumulative Advantage Processes. Journal of the American Society for Information Science, 27 , 292-306. deSolla Price, D. J. (1965). Networks of Scientific Papers. Science, Vol 149, nr 3683 , 510-515. Domingos, P., & Richardson, M. (2002). Mining Knowledg-sharing Sites for Viral Marketng. Proceedings of the Eighth International Conference of Knowledge Discovery and Data Mining , 61-70.
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
IX | P a g i n a
Erdos, P., & Rényi, A. (1959). On Random Graphs. Publicationes Mathematicae 6 , 290-297. Ferreira, S. C., Castellano, C., & Pastor-Satorras, R. (2012). Epidemic thresholds of the Susceptible-InfectedSusceptible model on networks: A comparison of numerical and theoretical results. Physical review. E, Statistical, nonlinear, and soft matter physics , 1539-3755. Frank, O., & Strauss, D. (1986). Markov graphs. Journal of the American Statistical Association 81 , 832 -842. Gilbert, E. N. (1959). Random Graphs. Annals of Mathematical Statistics 30 , 1141-1144. Gjoka, M., Kurant, M., Butts, C. T., & Markopoulou, A. (2010). Walking in Facebook: A Case Study of Unbiased Sampling of OSNs. Proceedings of IEEE INFOCOM '10 , 1872 - 1892. Gladwell, M. (2000). The Tipping Point: How Little Things Can Make a Big Difference. New York: Little Brown and Company. Goldenberg, J., Han, S., Lehmann, D. R., & Hong, J. W. (2009). The role of hubs in the adoption process. Journal of Marketing 73(2) , 1–13. Goldenberg, J., Libai, B., & Mulle, E. (2001). talk of the networks: a complex systems look at the underlying process of word of mouth. Marketing Letters 12:3 , 211-223. Goldenberg, J., Libai, B., & Muller, E. (2001). Using Complex Systems Analysis to Advance Marketing Theory Development: Modeling Heterogeneity Effects on New Product Growth through Stochastic Cellular Automata. Academy of Marketing Science Review, Vol. 1 . Goldenberg, J., Lowengart, O., & Shapira, D. (2009). Integrating the social network to diffusion model and evaluation of the value of hubs in the adoption process. Beer Sheva, Israel: Ben-Gurion University. Granovetter, M. (1978). Threshold Models of Collective Behavior . American Journal of Sociology , Vol. 83, No. 6 , 1420-1443. Grassberger, P. (1983). On the critical behavior of the general epidemic process and dynamical percolation. Mathematical Biosciences 63 , 157–172. Han, X.-P. (2007). Disease spreading with epidemic alert on small-world networks. Physics Letters A, Volume 365, , 1-5. Jackson, M. O. (2007). Relating Network Structure to Diffusion Properties through Stochastic Dominance. The B.E. Journal of Theoretical Economics , 1-13. Jackson, M. O., & Yariv, L. (2006). Diffusion on Social Netwokrs. Economie Publique, nr 16 , 3-16. Johnson, T. (sd). Mathematical Modeling of Diseases:Susceptible-Infected-Recovered (SIR) Model. Opgeroepen op Maart 13, 2013, van University of Minnesota: http://www.morris.umn.edu/academic/math/Ma4901/Sp09/Final/TeriJohnson-Final.pdf Kempe, D., Kleinberg, J., & Tardos, É. (2003). Maximizing the spread of influence through a social network. In Proc. of the Ninth ACM SIGKDD Int. Conf. on Knowledge Discovery and Data Mining , 137–146. Kermack, W. O., & McKendrick, A. G. (1927). A Contribution to the Mathematical Theory of Epidemics. Proceedings of the Royal Society A: Mathematical, Physical and Engineering Sciences 115 (772) , 700-721.
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
X|P a g i n a
Kimball, D., & Herdzik, E. (sd). Opgeroepen op September 11, 2012, van Rensselaer Computer Science: http://assassin.cs.rpi.edu/~magdon/courses/casp/projects/KimballHerdzik.pdf Kimball, Y. (1944). Social psychology. New York: London : Appleton-century crofts, cop. Klapp, O. (1972). Currents of Unrest: An Introduction to Collectve behaviour. New York: Holt, Rinehart, and Winston. Kuran, T. (1989). Sparks and Prairie Fires: A Theory of Unanticipated Political Revolution. Public Choice 61 , 4174. Lamberson, P. J. (2010). Social learning in Social NetworksLamberson. The B.E. journal of theoretical economics. - Berlin : De Gruyter, ISSN 1935-1704, ZDB-ID 22683392. - Vol. 10 , 1-31. Liljeros, F., Edling, C. R., Amaral, L. A., Stanley, H. E., & Aberg, Y. (2001). The Web of Human Sexual Contacts. Nature 411 , 907-908. Lofland, J. (1981). Collective Behavior: Elementary Forms. Social Psychology Today: Sociological Perspective , 413-446. May, R., & Lloyd, A. (2001). Infection dynamics on scale-free networks. Physical Reviews E 64 , 066112. Meseguer, C. (2005, Januarie). RATIONAL LEARNING AND BOUNDED LEARNING IN THE DIFFUSION OF POLICY INNOVATIONS. Working Paper number 316 . the helen kellogg institute for international studies. Milgram, S. (1967). The small world problem. Psychology Today , 60-67. Mislove, A., Druschel, P., Marcon, M., Bhattacharjee, B., & Gummadi, K. P. (2007). Measurement and analysis of Online social networks. IMC '07 Proceedings of the 7th ACM SIGCOMM conference on Internet measurement , 29-42 . Moore, C., & Newman, E. (2000). Epidemics and percolation in small world networks. Phys. Rev. E 61 , 56785682. Moreno, J. L. (1934). Who Shall Survive: A NNew Approach to the Problem of Human Interrelations. Washington, D.C.: Nervous an dMental Disease Publishing Co. Ouboter, T. (2010, Mei). Stochastic epidemic models for populations with social structures. Stochastic epidemic models for populations with social structures . Amsterdam, Nederland. Oxford. (sd). Oxford Dictionaries. Opgeroepen op 07 http://oxforddictionaries.com/definition/english/fad?q=fad
2012,
2012,
van
Oxford
Dictionaries:
Pastor-Satorras, R. (2001). Epidemic dynamics and endemic states in complex networks. Physical Review E 63 , 066117. Pastor-Satorras, R., & Vespignani, A. (2000). Epidemic spreading in scale-free networks. Physical Review Letters 86 , 3200-3203. Radas, S. (2006). Diffusion models in marketing: how to incorporate the effect of external influence. Privredna kretanja i ekonomska politika, Vol 15, No. 105 , 30-51. . Rogers, E. M. (1962). Diffusion of Innovations. New York: Simon & Schuster, Inc.
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
XI | P a g i n a
Sander, M., Warren, C., & Sokolov, I. (2003). Epidemics, Disorder and Percolation. Physica A 325 , 1-8. Santos, F., Rodrigues, J., & Pacheco, J. (2005). Epidemic spreading and cooperation dynamics on homogeneous small-world networks. Phys Rev E 72 , 056128. Sasaki, S., & Kawagoe, T. (2007, mei). Discussion paper. SER Discussion Paper No. 690 , 29. Scala, A., Amaral, L., & Barthelemy, M. (2001). Small-world networks and the conformation space of a short lattice polymer chain. Europhys. Lett. 55 , 594-600. Schelling, T. C. (2006). Micro motives and macro behavior. New York: W. W. Norton & Co. Scott, J. (1987). Social Network Analysis: A handbook. Londen: Sage publications. Simmel, G. (2008). The Social Theory. 7th ed. New York: McGraw Hill. Simonovits, M., & Komlós, J. (1993). Szemerédi's Regularity Lemma and its Applications in Graph Theory. Combinatorics, Paul Erdös is eighty, Vol. 2 , 295-352. Turner, R., & Killian, L. (1957). Collective Behavior. New York: Prentice-Hall. Turner, R., & Killian, L. (1972). Collective Behavior. New York: Prentice-Hall. Victor, B. (2011, Mei 24). Scientific Communication As Sequential Art. Opgeroepen op Maart 25, 2013, van worrydream.com: http://worrydream.com/ScientificCommunicationAsSequentialArt/ Viswanath, B., Mislove, A., Cha, M., & Gummadi, K. P. (2009). On the Evolution of User Interaction in Facebook. Proceedings of the 2nd ACM SIGCOMM Workshop on Social Networks (WOSN'09 . Watts, D. J., & Strogatz, S. H. (1998). Collective dynamics of 'small-world' networks. Nature 393(6684) , 440442. Wilson, C., Boe, B., Sala, A., Puttaswamy, K. P., & Zhao, B. Y. (2009). User Interactions in Social Networks and their Implications. 4th ACM European conference on Computer systems , 205-218. Wu, J., Tan, Y.-J., Deng, H.-Z., & Zhu, D.-Z. A new measure of heterogeneity of complex networks based on degree sequence. Changsha , China: School of Information System and Management, National University of Defense Technology. Young, P. H. (2009). Innovation Diffusion in Heterogeneous Populations: Contagion, Social Influence, and Social Learning. American Economic Review, 99(5) , 1899-1924. Young, P. H. (2006, Maart 21). Working paper. The spread of Innovations by Social Learning . University of OXford, England: Johns Hopkins University. Zhou, T., Liu, J.-G., Bai, W.-J., Chen, G., & Wang, B.-H. (2006). Behaviors of susceptible-infected epidemics on scale-free networks with identical infectivity. Physical Review E - Statistical, Nonlinear and Soft Matter Physics (2006) Volume: 74 , 056109.
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
XII | P a g i n a
BIJLAGEN BIJLAGE 1: DE R CODE BIJLAGE 1.1: MODELEER FUNCTIE run_code <- function(model,netwerk,seed,start,simulatie){ ###prepare tables rm(list=setdiff(ls(),c("model","netwerk","seed","start","simulatie"))) ################################################################################# #################################load starting tables############################ ################################################################################# setwd("C://Users//Styn//Documents//Thesis") seed <- as.integer(seed) set.seed(seed) library(sqldf) library(ggplot2)
if(netwerk =="BA") { load(file="THESIS_STIJN_BA.RData") THESIS_STIJN_SAMPLE <- THESIS_STIJN_BA }
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
XIII | P a g i n a
else if(netwerk =="SW"){ load(file="THESIS_STIJN_SW.RData") THESIS_STIJN_SAMPLE <- THESIS_STIJN_SW } else if(netwerk=="RAND") { load(file="THESIS_STIJN_RAND.RData") THESIS_STIJN_SAMPLE <- THESIS_STIJN_RAND } else if(netwerk=="SAMPLE") { load(file="THESIS_STIJN_FB.RData") THESIS_STIJN_SAMPLE <- THESIS_STIJN_FB } else { cat(paste("select a kind of netwerk: Scale free -> BA Small world -> SW Random -> RAND facebook sample -> SAMPLE"))} print(paste("============Table loaded=============")) ################################################################################# #################################General table manipulation###################### ################################################################################# THESIS_STIJN_SAMPLE$IDRELATIONSHIP<-seq(1:length(THESIS_STIJN_SAMPLE$ID1)) ID1 <- as.data.frame(unique(THESIS_STIJN_SAMPLE$ID1)) colnames(ID1) <- c("ID") ID2 <- as.data.frame(sqldf(c("select distinct ID2
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
XIV | P a g i n a
from THESIS_STIJN_SAMPLE where ID2 not in (select ID from ID1)"))) colnames(ID2) <- c("ID") THESIS_STIJN_SAMPLE_DIFUSSION <- rbind(ID1,ID2) rm(ID1) rm(ID2) THESIS_STIJN_SAMPLE_DIFUSSION$TIME <- 0 THESIS_STIJN_SAMPLE$USED<-0 THESIS_STIJN_SAMPLE_DIFUSSION$STATE <- 0 ################################################################################# ##########################table manipulation for difussion model################# #################################################################################
if(model=="INFLUENCE"){ #################################INFLUENCE= SOCIAL INFLUENCE####################
THESIS_STIJN_SAMPLE_DIFUSSION$THRESHOLD <- runif(min=0,max=2,n=length(THESIS_STIJN_SAMPLE_DIFUSSION$ID)) #### check if distribution is correct #### # temp <- runif(min=0,max=2,n=50000) # temp<-as.data.frame(temp)
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
XV | P a g i n a
# ggplot(temp)+ # geom_density(mapping=aes(x=temp),stat='density') #### end of check#### THESIS_STIJN_SAMPLE_REL <- as.data.frame(THESIS_STIJN_SAMPLE$IDRELATIONSHIP) colnames(THESIS_STIJN_SAMPLE_REL)<-c("IDREL") ####### weigths : based on threshold ##### # avg threshold =1 # 80% a priori chance => zscore = 0.84162 for standard normal distribution # X = mean + Z * variance --> variance = 1 (standard normal distribution) # <=> mean = 1 - 0.84162 # <=> mean = 0.15838 y = rnorm(n=length(THESIS_STIJN_SAMPLE_REL$IDREL),mean=0.15838,sd=1) y <- as.data.frame(y) THESIS_STIJN_SAMPLE_REL$WEIGTH <- y[order(runif(nrow(y))),] ### check if distribution is correct #### # plot(table(round(THESIS_STIJN_SAMPLE_REL$WEIGTH,digits=1))) # abline(v=0.5,col='red',lwd=2) #### end of check####
#Save tables save(THESIS_STIJN_SAMPLE_DIFUSSION, file="THESIS_STIJN_SAMPLE_DIFUSSION.RData") save(THESIS_STIJN_SAMPLE_REL, file="THESIS_STIJN_SAMPLE_REL.RData") save(THESIS_STIJN_SAMPLE, file="THESIS_STIJN_SAMPLE.RData") }
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
XVI | P a g i n a
else if (model =="LEER"){ #################################sociaal leer################################ # X(value) = mean + Z * variance THESIS_STIJN_SAMPLE_DIFUSSION$VARIANCE <- runif(min=0,max=2,n=nrow(THESIS_STIJN_SAMPLE_DIFUSSION)) #### check if distribution is correct #### # temp <- runif(min=0,max=2,n=50000) # temp<-as.data.frame(temp) # ggplot(temp)+ # geom_density(mapping=aes(x=temp),stat='density') #### end of check#### # Take into account that value can only be higher than zero in 20% of the cases THESIS_STIJN_SAMPLE_DIFUSSION$value <- runif(min=-0.8,max=0.2,n=nrow(THESIS_STIJN_SAMPLE_DIFUSSION)) #### check if distribution is correct #### # temp <- runif(min=-0.8,max=0.2,n=50000) # temp<-as.data.frame(temp) # ggplot(temp)+ # geom_density(mapping=aes(x=temp),stat='density') #### end of check#### # Take into account that one wil only change his/her behaviour is (s)he is 95% sure about his/her opinion -> z-score = 1.96 THESIS_STIJN_SAMPLE_DIFUSSION$MEAN <- (THESIS_STIJN_SAMPLE_DIFUSSION$value +THESIS_STIJN_SAMPLE_DIFUSSION$VARIANCE*1.96) #### check if distribution is correct #### # plot(table(round(THESIS_STIJN_SAMPLE_DIFUSSION$MEAN,digits=2))) #### end of check####
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
XVII | P a g i n a
THESIS_STIJN_SAMPLE_DIFUSSION$value <- NULL #Save tables save(THESIS_STIJN_SAMPLE_DIFUSSION, file="THESIS_STIJN_SAMPLE_DIFUSSION.RData") save(THESIS_STIJN_SAMPLE, file="THESIS_STIJN_SAMPLE.RData") } else if (model=="CASCADE"){ ##################CASCADE#################### THESIS_STIJN_SAMPLE$THRESHOLD <- runif(min=0,max=1,n=nrow(THESIS_STIJN_SAMPLE)) #### check if distribution is correct #### # temp <- runif(min=0,max=1,n=10000) # temp<-as.data.frame(temp) # ggplot(temp)+ # geom_density(mapping=aes(x=temp),stat='density') #### end of check#### #Save tables save(THESIS_STIJN_SAMPLE_DIFUSSION, file="THESIS_STIJN_SAMPLE_DIFUSSION.RData") save(THESIS_STIJN_SAMPLE, file="THESIS_STIJN_SAMPLE.RData") } else { cat(paste("select a kind of difussion model: Thresholdmodel -> INFLUENCE Social learning model -> LEER Cascademodel -> CASCADE"))}
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
XVIII | P a g i n a
print(paste("============extra tables created & manipulated ============="))
################################################################################# ################################run the models################################### ################################################################################# #initializ iteration parameters v_TIME_loop <- 0 v_TIME_diffusion <-0 #######function to get the TIME get_TIME<- function(){ return(as.numeric(sqldf("select max(TIME) from THESIS_STIJN_SAMPLE_DIFUSSION"))) }
#######################choose the wanted model################################## if(model == "CASCADE"){ print(paste("============model = CASCADE =============")) load(file="THESIS_STIJN_SAMPLE_DIFUSSION.RData") load( file="THESIS_STIJN_SAMPLE.RData") print(paste("============intialize============="))
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
XIX | P a g i n a
##############initialize############## if(start) { print(" start set is given by user") #Reverse order of ID1 and ID2 THESIS_STIJN_TEMP <- as.data.frame(cbind(THESIS_STIJN_SAMPLE$ID2,THESIS_STIJN_SAMPLE$ID1)) colnames(THESIS_STIJN_TEMP)<-c("ID1","ID2") #create table so that each side of the relationship is represented in ID1 THESIS_STIJN_TEMP <- rbind(THESIS_STIJN_TEMP,THESIS_STIJN_SAMPLE[,c(1,2)]) #for all nodes in ID1 count the amount of relationships they have degree <- aggregate(list(THESIS_STIJN_TEMP$ID2),list(THESIS_STIJN_TEMP$ID1),FUN=length) colnames(degree)<-c("ID","degree") degree<-degree[order(degree$degree),] #Simulations# if(simulatie == "high_degree") ####all nodes have high degree {print("high degree started") starters_high <- as.data.frame(tail(degree$ID,250)) randomIDS <- starters_high colnames(randomIDS)<- c("ID") }else if( simulatie =="low_degree") #### all nodes have low degree
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
XX | P a g i n a
{ print("low degree started") starters_low <- as.data.frame(head(degree$ID,250)) randomIDS <- starters_low colnames(randomIDS)<- c("ID") }else if (simulatie =="one_high") ###at least one knoop with high degree { print("one high started") as.data.frame(tail(degree,1)) ###rest of IDs is randomly choosen THESIS_STIJN_SAMPLE_DIFUSSION<- THESIS_STIJN_SAMPLE_DIFUSSION[order(runif(nrow(THESIS_STIJN_SAMPLE_DIFUSSION))),] randomIDS <- as.data.frame(head(THESIS_STIJN_SAMPLE_DIFUSSION$ID,249)) colnames(randomIDS) <- c("ID") randomIDS <- rbind(tail(degree$ID,1),randomIDS) }else if (simulatie == "friends") ###### all starting nodes consists of groups of at least 3 friends(start in clusters) ###### { print("friends started") temp<-THESIS_STIJN_SAMPLE[order(runif(nrow(THESIS_STIJN_SAMPLE))),]
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
XXI | P a g i n a
temp$number <- seq(1:nrow(temp)) #initialize while loop count <- 0 # initialize not existing ID randomIDS <- as.data.frame(c(-1)) # initialize not existing ID colnames(randomIDS)<- c("ID") #initialze rows to pass through i<- 1 while(count <= 250){ #Look for friends of 2 nodes in a relationship temp$friend1 <- ifelse(temp$ID1==temp$ID1[i],temp$ID2,0) temp$friend2 <- ifelse(temp$ID1==temp$ID2[i],temp$ID2,0) temp$friend3 <- ifelse(temp$ID2==temp$ID1[i],temp$ID1,0) temp$friend4 <- ifelse(temp$ID2==temp$ID2[i],temp$ID1,0) temper<- as.data.frame(unique(temp$friend1)) temper1<- as.data.frame(unique(temp$friend2)) temper2<- as.data.frame(unique(temp$friend3)) temper3<- as.data.frame(unique(temp$friend4)) colnames(temper)<-c("ID") colnames(temper1)<-c("ID") colnames(temper2)<-c("ID") colnames(temper3)<-c("ID") #put number of friends in one variable
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
XXII | P a g i n a
temper <- rbind(temper,temper1,temper2,temper3) temper <- aggregate(list(temper$ID),list(temper$ID),FUN=length) colnames(temper)<-c("ID","count") #only update the knoop if he is a friend of both ID1 and ID2 of the relationship update <- as.data.frame(temper[which(temper$count == 2),1]) colnames(update)<-c("ID") # at to start population if(nrow(update) == 0) { count = count + 0} else{ #include the 2 nodes of the relationship nodes <- as.data.frame(c(temp$ID1[i],temp$ID2[i])) colnames(nodes)<-c("ID") randomIDS <- rbind(randomIDS,update,nodes) #correct for turned relationships randomIDS <- unique(randomIDS) #keep track of the relative slow process count <- nrow(randomIDS) print(paste("number of friends found: ",count,"")) } i <- i+1 } } else if(simulatie == "negative"){ ###### start population includes negative opinions######
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
XXIII | P a g i n a
randomIDS <- as.data.frame(THESIS_STIJN_SAMPLE_DIFUSSION$ID) randomIDS<- as.data.frame(randomIDS[order(runif(nrow(randomIDS))),]) colnames(randomIDS) <- c("ID") randomIDS <- as.data.frame(head(randomIDS$ID,250)) colnames(randomIDS) <- c("ID") } else{ cat("select a simulation to perform, startin nodes have following characteristics: friends:all starting nodes are friends (start in different clusters) one_high: at least one knoop with high degree low_degree:all nodes have low degree high_degree:all nodes have high degree")} } else{ #####2.5% random IDS##### THESIS_STIJN_SAMPLE_DIFUSSION<- THESIS_STIJN_SAMPLE_DIFUSSION[order(runif(nrow(THESIS_STIJN_SAMPLE_DIFUSSION))),] randomIDS <- as.data.frame(head(THESIS_STIJN_SAMPLE_DIFUSSION$ID,250)) colnames(randomIDS) <- c("ID")}
####update random start IDs to active###### THESIS_STIJN_SAMPLE_DIFUSSION <- sqldf( c("UPDATE THESIS_STIJN_SAMPLE_DIFUSSION SET STATE=1 , TIME = 1 where ID in (select ID from randomIDS)", "select * from main.THESIS_STIJN_SAMPLE_DIFUSSION")) #Start loop while (v_TIME_loop <= v_TIME_diffusion){ rm(list=setdiff(ls(),c("model","netwerk","seed","start","simulatie","THESIS_STIJN_SAMPLE","THESIS_STIJN_SAMPLE_DIFUSSION",
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
XXIV | P a g i n a
"v_TIME_loop","get_TIME","v_TIME_diffusion","THESIS_STIJN_SAMPLE_REL"))) #############IDentify_affected############## print(paste("============Identify Affected nodes=============")) active <- sqldf("select * from THESIS_STIJN_SAMPLE_DIFUSSION where STATE = 1 AND TIME = (select max(TIME) from THESIS_STIJN_SAMPLE_DIFUSSION) ") #active print(paste("number of active nodes: ",length(active$ID),"")) ####update ID1 that are neighbour of an active knoop#### THESIS_STIJN_SAMPLE_DIFUSSION <- sqldf( c(" UPDATE THESIS_STIJN_SAMPLE_DIFUSSION SET STATE=2 where ID in (select distinct ID1 from (select * from THESIS_STIJN_SAMPLE where ID1 in (select ID from active) or ID2 in (select ID from THESIS_STIJN_SAMPLE_DIFUSSION where STATE = 1)) -- only select affected ID1, not those that are already active where ID1 not in (select ID from active) and USED = 0)", "select * from main.THESIS_STIJN_SAMPLE_DIFUSSION")) affectedTRHESHOLD <- sqldf("select * from THESIS_STIJN_SAMPLE_DIFUSSION where STATE = 2 ") if(length(affectedTRHESHOLD$ID) == 0){
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
XXV | P a g i n a
ID <- 0 affectedTRHESHOLD <- as.data.frame(ID) } ###update unique ID2 that are neighbour of an active knoop#### THESIS_STIJN_SAMPLE_DIFUSSION <- sqldf( c(" UPDATE THESIS_STIJN_SAMPLE_DIFUSSION SET STATE=2 where ID in (select distinct ID2 from (select * -- all affected relationships from THESIS_STIJN_SAMPLE where ID1 in (select ID from active) or ID2 in (select ID from active)) -- only select affected ID2, not those that are already active where ID2 not in (select ID from active) -- only IDs that are not yet in ID1--> all unique IDs and ID2 not in (select distinct ID from affectedTRHESHOLD) and USED = 0)", "select * from main.THESIS_STIJN_SAMPLE_DIFUSSION")) ###indicate the relationships that are activated### THESIS_STIJN_SAMPLE <- sqldf( c("update THESIS_STIJN_SAMPLE set USED = 2 -- turn USED relationships(from the active) into activated where USED != 1 and (ID1 in (select ID from active) or ID2 in (select ID from active))" , "select * from main.THESIS_STIJN_SAMPLE"))
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
XXVI | P a g i n a
print(paste("============difussion step started=============")) ##############diffusion_step############## # Check if the relationships that are not yet used are not between 2 active nodes # = number of nodes that might be influenced counting <- sqldf(c("select count(IDrelationship) -- all relationships from influencing nodes from THESIS_STIJN_SAMPLE where USED = 2 AND IDrelationship not in(select IDrelationship from THESIS_STIJN_SAMPLE where ID1 in (select ID from active) and ID2 in (select ID from active))")) timer <- get_TIME() timer <- as.data.frame(timer) counting<- as.numeric(sqldf(c("select * from counting"))) print(paste("number of nodes that might be updated: ",counting,"")) if (counting == 0){ v_TIME_loop <- v_TIME_loop +5 } # new nodes are not connected else{ #Identify ID1s that will be updated temp9 <- sqldf(c("select ID1 as ID from THESIS_STIJN_SAMPLE where USED= 2 AND THRESHOLD > 0.8 AND ID1 not in (select ID from active) "))
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
XXVII | P a g i n a
print(paste("number of ID1s that will be updated: ",length(temp9$ID),"")) #Identify ID2s that will be updated temp8 <- sqldf(c("select ID2 as ID from THESIS_STIJN_SAMPLE where USED= 2 AND THRESHOLD > 0.8 AND ID2 not in (select ID from active) ")) print(paste("number of ID2s that will be updated: ",length(temp8$ID),"")) if (length(temp8$ID) == 0){ if(length(temp9$ID) == 0){ v_TIME_loop <- v_TIME_loop +5 } else{ temp8 <- as.data.frame(temp9) temp8 <- as.data.frame(unique(temp8$ID)) colnames(temp8)<- c("ID") THESIS_STIJN_SAMPLE_DIFUSSION <- sqldf( c("UPDATE THESIS_STIJN_SAMPLE_DIFUSSION SET STATE=1, TIME = (select timer + 1 from timer) where ID in (select ID from temp8 )", "select * from main.THESIS_STIJN_SAMPLE_DIFUSSION")) }} else{ if(length(temp9$ID) == 0){ temp8 <- as.data.frame(unique(temp8$ID))
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
XXVIII | P a g i n a
colnames(temp8)<- c("ID") THESIS_STIJN_SAMPLE_DIFUSSION <- sqldf( c("UPDATE THESIS_STIJN_SAMPLE_DIFUSSION SET STATE=1, TIME = (select timer + 1 from timer) where ID in (select ID from temp8 )", "select * from main.THESIS_STIJN_SAMPLE_DIFUSSION")) } else{ temp8 <- as.data.frame(rbind(temp8,temp9)) temp8 <- as.data.frame(unique(temp8$ID)) colnames(temp8)<- c("ID") THESIS_STIJN_SAMPLE_DIFUSSION <- sqldf( c("UPDATE THESIS_STIJN_SAMPLE_DIFUSSION SET STATE=1, TIME = (select timer + 1 from timer) where ID in (select ID from temp8 )", "select * from main.THESIS_STIJN_SAMPLE_DIFUSSION")) }} } print(paste("============correcting=============")) ####################correction for those tha where not updated######################### THESIS_STIJN_SAMPLE_DIFUSSION <- sqldf( c(" UPDATE THESIS_STIJN_SAMPLE_DIFUSSION SET STATE=0 where STATE = 2", "select * from main.THESIS_STIJN_SAMPLE_DIFUSSION"))
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
XXIX | P a g i n a
THESIS_STIJN_SAMPLE <- sqldf( c("UPDATE THESIS_STIJN_SAMPLE SET USED=1 where USED = 2", "select * from main.THESIS_STIJN_SAMPLE")) #Increase loop time and get the difussion time v_TIME_loop <- v_TIME_loop +1 v_TIME_diffusion <- get_TIME()
print(paste("diffusion TIME:", v_TIME_diffusion,"")) print(paste("loop TIME:",v_TIME_loop,"")) } }
else if(model== "INFLUENCE"){ print(paste("============model == INFLUENCE =============")) load(file="THESIS_STIJN_SAMPLE_DIFUSSION.RData") load(file="THESIS_STIJN_SAMPLE_REL.RData") load( file="THESIS_STIJN_SAMPLE.RData") print(paste("============intialize=============")) ##############initialize############## if(start) { print(" start set is given by user") #Reverse order of ID1 and ID2
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
XXX | P a g i n a
THESIS_STIJN_TEMP <- as.data.frame(cbind(THESIS_STIJN_SAMPLE$ID2,THESIS_STIJN_SAMPLE$ID1)) colnames(THESIS_STIJN_TEMP)<-c("ID1","ID2") #create table so that each side of the relationship is represented in ID1 THESIS_STIJN_TEMP <- rbind(THESIS_STIJN_TEMP,THESIS_STIJN_SAMPLE[,c(1,2)]) #for all nodes in ID1 count the amount of relationships they have degree <- aggregate(list(THESIS_STIJN_TEMP$ID2),list(THESIS_STIJN_TEMP$ID1),FUN=length) colnames(degree)<-c("ID","degree") degree<-degree[order(degree$degree),] #Simulations# if(simulatie == "high_degree") ####all nodes have high degree {print("high degree started") starters_high <- as.data.frame(tail(degree$ID,250)) randomIDS <- starters_high colnames(randomIDS)<- c("ID") }else if( simulatie =="low_degree") #### all nodes have low degree { print("low degree started") starters_low <- as.data.frame(head(degree$ID,250)) randomIDS <- starters_low
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
XXXI | P a g i n a
colnames(randomIDS)<- c("ID") }else if (simulatie =="one_high") ###at least one knoop with high degree { print("one high started") as.data.frame(tail(degree,1)) ###rest of IDs is randomly choosen THESIS_STIJN_SAMPLE_DIFUSSION<- THESIS_STIJN_SAMPLE_DIFUSSION[order(runif(nrow(THESIS_STIJN_SAMPLE_DIFUSSION))),] randomIDS <- as.data.frame(head(THESIS_STIJN_SAMPLE_DIFUSSION$ID,249)) colnames(randomIDS) <- c("ID") randomIDS <- rbind(tail(degree$ID,1),randomIDS) }else if (simulatie == "friends") ###### all starting nodes consists of groups of at least 3 friends(start in clusters) ###### { print("friends started") temp<-THESIS_STIJN_SAMPLE[order(runif(nrow(THESIS_STIJN_SAMPLE))),] temp$number <- seq(1:nrow(temp)) #initialize while loop count <- 0
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
XXXII | P a g i n a
# initialize not existing ID randomIDS <- as.data.frame(c(-1)) # initialize not existing ID colnames(randomIDS)<- c("ID") #initialze rows to pass through i<- 1 while(count <= 250){ #Look for friends of 2 nodes in a relationship temp$friend1 <- ifelse(temp$ID1==temp$ID1[i],temp$ID2,0) temp$friend2 <- ifelse(temp$ID1==temp$ID2[i],temp$ID2,0) temp$friend3 <- ifelse(temp$ID2==temp$ID1[i],temp$ID1,0) temp$friend4 <- ifelse(temp$ID2==temp$ID2[i],temp$ID1,0) temper<- as.data.frame(unique(temp$friend1)) temper1<- as.data.frame(unique(temp$friend2)) temper2<- as.data.frame(unique(temp$friend3)) temper3<- as.data.frame(unique(temp$friend4)) colnames(temper)<-c("ID") colnames(temper1)<-c("ID") colnames(temper2)<-c("ID") colnames(temper3)<-c("ID") #put number of friends in one variable temper <- rbind(temper,temper1,temper2,temper3) temper <- aggregate(list(temper$ID),list(temper$ID),FUN=length) colnames(temper)<-c("ID","count") #only update the knoop if he is a friend of both ID1 and ID2 of the relationship
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
XXXIII | P a g i n a
update <- as.data.frame(temper[which(temper$count == 2),1]) colnames(update)<-c("ID") # at to start population if(nrow(update) == 0) { count = count + 0} else{ #include the 2 nodes of the relationship nodes <- as.data.frame(c(temp$ID1[i],temp$ID2[i])) colnames(nodes)<-c("ID") randomIDS <- rbind(randomIDS,update,nodes) #correct for turned relationships randomIDS <- unique(randomIDS) #keep track of the relative slow process count <- nrow(randomIDS) print(paste("number of friends found: ",count,"")) } i <- i+1 } } else if(simulatie == "negative"){ ###### start population includes negative opinions###### randomIDS <- as.data.frame(THESIS_STIJN_SAMPLE_DIFUSSION$ID) randomIDS<- as.data.frame(randomIDS[order(runif(nrow(randomIDS))),]) colnames(randomIDS) <- c("ID") randomIDS <- as.data.frame(head(randomIDS$ID,250))
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
XXXIV | P a g i n a
colnames(randomIDS) <- c("ID") } else{ cat("select a simulation to perform, startin nodes have following characteristics: friends:all starting nodes are friends (start in different clusters) one_high: at least one knoop with high degree low_degree:all nodes have low degree high_degree:all nodes have high degree")} } else{
####select 2.5% IDs random for start population##### THESIS_STIJN_SAMPLE_DIFUSSION<- THESIS_STIJN_SAMPLE_DIFUSSION[order(runif(nrow(THESIS_STIJN_SAMPLE_DIFUSSION))),] randomIDS <- as.data.frame(head(THESIS_STIJN_SAMPLE_DIFUSSION$ID,250)) colnames(randomIDS) <- c("ID") } ####update random IDS to active ###### THESIS_STIJN_SAMPLE_DIFUSSION <- sqldf( c(" UPDATE THESIS_STIJN_SAMPLE_DIFUSSION SET STATE=1 , TIME = 1 where ID in (select ID from randomIDS)", "select * from main.THESIS_STIJN_SAMPLE_DIFUSSION")) #start loop while (v_TIME_loop <= v_TIME_diffusion){ rm(list=setdiff(ls(),c("THESIS_STIJN_SAMPLE","THESIS_STIJN_SAMPLE_DIFUSSION","start","simulatie", "v_TIME_loop","get_TIME","v_TIME_diffusion","model","netwerk","seed","THESIS_STIJN_SAMPLE_REL"))) print(paste("============Identify affected=============")) #############IDentify_affected##############
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
XXXV | P a g i n a
active <- sqldf("select * from THESIS_STIJN_SAMPLE_DIFUSSION where STATE = 1 ") activenew <- sqldf("select * from THESIS_STIJN_SAMPLE_DIFUSSION where STATE = 1 AND TIME = (select max(TIME) from THESIS_STIJN_SAMPLE_DIFUSSION) ") print(paste("number of active nodes",nrow(active)," of wich",nrow(activenew),"new ones")) ####Identify the ID2s that are influenced by an active knoop#### THESIS_STIJN_SAMPLE_DIFUSSION <- sqldf( c(" UPDATE THESIS_STIJN_SAMPLE_DIFUSSION SET STATE=2 where ID in (select distinct ID1 from (select * from THESIS_STIJN_SAMPLE where ID1 in ( select ID from active) or ID2 in ( select ID from active)) -- only select affected ID1, not those that are already active where ID1 not in (select ID from active))", "select * from main.THESIS_STIJN_SAMPLE_DIFUSSION")) affectedTHRESHOLD <- sqldf("select * from THESIS_STIJN_SAMPLE_DIFUSSION where STATE = 2 ") if(length(affectedTHRESHOLD$ID) == 0) {
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
XXXVI | P a g i n a
# if empty initialize with non-existing ID affectedTHRESHOLD <- as.data.frame(c(-1)) colnames(affectedTHRESHOLD) <- c("ID") print(" no active ID2s") } #### Identify the ID1s that are influenced by an active knoop#### THESIS_STIJN_SAMPLE_DIFUSSION <- sqldf( c(" UPDATE THESIS_STIJN_SAMPLE_DIFUSSION SET STATE=2 where ID in (select distinct ID2 from (select * -- all affected relationships from THESIS_STIJN_SAMPLE where ID1 in (select ID from active) or ID2 in (select ID from active)) -- only select affected ID2, not those that are already active where ID2 not in (select ID from active) -- only IDs that are not yet in ID1--> all unique IDs and ID2 not in (select distinct ID from affectedTHRESHOLD))", "select * from main.THESIS_STIJN_SAMPLE_DIFUSSION"))
affectedTHRESHOLD <- sqldf("select * from THESIS_STIJN_SAMPLE_DIFUSSION where STATE = 2 ") print(paste("============diffusion step started=============")) ##############diffusion_step############## # select the weigths on each relationship between an active and an affected knoop
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
XXXVII | P a g i n a
affectedWEIGHT <-sqldf(" select * -- weights of the affected relationships from THESIS_STIJN_SAMPLE_REL where IDREL in(select IDRELATIONSHIP -- relationships between active and affected from THESIS_STIJN_SAMPLE where (ID1 in ( select ID from affectedTHRESHOLD) and ID2 in (select ID from active)) or (ID2 in ( select ID from affectedTHRESHOLD) and ID1 in (select ID from active)))") print(paste("number of relationships that come in to play",nrow(affectedWEIGHT),"")) if(length(affectedWEIGHT$IDREL) == 0){ v_TIME_loop <- v_TIME_loop +5} # nodes are not connected else{ affectedREL <- sqldf("select * from(select * -- all relationships from affected from THESIS_STIJN_SAMPLE where ID1 in (select ID from affectedTHRESHOLD) or ID2 in (select ID from affectedTHRESHOLD)) where IDRELATIONSHIP in (select IDREL from affectedWEIGHT)")
affected <- merge(affectedREL, affectedWEIGHT,by.x="IDRELATIONSHIP",by.y="IDREL") #Identify the infecting knoop and the affected knoop affected$infected <- NA
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
XXXVIII | P a g i n a
affected$infected <- ifelse(affected$ID1 %in% (active$ID), 1, 2 ) affected$affected <- ifelse(affected$infected == 1,affected$ID2,affected$ID1) # take the one that is not the infecting one of the two affected$infected <- NULL #sum the weights for each affected knoop affectedFINAL <- aggregate(list(affected$WEIGTH),list(affected$affected),FUN=sum) colnames(affectedFINAL)<-c("ID","total_WEIGTH") affectedFINAL <- merge(affectedFINAL, affectedTHRESHOLD,by="ID") #Chec which nodes are actived due to infected nodes affectedFINAL$infecting <- ifelse(affectedFINAL$total_WEIGTH > affectedFINAL$THRESHOLD, 1,0)
THESIS_STIJN_SAMPLE_DIFUSSION <- sqldf( c("UPDATE THESIS_STIJN_SAMPLE_DIFUSSION SET STATE=1, TIME = (select max(TIME) +1 from THESIS_STIJN_SAMPLE_DIFUSSION) where ID in ( select ID from affectedFINAL where infecting = 1)", "select * from main.THESIS_STIJN_SAMPLE_DIFUSSION")) print(paste("number of nodes updated",nrow(sqldf("select * from THESIS_STIJN_SAMPLE_DIFUSSION where STATE = 1 AND TIME = (select max(TIME) from THESIS_STIJN_SAMPLE_DIFUSSION)")),""))
print(paste("============correcting============="))
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
XXXIX | P a g i n a
####################correct for nodes that where not updated###################### THESIS_STIJN_SAMPLE_DIFUSSION <- sqldf( c("UPDATE THESIS_STIJN_SAMPLE_DIFUSSION SET STATE = 0 where STATE = 2", "select * from main.THESIS_STIJN_SAMPLE_DIFUSSION")) } # update iteration paramaters v_TIME_loop <- v_TIME_loop +1 v_TIME_diffusion <- get_TIME()
print(paste("diffusion TIME:", v_TIME_diffusion,"")) print(paste("loop TIME:",v_TIME_loop,"")) } } else if (model == "LEER") { print(paste("============model == leer =============")) load(file="THESIS_STIJN_SAMPLE_DIFUSSION.RData") load( file="THESIS_STIJN_SAMPLE.RData") print(paste("============intialize=============")) ##############initialize############## if(start) { print(" start set is given by user") #Reverse order of ID1 and ID2
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
XL | P a g i n a
THESIS_STIJN_TEMP <- as.data.frame(cbind(THESIS_STIJN_SAMPLE$ID2,THESIS_STIJN_SAMPLE$ID1)) colnames(THESIS_STIJN_TEMP)<-c("ID1","ID2") #create table so that each side of the relationship is represented in ID1 THESIS_STIJN_TEMP <- rbind(THESIS_STIJN_TEMP,THESIS_STIJN_SAMPLE[,c(1,2)]) #for all nodes in ID1 count the amount of relationships they have degree <- aggregate(list(THESIS_STIJN_TEMP$ID2),list(THESIS_STIJN_TEMP$ID1),FUN=length) colnames(degree)<-c("ID","degree") degree<-degree[order(degree$degree),] #Simulations# if(simulatie == "high_degree") ####all nodes have high degree {print("high degree started") starters_high <- as.data.frame(tail(degree$ID,250)) randomIDS <- starters_high colnames(randomIDS)<- c("ID") }else if( simulatie =="low_degree") #### all nodes have low degree { print("low degree started") starters_low <- as.data.frame(head(degree$ID,250)) randomIDS <- starters_low
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
XLI | P a g i n a
colnames(randomIDS)<- c("ID") }else if (simulatie =="one_high") ###at least one knoop with high degree { print("one high started") as.data.frame(tail(degree,1)) ###rest of IDs is randomly choosen THESIS_STIJN_SAMPLE_DIFUSSION<- THESIS_STIJN_SAMPLE_DIFUSSION[order(runif(nrow(THESIS_STIJN_SAMPLE_DIFUSSION))),] randomIDS <- as.data.frame(head(THESIS_STIJN_SAMPLE_DIFUSSION$ID,249)) colnames(randomIDS) <- c("ID") randomIDS <- rbind(tail(degree$ID,1),randomIDS) }else if (simulatie == "friends") ###### all starting nodes consists of groups of at least 3 friends(start in clusters) ###### { print("friends started") temp<-THESIS_STIJN_SAMPLE[order(runif(nrow(THESIS_STIJN_SAMPLE))),] temp$number <- seq(1:nrow(temp)) #initialize while loop count <- 0
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
XLII | P a g i n a
# initialize not existing ID randomIDS <- as.data.frame(c(-1)) # initialize not existing ID colnames(randomIDS)<- c("ID") #initialze rows to pass through i<- 1 while(count <= 250){ #Look for friends of 2 nodes in a relationship temp$friend1 <- ifelse(temp$ID1==temp$ID1[i],temp$ID2,0) temp$friend2 <- ifelse(temp$ID1==temp$ID2[i],temp$ID2,0) temp$friend3 <- ifelse(temp$ID2==temp$ID1[i],temp$ID1,0) temp$friend4 <- ifelse(temp$ID2==temp$ID2[i],temp$ID1,0) temper<- as.data.frame(unique(temp$friend1)) temper1<- as.data.frame(unique(temp$friend2)) temper2<- as.data.frame(unique(temp$friend3)) temper3<- as.data.frame(unique(temp$friend4)) colnames(temper)<-c("ID") colnames(temper1)<-c("ID") colnames(temper2)<-c("ID") colnames(temper3)<-c("ID") #put number of friends in one variable temper <- rbind(temper,temper1,temper2,temper3) temper <- aggregate(list(temper$ID),list(temper$ID),FUN=length) colnames(temper)<-c("ID","count") #only update the knoop if he is a friend of both ID1 and ID2 of the relationship
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
XLIII | P a g i n a
update <- as.data.frame(temper[which(temper$count == 2),1]) colnames(update)<-c("ID") # at to start population if(nrow(update) == 0) { count = count + 0} else{ #include the 2 nodes of the relationship nodes <- as.data.frame(c(temp$ID1[i],temp$ID2[i])) colnames(nodes)<-c("ID") randomIDS <- rbind(randomIDS,update,nodes) #correct for turned relationships randomIDS <- unique(randomIDS) #keep track of the relative slow process count <- nrow(randomIDS) print(paste("number of friends found: ",count,"")) } i <- i+1 } } else if(simulatie == "negative"){ ###### start population includes negative opinions###### randomIDS <- as.data.frame(THESIS_STIJN_SAMPLE_DIFUSSION$ID) randomIDS<- as.data.frame(randomIDS[order(runif(nrow(randomIDS))),]) colnames(randomIDS) <- c("ID") randomIDS <- as.data.frame(head(randomIDS$ID,250))
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
XLIV | P a g i n a
colnames(randomIDS) <- c("ID") } else{ cat("select a simulation to perform, startin nodes have following characteristics: friends:all starting nodes are friends (start in different clusters) one_high: at least one knoop with high degree low_degree:all nodes have low degree high_degree:all nodes have high degree")} } else{ ####randomly select 2.5% of IDs for starting population##### ##initialized set must have positive thougth about hype (not perse with 95 %) randomIDS <- THESIS_STIJN_SAMPLE_DIFUSSION[which(THESIS_STIJN_SAMPLE_DIFUSSION$MEAN >= 0),] randomIDS<- randomIDS[order(runif(nrow(randomIDS))),] randomIDS <- as.data.frame(head(randomIDS$ID,250)) colnames(randomIDS) <- c("ID")
} ####update random IDS###### THESIS_STIJN_SAMPLE_DIFUSSION <- sqldf( c(" UPDATE THESIS_STIJN_SAMPLE_DIFUSSION SET STATE=1 , TIME = 1 where ID in (select ID from randomIDS)", "select * from main.THESIS_STIJN_SAMPLE_DIFUSSION")) rm(randomIDS) #start loop
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
XLV | P a g i n a
while (v_TIME_loop <= v_TIME_diffusion){ rm(list=setdiff(ls(),c("model","netwerk","seed","start","simulatie","THESIS_STIJN_SAMPLE", "get_TIME","v_TIME_loop","get_TIME","v_TIME_diffusion","THESIS_STIJN_SAMPLE_DIFUSSION"))) print(paste("============Identify Affected nodes=============")) #############Identify nodes that are affected by infected nodes############## active <- sqldf("select * from THESIS_STIJN_SAMPLE_DIFUSSION where STATE = 1 ") activenew <- sqldf("select * from THESIS_STIJN_SAMPLE_DIFUSSION where STATE = 1 AND TIME = (select max(TIME) from THESIS_STIJN_SAMPLE_DIFUSSION) ") #active print(paste("number of active nodes",nrow(active)," of wich",nrow(activenew),"new ones")) #update the ID1s that are affected by infected nodes THESIS_STIJN_SAMPLE_DIFUSSION <- sqldf( c(" UPDATE THESIS_STIJN_SAMPLE_DIFUSSION SET STATE=2 where ID in (select distinct ID1 as ID from (select * from THESIS_STIJN_SAMPLE where ID2 in ( select ID -- ID2 is active from active) and ID1 not in (select ID -- ID1 not yet active from active) and USED = 0 --not yet influenced by that active ID2 ))", "select * from main.THESIS_STIJN_SAMPLE_DIFUSSION"))
affectedTHRESHOLD <- sqldf("select * from THESIS_STIJN_SAMPLE_DIFUSSION where STATE = 2 ")
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
XLVI | P a g i n a
if(length(affectedTHRESHOLD$ID) == 0) { #initialize with non-existing ID affectedTHRESHOLD <- as.data.frame(c(-1)) colnames(affectedTHRESHOLD) <- c("ID") print(" no active ID2s") } #update the ID2s that are affected by infected nodes THESIS_STIJN_SAMPLE_DIFUSSION <- sqldf( c(" UPDATE THESIS_STIJN_SAMPLE_DIFUSSION SET STATE=2 where ID in (select distinct ID2 as ID from (select * from THESIS_STIJN_SAMPLE where ID1 in ( select ID -- ID1 is active from active) and ID2 not in (select ID -- ID2 not yet active from active) and ID2 not in (select distinct ID -- only the new ID2s(not yet in ID1) from affectedTHRESHOLD) and USED = 0 --not yet influence by that active ID1 )) ", "select * from main.THESIS_STIJN_SAMPLE_DIFUSSION")) affectedTHRESHOLD <- sqldf("select * from THESIS_STIJN_SAMPLE_DIFUSSION where STATE = 2 ") print(paste("number of IDs that are affected:",length(affectedTHRESHOLD$ID),"")) if(length(affectedTHRESHOLD$ID)== 0) { v_TIME_loop <- v_TIME_loop +5 } else { # Identify which relationships used between the active nodes and the affected nodes
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
XLVII | P a g i n a
THESIS_STIJN_SAMPLE <- sqldf( c("update THESIS_STIJN_SAMPLE set USED = 2 -- turn USED relationships(from the active) into activated where USED != 1 and (( ID1 in ( select ID from affectedTHRESHOLD) and ID2 in (select ID from active)) or (ID2 in ( select ID from affectedTHRESHOLD) and ID1 in (select ID from active))) ", "select * from main.THESIS_STIJN_SAMPLE")) #numbe of infecting relationships counting <- sqldf(c("select count(IDRELATIONSHIP) -- all relationships from influencing nodes from THESIS_STIJN_SAMPLE where USED = 2"))
##############signal updating step############# # check if their are influencing relationships between active nodes and affected nodes if (length(counting) == 0 | counting == 0){ v_TIME_loop <- v_TIME_loop +5 print(paste("no more influencing relationships")) } else { print(paste("number of influencing relationships of affected nodes : ",counting,"")) timer <- get_TIME() + 1 timer <- as.data.frame(timer) counting<- as.numeric(sqldf(c("select * from counting ")))
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
XLVIII | P a g i n a
temp <- sqldf(c("select ID from affectedTHRESHOLD")) print(paste("number of IDs influenced : ",length(temp$ID),""))
if (length(temp$ID) == 0){ #check if their influenced nodes v_TIME_loop <- v_TIME_loop +5 } else{ temp <- as.data.frame(unique(temp$ID)) colnames(temp)<- c("ID") # all influenced nodes <= all influenced relationships print(paste("check: number of influeced nodes top update",nrow(temp),"=<",counting,' influencing relationships on these nodes')) print(paste("============updating============="))
####updating of the individual nodes' signal #identify the infecting knoop and affected knoop for each relationship between active and affected affectedREL<-sqldf(" select * from THESIS_STIJN_SAMPLE where USED = 2") affectedREL$infected <-ifelse(affectedREL$ID1 %in% (active$ID), 1, 2 ) affectedREL$affected <- ifelse(affectedREL$infected == 1, affectedREL$ID2,affectedREL$ID1) affectedREL$infected <- ifelse(affectedREL$infected == 2, affectedREL$ID2,affectedREL$ID1) #get the original mean and variance for affected variable
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
XLIX | P a g i n a
meanvar<- THESIS_STIJN_SAMPLE_DIFUSSION[,c(1,4,5)] affectedREL <- merge(affectedREL,meanvar,by.x="affected",by.y="ID",all.x=TRUE) #get the original mean and variance for infecting variable colnames(meanvar)<- c("ID","VARinfect","MEANinfect") affectedREL <- merge(affectedREL,meanvar,by.x="infected",by.y="ID",all.x=TRUE) #get number of influencers for each affected knoop affectedREL<- affectedREL[order(affectedREL$affected),] numberinfluencers<- aggregate(list(affectedREL$USED),list(affectedREL$affected),FUN=length) colnames(numberinfluencers) <- c("ID","count") affectedREL <- merge(affectedREL,numberinfluencers,by.x="affected",by="ID") #Identify if it is the first affecting influencer affectedREL$flag<- !duplicated( affectedREL[, 1 ])
for(k in 1:nrow(affectedREL)) { # for each row
if( affectedREL$flag[k] ) { #for each first observation per affected alpha <- affectedREL$VARIANCE[k]/affectedREL$VARinfect[k] affectedREL$newvar[k] <- affectedREL$VARIANCE[k]*affectedREL$VARinfect[k]/( affectedREL$VARIANCE[k]+affectedREL$VARinfect[k]) affectedREL$newmean[k] <- affectedREL$MEANinfect[k]*alpha+affectedREL$MEAN[k]*(1-alpha) } else { # for each second, third,...observation per affected j <- k-1 y <- affectedREL$newvar[j] # take already updated var & mean
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
L|P a g i na
z <-affectedREL$newmean[j] alpha <- y/affectedREL$VARinfect[k] affectedREL$newvar[k] <- y*affectedREL$VARinfect[k]/( y+affectedREL$VARinfect[k]) affectedREL$newmean[k] <- affectedREL$MEANinfect[k]*alpha+z*(1-alpha) } }
# take each lastly updated value for the mean and Variance of an affected knoop to become the new variance and mean affectedREL$ref <- seq(1:nrow(affectedREL)) affectedKNOOP <- sqldf(c("select * from affectedREL -- make sure we only take the latest updated value per affected knoop where ref in (select max(ref) as ref from affectedREL group by affected)")) affectedKNOOP<-affectedKNOOP[,c("affected","newvar","newmean")] THESIS_STIJN_SAMPLE_DIFUSSION <- merge(THESIS_STIJN_SAMPLE_DIFUSSION,affectedKNOOP,by.x="ID",by.y="affected",all.x= TRUE) THESIS_STIJN_SAMPLE_DIFUSSION$MEAN
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
LI | P a g i n a
print(paste("==================Difussion step started=============")) ##############diffusion_step############## THESIS_STIJN_SAMPLE_DIFUSSION$updated <- THESIS_STIJN_SAMPLE_DIFUSSION$MEAN - 1.96*THESIS_STIJN_SAMPLE_DIFUSSION$VARIANCE THESIS_STIJN_SAMPLE_DIFUSSION$updated <-ifelse(THESIS_STIJN_SAMPLE_DIFUSSION$update > 0,1,0) THESIS_STIJN_SAMPLE_DIFUSSION <- sqldf( c("UPDATE THESIS_STIJN_SAMPLE_DIFUSSION SET STATE=1, TIME = (select timer from timer) where updated = 1 and STATE = 2 ", "select * from main.THESIS_STIJN_SAMPLE_DIFUSSION")) THESIS_STIJN_SAMPLE_DIFUSSION$updated <-NULL print(paste("updated number of nodes= new nodes:",nrow(sqldf(c("select ID from THESIS_STIJN_SAMPLE_DIFUSSION where TIME = (select timer from timer)"))),"")) print(paste("============correction started==========")) ####################correct all affected noes and those that are activated##################### THESIS_STIJN_SAMPLE_DIFUSSION <- sqldf( c("UPDATE THESIS_STIJN_SAMPLE_DIFUSSION --those that where not updated SET STATE=0 where STATE = 2", "select * from main.THESIS_STIJN_SAMPLE_DIFUSSION"))
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
LII | P a g i n a
THESIS_STIJN_SAMPLE <- sqldf( c("UPDATE THESIS_STIJN_SAMPLE --each relationship that is active, kan only update one time SET USED=1 where USED = 2", "select * from main.THESIS_STIJN_SAMPLE"))
} } } #update iteration variables v_TIME_loop <- v_TIME_loop +1 v_TIME_diffusion <- get_TIME() print(paste("diffusion TIME:", v_TIME_diffusion,"")) print(paste("loop TIME:",v_TIME_loop,"")) } }
else { cat(paste("select a kind of difussion model: Thresholdmodel -> INFLUENCE Social learning model -> LEER Cascademodel -> CASCADE ")) if(start) { print(" start set is given by user")} else{ print(" no start set given by user")} }
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
LIII | P a g i n a
######################################################################################################## ##########################################EXTRACT results############################################### ######################################################################################################## figure<-sqldf( c("select count(ID),TIME from THESIS_STIJN_SAMPLE_DIFUSSION group by TIME")) colnames(figure)<-c("count","TIME") figure$count[1] <- 0 figure$cum <-cumsum(figure$count) save(figure, file="figure.RData")
THESIS_STIJN_END <- THESIS_STIJN_SAMPLE_DIFUSSION save(THESIS_STIJN_END ,file="results.RData") }
############################################################## ################options for run_code########################## ############################################################## ## difussiemodel #Thresholdmodel -> BESMETTING #Social learning model -> LEER
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
LIV | P a g i n a
#Chance model -> CHANCE ##netwerk #Scale-free -> BA #Small world -> SW #Random -> RAND #facebook sample -> SAMPLE ##seed: set seed the same for all models ## start: do simulatie based on starting set: TRUE/FALSE ## simlatie #friends<-all starting knoops are friends (start in different clusters) #one_high<- at least one knoop with high degree #high_degree<-all knoops have high degree #high_degree<-all knoops have high degree #negative <-negatice start possible
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
LV | P a g i n a
BIJLAGE 1.2: UITVOEREN MODELLERING EN SIMULATIES
# change the model # using ctrl+F library("xlsx") seeder <- 123 rm(list=setdiff(ls(),c("seeder","run_code"))) ################################# #friends<-all starting nodes are friends (start in different clusters) #one_high<- at least one knoop with high degree #high_degree<-all nodes have high degree #high_degree<-all nodes have high degree #negative <-negatice start possible ################################ ################################# #INFLUENCE<-social influence #CASCADE<- cascade #Leer<-social learning ################################ # change setwd for each simulation so that all are stored in differen directory #################################INFLUENCE = Social Influence################################### ################################# SOCIAL INFLUENCE - SMALL WORLD setwd("C://Users//Styn//Documents//Thesis") run_code(model= "INFLUENCE" ,netwerk= "SW",seed = seeder,start=FALSE,simulatie="high_degree") setwd("C://Users//Styn//Documents//Thesis")
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
LVI | P a g i n a
load(file="figure.RData") load(file="results.RData") setwd(paste("C://Users//Styn//Documents//Thesis//iterations//",seeder,sep="")) result_INFLUENCE_SW <- THESIS_STIJN_END figure_INFLUENCE_SW <- figure save(figure_INFLUENCE_SW ,file=paste("figure_INFLUENCE_SW",seeder,".RData")) save(result_INFLUENCE_SW ,file=paste("result_INFLUENCE_SW",seeder,".RData")) #################################SOCIAL INFLUENCE - SCALE FREE setwd("C://Users//Styn//Documents//Thesis") run_code(model="INFLUENCE",netwerk="BA",seed=seeder,start=FALSE,simulatie="high_degree") setwd("C://Users//Styn//Documents//Thesis") load(file="figure.RData") load(file="results.RData") setwd(paste("C://Users//Styn//Documents//Thesis//iterations//",seeder,sep="")) figure_INFLUENCE_BA <- figure result_INFLUENCE_BA <- THESIS_STIJN_END save(figure_INFLUENCE_BA ,file=paste("figure_INFLUENCE_BA",seeder,".RData")) save(result_INFLUENCE_BA ,file=paste("result_INFLUENCE_BA",seeder,".RData")) #################################SOCIAL INFLUENCE - RANDOM NETWORK setwd("C://Users//Styn//Documents//Thesis") run_code(model="INFLUENCE",netwerk="RAND",seed=seeder,start=FALSE,simulatie="high_degree") setwd("C://Users//Styn//Documents//Thesis") load(file="figure.RData") load(file="results.RData")
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
LVII | P a g i n a
setwd(paste("C://Users//Styn//Documents//Thesis//iterations//",seeder,sep="")) figure_INFLUENCE_RAND <- figure result_INFLUENCE_RAND <- THESIS_STIJN_END save(figure_INFLUENCE_RAND ,file=paste("figure_INFLUENCE_RAND",seeder,".RData")) save(result_INFLUENCE_RAND,file=paste("result_INFLUENCE_RAND",seeder,".RData")) ################################# Cascade################################### #################################CASCADE - SMALL WORLD setwd("C://Users//Styn//Documents//Thesis") run_code(model= "CASCADE" ,netwerk= "SW",seed = seeder,start=FALSE,simulatie="high_degree") setwd("C://Users//Styn//Documents//Thesis") load(file="figure.RData") load(file="results.RData") setwd(paste("C://Users//Styn//Documents//Thesis//iterations//",seeder,sep="")) result_CASCADE_SW <- THESIS_STIJN_END figure_CASCADE_SW <- figure save(figure_CASCADE_SW ,file=paste("figure_CASCADE_SW",seeder,".RData")) save(result_CASCADE_SW ,file=paste("result_CASCADE_SW",seeder,".RData")) ##################################CASCADE - SCALE FREE setwd("C://Users//Styn//Documents//Thesis") run_code(model="CASCADE",netwerk="BA",seed=seeder,start=FALSE,simulatie="high_degree") setwd("C://Users//Styn//Documents//Thesis") load(file="figure.RData") load(file="results.RData")
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
LVIII | P a g i n a
setwd(paste("C://Users//Styn//Documents//Thesis//iterations//",seeder,sep="")) figure_CASCADE_BA <- figure result_CASCADE_BA <- THESIS_STIJN_END save(figure_CASCADE_BA ,file=paste("figure_CASCADE_BA",seeder,".RData")) save(result_CASCADE_BA ,file=paste("result_CASCADE_BA",seeder,".RData")) ##################################CASCADE - RANDOM NETWORK setwd("C://Users//Styn//Documents//Thesis") run_code(model="CASCADE",netwerk="RAND",seed=seeder,start=FALSE,simulatie="high_degree") setwd("C://Users//Styn//Documents//Thesis") load(file="figure.RData") load(file="results.RData") setwd(paste("C://Users//Styn//Documents//Thesis//iterations//",seeder,sep="")) figure_CASCADE_RAND <- figure result_CASCADE_RAND <- THESIS_STIJN_END save(figure_CASCADE_RAND ,file=paste("figure_CASCADE_RAND",seeder,".RData")) save(result_CASCADE_RAND,file=paste("result_CASCADE_RAND",seeder,".RData"))
#################################LEER################################### ##################################SOCIAL LEARNING - SMALL WORLD setwd("C://Users//Styn//Documents//Thesis") run_code(model= "LEER" ,netwerk= "SW",seed = seeder,start=FALSE,simulatie="high_degree") setwd("C://Users//Styn//Documents//Thesis") load(file="figure.RData") load(file="results.RData") setwd(paste("C://Users//Styn//Documents//Thesis//iterations//",seeder,sep=""))
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
LIX | P a g i n a
result_LEER_SW <- THESIS_STIJN_END figure_LEER_SW <- figure save(figure_LEER_SW ,file=paste("figure_LEER_SW",seeder,".RData")) save(result_LEER_SW ,file=paste("result_LEER_SW",seeder,".RData")) #################################SOCIAL LEARNING - SCALE FREE setwd("C://Users//Styn//Documents//Thesis") run_code(model="LEER",netwerk="BA",seed=seeder,start=FALSE,simulatie="high_degree") setwd("C://Users//Styn//Documents//Thesis") load(file="figure.RData") load(file="results.RData") setwd(paste("C://Users//Styn//Documents//Thesis//iterations//",seeder,sep="")) figure_LEER_BA <- figure result_LEER_BA <- THESIS_STIJN_END save(figure_LEER_BA ,file=paste("figure_LEER_BA",seeder,".RData")) save(result_LEER_BA ,file=paste("result_LEER_BA",seeder,".RData")) #################################SOCIAL LEARNING - RANDOM NETWORK setwd("C://Users//Styn//Documents//Thesis") run_code(model="LEER",netwerk="RAND",seed=seeder,start=FALSE,simulatie="high_degree") setwd("C://Users//Styn//Documents//Thesis") load(file="figure.RData") load(file="results.RData") setwd(paste("C://Users//Styn//Documents//Thesis//iterations//",seeder,sep="")) figure_LEER_RAND <- figure
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
LX | P a g i n a
result_LEER_RAND <- THESIS_STIJN_END save(figure_LEER_RAND ,file=paste("figure_LEER_RAND",seeder,".RData")) save(result_LEER_RAND,file=paste("result_LEER_RAND",seeder,".RData"))
################################# EXTRACT RESULTS & Save them to excel#################### #####SOCIAL INFLUENCE MODEL rm(list=setdiff(ls(),c("seeder","run_code"))) #Load results & figures setwd(paste("C://Users//Styn//Documents//Thesis//iterations//",seeder,sep="")) load(file=paste("result_INFLUENCE_RAND",seeder,".RData")) load(file=paste("figure_INFLUENCE_RAND",seeder,".RData")) load(file=paste("result_INFLUENCE_BA",seeder,".RData")) load(file=paste("figure_INFLUENCE_BA",seeder,".RData")) load(file=paste("result_INFLUENCE_SW",seeder,".RData")) load(file=paste("figure_INFLUENCE_SW",seeder,".RData")) #save results in excel file write.xlsx(figure_INFLUENCE_RAND, file=paste("figure_INFLUENCE_RAND",seeder,".xlsx")) write.xlsx(figure_INFLUENCE_BA, file=paste("figure_INFLUENCE_BA",seeder,".xlsx")) write.xlsx(figure_INFLUENCE_SW, file=paste("figure_INFLUENCE_SW",seeder,".xlsx")) #### CASCADEMODEL setwd(paste("C://Users//Styn//Documents//Thesis//iterations//",seeder,sep="")) #Load results & figures load(file=paste("result_CASCADE_RAND",seeder,".RData")) load(file=paste("figure_CASCADE_RAND",seeder,".RData")) load(file=paste("result_CASCADE_BA",seeder,".RData")) load(file=paste("figure_CASCADE_BA",seeder,".RData")) load(file=paste("result_CASCADE_SW",seeder,".RData")) load(file=paste("figure_CASCADE_SW",seeder,".RData")) #save results in excel file write.xlsx(figure_CASCADE_RAND, file=paste("figure_CASCADE_RAND",seeder,".xlsx"))
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
LXI | P a g i n a
write.xlsx(figure_CASCADE_BA, file=paste("figure_CASCADE_BA",seeder,".xlsx")) write.xlsx(figure_CASCADE_SW, file=paste("figure_CASCADE_SW",seeder,".xlsx")) ###SOCIAL LEARNING MODEL setwd(paste("C://Users//Styn//Documents//Thesis//iterations//",seeder,sep="")) #Load results & figures load(file=paste("result_LEER_RAND",seeder,".RData")) load(file=paste("figure_LEER_RAND",seeder,".RData")) load(file=paste("result_LEER_BA",seeder,".RData")) load(file=paste("figure_LEER_BA",seeder,".RData")) load(file=paste("result_LEER_SW",seeder,".RData")) load(file=paste("figure_LEER_SW",seeder,".RData")) #save results in excel file write.xlsx(figure_LEER_RAND, file=paste("figure_LEER_RAND",seeder,".xlsx")) write.xlsx(figure_LEER_BA, file=paste("figure_LEER_BA",seeder,".xlsx")) write.xlsx(figure_LEER_SW, file=paste("figure_LEER_SW",seeder,".xlsx"))
################### PLOT RESULTS ############### ggplot(figure_INFLUENCE_SW)+ geom_line(mapping=aes(x=TIME,y=cum),col='blue',lwd=1)+ geom_line(mapping=aes(x=TIME,y=count),col='red',lwd=1)
ggplot(figure_INFLUENCE_BA)+ geom_line(mapping=aes(x=TIME,y=cum),col='blue',lwd=1)+ geom_line(mapping=aes(x=TIME,y=count),col='red',lwd=1) ggplot(figure_INFLUENCE_RAND)+ geom_line(mapping=aes(x=TIME,y=cum),col='blue',lwd=1)+ geom_line(mapping=aes(x=TIME,y=count),col='red',lwd=1)
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
LXII | P a g i n a
ggplot(figure_CASCADE_SW)+ geom_line(mapping=aes(x=TIME,y=cum),col='blue',lwd=1)+ geom_line(mapping=aes(x=TIME,y=count),col='red',lwd=1)
ggplot(figure_CASCADE_BA)+ geom_line(mapping=aes(x=TIME,y=cum),col='blue',lwd=1)+ geom_line(mapping=aes(x=TIME,y=count),col='red',lwd=1)
ggplot(figure_CASCADE_RAND)+ geom_line(mapping=aes(x=TIME,y=cum),col='blue',lwd=1)+ geom_line(mapping=aes(x=TIME,y=count),col='red',lwd=1) ggplot(figure_LEER_SW)+ geom_line(mapping=aes(x=TIME,y=cum),col='blue',lwd=1)+ geom_line(mapping=aes(x=TIME,y=count),col='red',lwd=1) ggplot(figure_LEER_BA)+ geom_line(mapping=aes(x=TIME,y=cum),col='blue',lwd=1)+ geom_line(mapping=aes(x=TIME,y=count),col='red',lwd=1)
ggplot(figure_LEER_RAND)+ geom_line(mapping=aes(x=TIME,y=cum),col='blue',lwd=1)+ geom_line(mapping=aes(x=TIME,y=count),col='red',lwd=1)
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
LXIII | P a g i n a
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf
Verspreidingsmodellen voor hypes in sociale netwerken Stijn Casneuf