faculteit Wiskunde en Natuurwetenschappen
Introductie tot het stochastisch actor-georiënteerd model
Een beschrijving en toepassing van het model
Masteronderzoek wiskunde
Opleiding: MSc Educatie en Communicatie Augustus 2014
Student: F. Doddema
Eerste begeleider: Prof. dr. E.C. Wit
Samenvatting
Het stochastisch actor-geori¨enteerd model is bedoeld om aan de hand van longitu- dinale data de ontwikkeling van sociale netwerken te bestuderen. Met het model kan verklaard worden waarom relaties worden aangegaan of verbroken in sociale netwer- ken. Deze scriptie geeft een inleiding tot dit model. De beschrijving wordt vergezeld door een korte inleiding in RSiena, een package in R waarmee data geanalyseerd kan worden. Tevens wordt het model toegepast op data die in het kader van deze scriptie verzameld is op een middelbare school in Noord-Nederland. Er wordt onder andere onderzocht of de mening van de leerlingen ten aanzien van school invloed heeft op het ontstaan van vriendschapsrelaties en of vrienden elkaars mening ten aanzien van school be¨ınvloeden.
Inhoudsopgave
1 Inleiding 5
2 Het stochastisch actor-geori¨enteerd model 7
2.1 Wiskundige notatie . . . 7
2.1.1 Netwerk . . . 7
2.1.2 Gedrag . . . 10
2.1.3 Covariaten . . . 11
2.1.4 Model . . . 12
2.2 Aannames van het model . . . 12
2.3 Microstappen . . . 13
2.4 Nutsfunctie . . . 14
2.4.1 Netwerkdynamiek . . . 14
2.4.2 Gedragsdynamiek . . . 15
2.4.3 Effecten . . . 15
2.4.4 Tijdheterogeniteit . . . 17
2.5 Parameters schatten . . . 18
2.5.1 Methode van momenten . . . 18
2.5.2 Iteratieve procedure . . . 19
2.6 Data eisen . . . 26
2.7 Netwerkautocorrelatie . . . 27
2.8 Missende data . . . 28
3 Mening scholieren ten aanzien van school 29 3.1 Data . . . 29
3.1.1 Pilot-versie . . . 29
3.1.2 Privacy . . . 30
3.1.3 Actoren . . . 30
3.1.4 Jaccard index . . . 30
3.1.5 Nominaties . . . 31
3.1.6 Bijzonderheden . . . 35
3.1.7 Netwerken . . . 36
3.2 Beschrijvende Statistiek . . . 43
3.2.1 Klassenindeling . . . 43
3.3 Netwerk vrienden 1 . . . 47
3.3.1 Verwachtingen . . . 47
3.3.2 Resultaten . . . 47
3.3.3 Interpretatie . . . 48
3.4 Netwerk vrienden 2 . . . 48
3.4.1 Verwachtingen . . . 48
3.4.2 Resultaten . . . 49
3.4.3 Interpretatie . . . 49
3.5 Netwerk vrienden 3 . . . 49
3.5.1 Resultaten . . . 50
3.5.2 Interpretatie . . . 50
3.6 Netwerk vrienden met mening school gedrag 1 . . . 51
3.6.1 Resultaten . . . 51
3.6.2 Interpretatie . . . 52
3.7 Netwerk vrienden met mening school gedrag 2 . . . 52
3.7.1 Resultaten . . . 53
3.7.2 Interpretatie . . . 54
3.8 Netwerk niet aardig . . . 54
3.8.1 Verwachtingen . . . 54
3.8.2 Resultaten . . . 55
3.8.3 Interpretatie . . . 55
4 Conclusie 56 5 Discussie 57 A Effecten 59 B Diagrammen bij data-analyse 62 B.1 Netwerk vrienden 1 . . . 62
B.2 Netwerk vrienden 2 . . . 65
B.3 Netwerk vrienden 3 . . . 68
B.4 Netwerk vrienden met mening school gedrag 1 . . . 71
B.5 Netwerk vrienden met mening school gedrag 2 . . . 74
B.6 Netwerk niet aardig . . . 77
C Vragenlijst pilot 80
D Vragenlijst onderzoek 89
1 Inleiding
Netwerken zien we elke dag om ons heen. Als we bijvoorbeeld naar een klas op een middelbare school kijken, dan zien we dat bepaalde leerlingen bevriend zijn met andere leerlingen. Andere leerlingen zijn juist niet bevriend met elkaar. Een ander voorbeeld van een netwerk is het geheel van verschillende zakenrelaties tussen bepaalde bedrijven.
We noemen het geheel van relaties (bijvoorbeeld vriendschappen) tussen verschillende actoren (bijvoorbeeld leerlingen) het netwerk. Het interessante aan netwerken is dat ze niet constant zijn; netwerken zijn ‘dynamisch’. Dit betekent dat relaties tussen actoren in een netwerk worden verbroken en andere relaties worden aangegaan. Terugkomend op het voorbeeld van de leerlingen op een school; sommige vriendschappen worden ge- sloten, andere worden verbroken. Sociologen zijn ge¨ınteresseerd in het sociale gedrag van de mens en dit gedrag kan bestudeerd worden aan de hand van sociale netwerken waar mensen deel van uitmaken. Zij proberen bijvoorbeeld te analyseren waarom rela- ties worden aangegaan of verbroken. Reciprociteit (wederzijdse relatie) of transitiviteit (relaties in driehoekstructuur), kunnen hier de oorzaak van zijn. Deze mogelijke redenen voor netwerkvorming, die later in deze scriptie uitgebreid behandeld zullen worden, zijn puur structureel: het ontstaan van een relatie wordt verklaard vanuit het al bestaan van
´
e´en of meer andere relaties. Naast netwerkstructuren kunnen ook bepaalde gedragsei- genschappen van de verschillende actoren een rol spelen. Bekende patronen zijn selectie en be¨ınvloeding, deze patronen worden verderop uitgelegd met een voorbeeld. Op die manieren kan het netwerk het gedrag van de actoren be¨ınvloeden, maar het gedrag kan ook het netwerk be¨ınvloeden. In [10] worden de vriendschappen tussen leerlingen op een middelbare school in Schotland (1995-1997) als netwerk beschouwd. Er wordt gekeken naar de invloed van het netwerk op de tabak- en alcoholconsumptie van deze leerlingen en de invloed van dat gedrag op het netwerk. In dit voorbeeld betekent selectie dat leer- lingen andere leerlingen als vriend ‘kiezen’ als deze hetzelfde gedrag vertonen in tabak en alcohol consumptie. Be¨ınvloeding betekent juist dat leerlingen hun gedrag aanpassen, bijvoorbeeld door meer alcohol te gaan drinken, omdat hun vrienden datzelfde gedrag vertonen. In [10] staat beschreven welk patroon (selectie of be¨ınvloeding) een belangrij- kere rol speelt. Deze analyse is gedaan op basis van zogenaamde longitudinale data. Deze data beschrijft het netwerk en de verschillende gedragseigenschappen van de leerlingen zoals gemeten op meerdere momenten. Dezelfde data werd vaker gebruikt in dergelijke studies. Zie bijvoorbeeld [8] waarin de muzieksmaak van de leerlingen werd geanalyseerd en [9] waarin ook de alcoholconsumptie centraal staat.
In deze scriptie zal een introductie worden gegeven van het zogenaamde stochastisch actor-geori¨enteerd model. Met dit model kan de evolutie van het gedrag van sociale ac- toren en het netwerk tussen deze actoren geanalyseerd worden. Tevens zal het model ge¨ıllustreerd worden, waarbij gebruik wordt gemaakt van longitudinale data verzameld op een middelbare school in Noord-Nederland in het schooljaar 2013/2014. Deze data is verzameld in het kader van deze scriptie. In tegenstelling tot eerder genoemde onderzoe- ken, zal hierbij gekeken worden naar de verbanden tussen netwerken en de mening van de leerlingen ten aanzien van school. De data geeft informatie over verschillende net- werken tussen de leerlingen. In de eerder genoemde onderzoeken is vooral gekeken naar vriendschap als relatie in het netwerk. Deze data geeft echter ook informatie over andere netwerken tussen de actoren, zoals de ‘vijandigheid’ tussen te leerlingen. Aan de leerlin-
gen is namelijk ook gevraagd wie ze niet aardig vinden. Andere relaties waar de leerlingen naar gevraagd is, zijn wie ze ‘populair’ vinden, naast wie ze zitten in de klas en me wie ze wel eens afspreken om huiswerk te maken of voor niet school gerelateerde zaken. Voor de verschillende netwerken kan gekeken worden welke invloed deze hebben op de mening van de leerlingen ten aanzien van school. Hiermee wordt bedoeld of leerlingen school
‘leuk’ vinden en of ze zich er op hun gemak voelen. We zijn ge¨ınteresseerd of selectie en be¨ınvloeding in deze context ook een rol spelen. In deze scriptie zal voor het netwerk
‘vrienden’ antwoord gegeven worden op de genoemde vraag. Een dergelijke studie is nog niet eerder gedaan met het actor-geori¨enteerd model. Wel is onderzocht wat het verband is tussen de vriendschappen tussen leerlingen en hun schoolresultaten. Uit [3] blijkt dat leerlingen vrienden worden met leerlingen die ongeveer dezelfde schoolresultaten beha- len. Oftewel, de leerlingen met hoge cijfers worden bevriend met andere leerlingen met hoge cijfers en hetzelfde geldt voor leerlingen met lage cijfers. Leerlingen verbreken hun vriendschap met medeleerlingen met hogere of juist lagere cijfers. Uit hetzelfde onderzoek blijkt echter dat de vriendschappen geen invloed hebben op de schoolresultaten. In het onderzoek dat in deze scriptie wordt besproken, wordt onderzocht of hetzelfde patroon geldt bij de mening van leerlingen ten aanzien van school. Tevens wordt er in deze scriptie gekeken naar het netwerk dat de vijandigheid tussen leerlingen beschrijft. Er zal onder andere gekeken worden of er verschillen zijn tussen jongens en meisjes als het gaat om vijandigheid.
Deze scriptie is als volgt opgebouwd. Sectie 2 geeft een beschrijving van het actor- geori¨enteerd model. In deze beschrijving zal gebruik gemaakt worden van de literatuur die hiervoor is aangegeven. Naast een theoretische beschrijving, zal ook worden beschreven hoe het model gebruikt kan worden met het statistische programma R. Hiertoe zullen we gebruik maken van een fictieve dataset. Hierdoor kan deze scriptie ook als versimpelde handleiding voor RSiena gezien worden. RSiena is het package in R dat voor het actor- geori¨enteerd model gebruik wordt. Het gebruik van R zal steeds omkaderd weergegeven worden, zoals hieronder.
Voor het volgen van de voorbeelden moet een aantal packages ge¨ınstalleerd zijn. Hier- voor zijn de volgende commando’s te gebruiken in R.
> install.packages("RSiena")
> library(RSiena)
> install.packages("network")
> library(network)
> install.packages("sna")
> library(sna)
In sectie 3 zal het model ge¨ıllustreerd worden met behulp van de longitudinale data verzameld op een middelbare school. Deze data is verzameld onder leerlingen van een bepaald leerjaar van een bepaald niveau.
2 Het stochastisch actor-geori¨ enteerd model
We gaan ervan uit dat er een groep bestaat van N actoren. Tussen deze N actoren be- staan relaties. Sommige actoren hebben wel een relatie (bijvoorbeeld vriendschap), andere niet. Dit geheel van relaties noemen we het netwerk. De verschillende actoren vertonen bepaalde gedragingen in meer of mindere mate (bijvoorbeeld roken). Daarnaast bezitten zij eigenschappen die we covariaten noemen. Er bestaan twee soorten covariaten: actor covariaten en dyadische covariaten. Actor covariaten hebben betrekking op een actor als individu, bijvoorbeeld de etnische achtergrond van een persoon. Dyadische covariaten hebben betrekking op eigenschappen van paren actoren, bijvoorbeeld de afstand tussen de woonplaatsen van twee leerlingen. Covariaten kunnen zowel constant als veranderlijk zijn. Het verschil tussen het gedrag en een covariaat is dat we aannemen dat een cova- riaat wel invloed heeft op het gedrag, maar het gedrag niet op een covariaat. Hetzelfde geldt voor een covariaat en het netwerk, een covariaat kan wel het netwerk be¨ınvloeden, maar niet vice versa. Voor de analyse is het dus belangrijk te bepalen of een bepaalde eigenschap een gedragsvariabele of een covariaat is. Hierbij dient dus rekening gehouden te worden met de causaliteit.
Met behulp van het stochastisch actor-geori¨enteerd model (in het vervolg ‘het model’
genoemd) kunnen de verbanden tussen het netwerk, gedrag en de covariaten aan de hand van longitudinale data bestudeerd worden. Deze longitudinale data geeft informatie over het netwerk, het gedrag en de covariaten van de N actoren op verschillende meetmo- menten. Het aantal meetmomenten, M , moet minimaal twee zijn. Het model analyseert welke factoren van invloed zijn op veranderingen in het netwerk en het gedrag. Deze factoren kunnen afhankelijk zijn van het netwerk, het gedrag en de covariaten. Het zou bijvoorbeeld kunnen dat actoren met bepaalde eigenschappen meer relaties hebben dan andere of vaker een bepaald gedrag vertonen.
2.1 Wiskundige notatie 2.1.1 Netwerk
Het netwerk wordt aangegeven met x, waarbij xij(t) staat voor de relatie tussen actor i en j op tijdstip t. Een voorbeeld van zo’n relatie is een vriendschap tussen twee actoren. Een relatie hoeft niet positief te zijn, bijvoorbeeld in het geval van een vijandigheid tussen twee actoren. xij(t) = 1 betekent dat actor i actor j zijn relatiepartner noemt op tijdstip t, xij(t) = 0 betekent dat i j niet zijn relatiepartner noemt. Aangezien een relatie eenzijdig kan zijn, wat betekent dat i j wel een relatiepartner noemt, maar j i niet, kan het zo zijn dat xij(t) = 1 terwijl xji(t) = 0. Verder is xii(t) = 0 voor alle i. We nemen aan dat het netwerk bekend is voor een eindig aantal tijdstippen M , t1 < t2 < . . . < tM (M ≥ 2).
Deze data noteren we met x(t1), x(t2), . . . , x(tM). De netwerkvariable wordt weergeven met X(t).
Het netwerk kan weergegeven worden met een graaf waarin elke knoop een actor voorstelt en elke tak een relatie. Aangezien de relaties zowel eenzijdig als tweezijdig kunnen zijn, zijn de takken gericht. Het sociale netwerk wordt dus weergegeven met een gerichte graaf.
Voorbeeld
In het (fictieve) voorbeeld hebben we te maken met 10 actoren, leerlingen in dit geval (N = 10). Van deze leerlingen wordt op drie momenten (M = 3) gevraagd een korte vragenlijst in te vullen. In deze vragenlijst wordt hen gevraagd met wie van hun medeleerlingen ze bevriend zijn. De grafen in figuur 1 laten de netwerken zien tijdens de drie meetmomenten.
# meetmoment 1
> voorbeeldw1=matrix(c(0,0,1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0, 1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0, 0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,1,0),nrow=10,ncol=10)
> voorbeeldnet1=as.network(voorbeeldw1)
# meetmoment 2
> voorbeeldw2=matrix(c(0,0,1,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0, 1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0, 1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0, 0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,0,1,0),nrow=10,ncol=10)
> voorbeeldnet2=as.network(voorbeeldw2)
# meetmoment 3
> voorbeeldw3=matrix(c(0,1,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,1,0,0, 1,0,0,1,0,1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,0,0,0,0,0,1,0,0,0,0, 0,1,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,1,0,0,0,0,0,0,0,1,0,0, 0,1,0,0,1,0,0,1,0,0,0,1,0,0,0,1,1,0),nrow=10,ncol=10)
> voorbeeldnet3=as.network(voorbeeldw3)
# Drie grafen voor de drie meetmomenten
> coordinaten=plot( voorbeeldnet3, label=c(1,2,3,4,5,6,7,8,9,10) )
> plot( voorbeeldnet2,
label=c(1,2,3,4,5,6,7,8,9,10),coord=coordinaten)
> plot( voorbeeldnet1,
label=c(1,2,3,4,5,6,7,8,9,10),coord=coordinaten)
We defini¨eren de afhankelijke netwerkvariable ‘vriendschap’ als volgt
> vriendschap = sienaNet(array( c( voorbeeldw1, voorbeeldw2, voorbeeldw3),dim = c( 10, 10, 3 ) ) )
1 2
3 4
5 6
7
8
9
10
(a) meetmoment 1
1 2
3 4
5 6
7
8
9
10
(b) meetmoment 2
1 2
3 4
5 6
7
8
9
10
(c) meetmoment 3
Figuur 1: Voorbeeldnetwerken met N = 10 leerlingen en M = 3 meetmomenten
2.1.2 Gedrag
Met Z(t) geven we de gedragsvariabele aan. Ook hier nemen we aan dat de data z(t1), z(t2), . . . , z(tM) bekend is. De variable Z(t) bestaat uit H componenten (H ≥ 1), die staan voor de H te onderzoeken gedragscomponenten, bijvoorbeeld alcoholgebruik en gedrag in roken. Dit schrijven we als Z(t) = (Z1(t), Z2(t), . . . , ZH(t)). Zhi(t) geeft de waarde van de gedragscomponent h voor actor i op tijdstip t.
Voorbeeld
De leerlingen is gevraagd voor elke schoolvak aan te geven hoe leuk ze het vinden. Ze kunnen kiezen uit ‘helemaal niet leuk’, ‘niet leuk’, ‘neutraal’, ‘leuk’ en ‘heel leuk’. Deze antwoorden geven we respectievelijk de scores 1 t/m 5. Voor elke leerling worden de scores gemiddeld en afgerond op een geheel getal. Deze waarden geven een indruk van hoe leuk de leerlingen het vinden om naar school te gaan. Deze waarden zijn bij ons de waarden die bij gedragscomponent Z1(t) horen. We bekijken in het voorbeeld dus ´e´en gedragscomponent.
#gedrag waarde alle schoolvakken (1-5)
> cijferw1=c(3,4,2,3,2,1,2,5,3,1)
> cijferw2=c(3,3,3,2,2,1,3,4,1,4)
> cijferw3=c(4,2,2,2,2,1,4,2,1,5)
> schoolcijfers=cbind(cijferw1,cijferw2,cijferw3)
> schoolcijfers
cijferw1 cijferw2 cijferw3
[1,] 3 3 4
[2,] 4 3 2
[3,] 2 3 2
[4,] 3 2 2
[5,] 2 2 2
[6,] 1 1 1
[7,] 2 3 4
[8,] 5 4 2
[9,] 3 1 1
[10,] 1 4 5
We defini¨eren de afhankelijke gedragsvariabele ‘schoolcijfergedrag’ als volgt
> schoolcijfergedrag <- sienaNet( schoolcijfers, type = "behavior" )
2.1.3 Covariaten
We geven de actor covariaten aan met v, waarbij vik(t) staat voor de waarde van actor i op actor covariaat k op tijdstip t. De dyadische covariaten geven we aan met w, waarbij wkij(t) staat voor de waarde van de covariaat k van de actoren i en j op tijdstip t. We nemen aan dat de covariaten alleen discrete niet-negatieve waarden kunnen aannemen, i.e. vik∈ N en wijk ∈ N.
Voorbeeld
We nemen twee actor covariaten mee in het voorbeeld. De eerste actor covariaat v1 is constant en staat voor het geslacht van elke leerling: 0 staat voor ‘man’ en 1 staat voor
‘vrouw’.
> geslacht = c(0,0,0,0,0,1,0,1,1,1)
> geslacht
[1] 0 0 0 0 0 1 0 1 1 1
> geslacht1=coCovar(geslacht)
De tweede actor covariaat, v2, is variabel, de leeftijd van de leerlingen.
> leeftijd=matrix(c(14,14,14,14,15,14,14,14,13,14,14,14,15,14, 15,14,14,14,14,14,15,15,15,15,16,15,14,15,14,15), ncol=3, nrow=10)
> leeftijd
[,1] [,2] [,3]
[1,] 14 14 15
[2,] 14 14 15
[3,] 14 15 15
[4,] 14 14 15
[5,] 15 15 16
[6,] 14 14 15
[7,] 14 14 14
[8,] 14 14 15
[9,] 13 14 14
[10,] 14 14 15
> leeftijd1=varCovar(leeftijd)
2.1.4 Model
Bij het model onderzoeken we dus het stochastische proces Y (t) = (X(t), Z(t)). We ne- men aan dat de data
y(t1), y(t2), . . . , y(tM) bekend is. Daarnaast zijn de waarden van de verschillende covari- aten, v, bekend voor t1, t2, . . . , tM.
We kunnen als volgt controleren of de covariaten en afhankelijke netwerk- en gedrags- variabelen goed zijn ingevoerd.
> class(vriendschap) [1] "sienaDependent"
> class(schoolcijfergedrag) [1] "sienaDependent"
> class(geslacht1) [1] "coCovar"
> class(leeftijd1) [1] "varCovar"
2.2 Aannames van het model
In het model wordt een aantal aannames gedaan.
1. Het model is ‘actor-geori¨enteerd’. Dit betekent dat een actor zelf ‘bepaalt’ met wie hij bevriend is en welk gedrag hij vertoont.
2. De relaties zijn geen korte gebeurtenissen. We kunnen ze opvatten als een toestand die aanhoudt in de tijd.
3. Het veranderende netwerk en gedrag kunnen, conditioneel op de covariaten, gemo- delleerd worden als een Markov proces. Dit houdt in dat op elk tijdstip de toestand van het netwerk probabilistisch de verandering in de toekomst van het netwerk be- paalt en dat het verleden van het netwerk hier geen invloed meer op heeft. Er wordt dus aangenomen dat alle belangrijke informatie gegeven wordt door de toestand op dat tijdstip. Wiskundig gezien zeggen we dat gegeven de huidige staat Y (t), de toekomstige staat Y (ttoekomst) met ttoekomst > t onafhankelijk is van Y (tverleden) waarbij tverleden< t.
4. Op elk moment t handelen alle actoren conditioneel onafhankelijk van elkaar. Hier- door is de kans op een simultane verandering door twee of meer actoren gelijk aan nul. Dit betekent dat twee of meer actoren niet tegelijkertijd een verandering in het netwerk of gedrag tot stand kunnen brengen. Oftewel, een actor brengt geen verandering aan op een tijdstip t als een andere actor dat doet op tijdstip t.
5. Veranderingen die een actor doet in zijn gedrag en netwerk gebeuren niet tegelijk.
Dit impliceert dat de kans op een simultane verandering van gedrag en netwerk gelijk aan nul is.
6. Een actor kan slechts ´e´en tak of ´e´en gedragscomponent tegelijk kan veranderen. Bij het veranderen van een gedragscomponent kan per stap de waarde van die compo- nent met maximaal 1 verhoogd of verlaagd worden.
Een actor heeft de mogelijkheid om een verandering in het netwerk of gedrag aan te bren- gen op stochastisch bepaalde momenten. In het geval van een netwerkrelatie betekent dit dat een actor een relatie met een andere actor verbreekt of aangaat. Een actor kan in het geval van een gedragsverandering alleen zijn eigen gedrag veranderen op zo’n moment.
Een actor kan er ook voor kiezen geen verandering aan de brengen. Deze kleinste ver- anderingen mogelijk in de evolutie van het netwerk en het gedrag worden ‘microstappen’
genoemd. In sectie 2.3 zal uitgelegd worden hoe de tijd tussen microstappen gemodelleerd wordt.
De data y(t1) wordt gezien als een uitgangspunt voor het stochastische proces.
In het model modelleren we twee zaken:
1. Tijd tussen de microstappen, i.e., op welke momenten krijgen de actoren de moge- lijkheid een verandering aan te brengen.
2. Type veranderingen, i.e., welke verandering brengt een actor aan als hij daar de mogelijkheid voor krijgt.
2.3 Microstappen
In sectie 2.2 is besproken dat het proces gemodelleerd wordt als een Markov proces. Om aan deze eis te voldoen moet de tijd tussen twee microstappen exponentieel verdeeld zijn. De exponenti¨ele verdeling is namelijk in continue tijd de enige verdeling met de zogenaamde ‘vergeet-eigenschap’. Op die manier weten we dat de tijd tussen twee mi- crostappen tmen tm+1onafhankelijk is van de microstappen in het verleden, tkmet k < m.
We onderscheiden de variabelen Ti[X] voor de wachttijd tussen twee microstappen voor netwerkveranderingen en Ti[Z] voor de wachttijd tussen twee microstappen voor gedrags- veranderingen voor actor i. We zeggen dat Ti[X] ∼ Exp(λ[X]i ) en Ti[Z]∼ Exp(λ[Z]i ) waarbij λ[X]i > 0 en λ[Z]i > 0. Dit betekent dat P (T = t) = λe−λt en P (T > t) = e−λt voor T gelijk aan Ti[X] of Ti[Z]. Vanuit de exponenti¨ele verdeling weten we dan dat de verwachte wachttijd voor het netwerk gelijk is aan λ[X]1 en voor het gedrag gelijk aan λ1[Z]. Alle wachttijden zijn bovendien onafhankelijk.
We willen de verdeling weten van de wachttijd tot er een microstap voor het netwerk of het gedrag optreedt voor een willekeurige actor i. Oftewel de verdeling van T∗ = min(T1[X], . . . , TN[X], T1[Z], . . . , Tn[Z]). Voor T∗ geldt dat:
P (T∗> t) = P (min(T1[X], . . . , TN[X], T1[Z], . . . , TN[Z]) > t)
= P (T1[X]> t) · . . . · P (TN[X]> t) · P (T1[Z]> t) · . . . · P (TN[Z]> t)
= e−λ[X]1 t· . . . · e−λ[X]N t· e−λ[Z]1 t· . . . · e−λ[Z]N t
= e−PNi=1(λ[X]i +λ[Z]i )t
Hieruit volgt dat T∗ exponentieel verdeeld is met parameter λtotaal = P
i(λ[X]i + λ[Z]i ).
Dus de wachttijd tot er een microstap voor het netwerk of gedrag optreedt voor een wille- keurige actor i is exponentieel verdeeld met parameter λtotaal. De kans dat de microstap voor actor i voor het netwerk is, is gelijk aan λ[X]i
λtotaal. De kans dat het een microstap voor het gedrag is voor actor i, is λ[Z]i
λtotaal.
Om het model enigszins te vereenvoudigen, nemen we in deze scriptie aan dat de wachttij- den voor verschillende actoren gelijk verdeeld zijn. Hierin volgen we [10]. Voor elke actor is de wachttijd tussen twee microstappen dus exponentieel verdeeld met parameters λ[X]m en λ[Z]m voor respectievelijk het netwerk en het gedrag. De index m geeft een tijdperiode aan met m ∈ [1, M ].
2.4 Nutsfunctie
In sectie 2.3 is besproken hoe de wachttijd tussen twee microstappen wordt gemodelleerd.
Naast het modelleren van de wachttijden, willen we modelleren welke verandering optreedt per microstap. Hierbij spelen twee zogenaamde nutsfuncties een belangrijke rol. De ene functie is voor de veranderingen in het netwerk, de andere voor veranderingen in het gedrag.
2.4.1 Netwerkdynamiek
We nemen aan dat op een zeker moment het netwerk gegeven wordt door x. Welke veran- dering in het netwerk zal optreden op een microstap, wordt bepaald door de nutsfunctie.
De nutsfunctie voor actor i voor het netwerk is een functie die is gedefinieerd op alle mo- gelijke netwerken die kunnen ontstaan als in x ´e´en uitgaande tak van actor i verandert.
De verzameling van deze netwerken noteren we met C. Een element van C, oftewel een mogelijk nieuw netwerk, noteren we met x0. x0 is dus een netwerk die kan ontstaan als actor i ´e´en relatie verbreekt of aangaat. De nutsfunctie geeft aan hoe ‘tevreden’ een actor i zal zijn als hij het oude netwerk x in het nieuwe netwerk x0 verandert gegeven dat actor i de mogelijkheid heeft om een verandering te maken. De nutsfunctie is een lineaire com- binatie van een verzameling componenten, effecten genoemd. De functie wordt gegeven door
fi[X](β, x0, x, z, v, w) =X
k
βk[X]s[X]ki (x0, x, z, v, w).
Hierin is fi[X](β[X], x0, x, z, v, w) de waarde van de nutsfunctie voor het netwerk voor actor i. The k functies s[X]ki (x0, x, z, v, w) zijn de effecten. De effecten zijn functies die afhanke- lijk zijn van het huidige netwerk x, het mogelijke nieuwe netwerk x0, de huidige toestand van de variabele gedrag z en de covariaten v en w. In sectie 2.4.3 zal een aantal effec- ten behandeld worden. De βk[X]’s zijn de gewichten voor de verschillende effecten. Als βk[X] = 0, dan speelt het corresponderende effect geen rol. Als βk[X] > 0 dan is de kans groter om naar een bepaalde toestand te veranderen als de corresponderende effect groter is en vice versa voor β[X]k < 0.
Het model is actor-geori¨enteerd. Dit betekent dat een actor ‘kiest’ welke verandering hij in zijn relaties aanbrengt. Deze keuze wordt als volgt gemodelleerd. De actor veran- dert op een microstap het huidige netwerk x in netwerk x0 (x0 ∈ C) waarvoor
fi[X](β[X], x0, x, z, v, w) + i[X](x0, x, z) maximaal is. Hierin is [X]i (x0, x, z) een variabele die staat voor de onverklaarbare tevredenheid van actor i met het netwerk x0 ten opzichte van x. Deze term wordt ook wel de ‘storings’-term genoemd. We nemen aan dat [X]i (x0, x, z) verdeeld is volgens de Gumbel-verdeling met gemiddelde 0 en schaalparameter 1 [1]. Uit deze aanname volgt dat
P (x → x0) = exp fi[X](β[X], x0, x, z, v, w) P
x00∈C
exp fi[X](β[X], x00, x, z, v, w).
2.4.2 Gedragsdynamiek
De tweede nutsfunctie voor een actor i is die voor het gedrag. Deze functie bepaalt de tevredenheid van actor i met een nieuwe toestand van het gedrag z0, waarbij z0 maximaal
´
e´en waarde verschilt met z in ´e´en gedragscomponent van z. De waarde van de veranderde component Zh is slechts met ´e´en verhoogd of verlaagd zoals in paragraaf 2.2 is besproken.
De verzameling van alle dergelijke nieuwe toestanden noemen we D. Deze nutsfunctie wordt gegeven door
fi[Z](β, x, z, z0, v, w) =X
k
βk[Z]s[Z]ki (x, z, z0, v, w).
Hier zijn de functies s[Z]ki (x, z, z0, v, w) afhankelijk van de huidige toestand van het gedrag z, de mogelijk nieuwe toestand z0, de huidige toestand van het netwerk x en de covariaten v en w. Voor de waarden van de β[Z]k ’s geldt hetzelfde als voor die van de objectieve functie voor het netwerk.
Analoog aan de nutsfunctie voor het netwerk, wordt de kans dat de toestand van het gedrag z verandert in z0∈ D , gegeven door
P (z → z0) = exp fi[Z](β[Z], x, z, z0, v, w) P
z00∈D
exp fi[Z](β[Z], x, z, z00, v, w) .
2.4.3 Effecten
In deze paragraaf zal een aantal voorbeelden van effecten worden behandeld die kunnen voorkomen in de nutsfuncties [9]. Bij elk effect wordt zowel de wiskundige formule als de praktische betekenis besproken. In bijlage A is een overzicht opgenomen van alle effecten die gebruikt zullen worden bij de data-analyse in sectie 3. De nummering van de effecten is aangepast op de nummering in bijlage A.
Als eerst bespreken we een aantal voorbeelden van effecten voor de nutsfunctie voor het netwerk.
• Het aantal uitgaande takken voor actor i noemen we het ‘uitgaande effect’, s[X]1i (x) = P
j
xij. Dit effect geeft aan hoe veel actoren actor i als relatiepartner ziet en zorgt ervoor dat de dichtheid van het netwerk goed gemodelleerd wordt.
• Het aantal gereciprociteerde takken is het aantal takken waarbij de richting van de vriendschap beide kanten opgaat. We noemen dit effect het ‘reciprociteitseffect’, s[X]2i (x) =P
j
xijxji.
• Het ‘transitieve triplets effect’ telt het aantal transitieve patronen voor een actor i.
Een transitief patroon, ook wel transitieve driehoek genoemd, voor actor i, betekent dat er twee andere actoren j en k zijn waarvoor zowel xij = 1 en xjk = 1 geldt als xik = 1. Dit houdt in dat actor i actor j zijn relatiepartner noemt, actor j noemt actor k zijn relatiepartner, maar ook dat actor i actor k zijn relatiepartner noemt.
Dit effect wordt gegeven door s[X]3i (x) =P
j,k
xijxjkxik.
• Het ‘afstand2 effect’ telt voor actor i het aantal actoren k waarmee hij niet direct een relatie heeft, maar via een andere relatiepartner. Hier is dus actor k de relatiepartner van j, en j van i. In dit effect moet er minimaal ´e´en pad zijn tussen i en k via ´e´en andere actor. Er mogen echter ook andere paden zijn via meerdere actoren. We geven dit effect weer met s[X]8i (x) = #{k | xik = 0 ∧ ∃ j zodat (xij = 1 ∧ xjk = 1)}.
• Het ’gelijke covariaat effect’ is niet alleen afhankelijk van het netwerk, maar ook van covariaat vk. Dit effect meet hoeveel relatiepartners actor i heeft die exact dezelfde waarde voor covariaat vkhebben. We defini¨eren deze als s[X]19i(x) =P
j
xijI(vik= vjk), waarbij I(vki = vjk) = 1 als vkj = vkj, anders I(vki = vkj) = 0.
• Voor elke dyadische covariaat wkwordt het ‘dyadische effect’ gegeven door s[X]23i,k(x, w) = P
j
xijwkij. Deze meet de som van alle waarden van de covariaat wk tussen actor i en zijn vrienden.
Nu volgt een aantal effecten voor de nutsfunctie van het gedrag.
• Het ‘lineaire vorm effect’ s[Z]1i,h(z) = zih en het ‘kwadratische vorm effect’,s[Z]2i,h(z) = z2ih, bepalen samen de vorm van de verdeling van gedragsvariabele h.
• Het ‘uitgaande takken effect’ voor gedragscomponent h, s[Z]4i,h(z) = zihP
i
xij. Dit effect geeft aan in hoeverre het aantal uitgaande takken bedraagt aan de gedrags- dynamiek.
• Het volgende effect geeft een afhankelijkheid tussen twee verschillende gedrags- componenten h en l weer. Dit effect wordt het ‘gedragsrelatie effect’ genoemd, s[Z]6i,h,l(x, z) = zihzil.
De hierboven genoemde effecten zijn slechts enkele voorbeelden. Meer voorbeelden zullen naar voren komen in sectie 3, zie ook bijvoorbeeld [10].
Voorbeeld
We gebruiken vier effecten. De eerste twee zijn het uitgaande effect en het reciprociteit effect. Deze effecten worden altijd meegenomen in het model. De andere twee effecten zijn twee ‘overeenkomstige covariaat effecten’ voor de twee actor covariaten, geslacht en leeftijd. Voor deze effecten berekenen we de β[X]k ’s. Daarnaast worden de λ’s berekend tussen respectievelijk meetmoment 1 en 2 en meetmoment 2 en 3.
Eerst maken we een ‘SIENA data object’ aan:
> mijnvoorbeelddata = sienaDataCreate( vriendschap, geslacht1, leeftijd1,schoolcijfergedrag)
Een dataframe met effecten krijgen we als volgt:
> mijneff <- getEffects( mijnvoorbeelddata)
> mijneff
Standaard bevat deze het uitgaande en reciprociteit effect. We voegen de overeen- komstige covariaat effect toe voor zowel de covariaat geslacht als covariaat leeftijd
> mijneff <- includeEffects(mijneff, simX, interaction1 =
"geslacht1")
> mijneff <- includeEffects(mijneff, simX, interaction1 =
"leeftijd1")
> mijneff
Voor een lijst met alle mogelijke effecten:
> effectsDocumentation()
2.4.4 Tijdheterogeniteit
In de secties 2.4.1 en 2.4.2 zijn de nutsfuncties voor de netwerk- en gedragsdynamiek besproken. Hierin is ervan uitgegaan dat de parameters (βk[X]’s en βk[Z]’s) gelijk zijn voor alle M − 1 tijdsperiodes tussen t1 en tM (periode m loopt van meetmoment m tot m + 1). Het is echter mogelijk dat de waarden van βk[X]’s en βk[Z]’s niet gelijk zijn voor de verschillende periodes tussen de meetmomenten. In dat geval kan aan de parameters voor elke periode een dummy-term toegevoegd worden, dit wordt tijdheterogeniteit genoemd [4]. De nutsfuncties krijgen dan de volgende vorm:
fi[X](β, δ, x0, x, z, v, w) =X
k
(βk[X]+ δk,m[X])s[X]ki (x0, x, z, v, w) en fi[Z](β, δ, x, z, z0, v, w) =X
k
(βk[Z]+ δ[Z]k,m)s[Z]ki (x, z, z0, v, w).
Hierin zijn δk,m[X] en δ[Z]k,mde dummy-termen voor effect k in periode m voor respectievelijk de nutsfuncties voor de netwerk- en gedragsdynamiek.
2.5 Parameters schatten
In de paragrafen 2.3 en 2.4 is besproken dat we twee soorten parameters gaan schatten.
Enerzijds schatten we de parameters die de tijd tussen twee microstappen bepalen, an- derzijds schatten we de parameters die aangeven welke veranderingen er optreden tijdens de microstappen. Voor beide geldt dat we dit zowel voor het netwerk als voor het gedrag doen. In deze paragraaf wordt uitgelegd hoe de parameters worden geschat.
2.5.1 Methode van momenten
Het model dat we bespreken is te complex om bijvoorbeeld de verwachtingswaarde voor uit te rekenen. Om die reden is het lastig om maximum likelihood schatters te gebruiken.
Deze methode is echter wel ontwikkeld en wordt besproken in [7]. De methode die we hier gebruiken is de zogenaamde methode van momenten. In deze methode wordt voor elke parameter θ ∈ {λ[X]m , λ[Z]m , βk[X], βk[Z]}k,min het model een statistiek S gebruikt die gevoelig is voor veranderingen in die parameter. Vervolgens stellen we dat de verwachtingswaarde van die statistiek voor simulaties gelijk moet zijn aan de geobserveerde waarde van de statistiek, oftewel Eθ(S) = s, waarbij S de variabele is en s de geobserveerde waarde van S. Met behulp van een iteratieve procedure wordt deze vergelijking opgelost en dit geeft de geschatte waarde van θ. We gebruiken de volgende statistieken [10].
• Wachttijd netwerk met periode m, voor λ[X]m : S(y(tm), Y (tm+1)) =P
ij
| Xij(tm+1) − xij(tm) |.
• Wachttijd gedrag met periode m, voor λ[Z]m : S(y(tm), Y (tm+1)) =P
i
| Zi(tm+1) − zi(tm) |.
• Nutsfunctie netwerk, voor βk[X]: S(y(tm), Y (tm+1)) =P
m
P
i
s[X]ki (X(tm+1), z(tm)).
• Nutsfunctie gedrag, voor β[Z]k : S(y(tm), Y (tm+1)) =P
m
P
i
s[Z]ki (x(tm), Z(tm+1)).
Laat θ de vector zijn bestaande uit alle parameters die geschat moeten worden. S is de vector bestaande uit alle statistieken horende bij θ. Matrix D is de matrix met de parti¨ele afgeleides van S ten opzichte van θ. Ssim geeft de gesimuleerde waarden van S en Sobs geeft de geobserveerde waarden van S.
2.5.2 Iteratieve procedure
Het schatten van θ wordt iteratief gedaan. De iteratie start voor een waarde ˆθ0en heeft op stap k de waarde ˆθk. Op stap k geeft ˆθkde gesimuleerde statistiek Sksim. De gesimuleerde statistiek Sksim wordt als volgt verkregen. Voor iedere component van ˆθkwordt voor elke waarde van m (m ∈ [1, M ]) het proces Y (t) gesimuleerd startend op tijdstip tm. Y (t) wordt gesimuleerd voor tijdstip tm tot tijdstip tm+1 waarbij Y (tm) = y(tm). Dit levert de gesimuleerde waarde Ysim(tm+1). De corresponderende waarde van elke component in Sksim wordt gegeven door
X
m
S(y(tm), Ysim(tm+1)),
waarbij S de statistiek horende bij de corresponderende component van ˆθk. Op dezelfde manier wordt iedere component van de geobserveerde waarde van S, Sobs, gegeven door
X
m
S(y(tm), y(tm+1)).
θˆk+1 wordt als volgt verkregen
θˆk+1= ˆθk− ak+1D−10 (Ssimk − Sobsk ).
Hierin is D−10 een schatting van D voor ˆθ = ˆθ0 en ak is een convergerende rij getallen die convergeert naar 0 evenredig met k−c met c ∈ (0, 1).
Parametervector θ wordt geschat door het gemiddelde te nemen van de R verkregen waarden van θk, oftewel
θ =ˆ 1 R
R
X
r=1
θˆr0+r
waarbij r0 het aantal iteraties is waarna ˆθ weinig verandert en R groot genoeg is zodat de schatter stabiel is.
De standaardfouten voor ˆθ worden berekend door de wortels van de diagonale elementen van de geschatte covariantie matrix C( ˆθ)=D−1ˆ
θ ΣθˆDθˆ, waarbij Σθˆde covariantie matrix van de vector van gesimuleerde statistieken is, uitgerekend voor de schatter ˆθ.
Voorbeeld
We schatten de parameters voor de nutsfunctie van het netwerk en de nutsfunctie van de afhankelijke variabele schoolcijfers (waardering voor school) als volgt (de uitkomst wordt opgeslagen onder de naam ‘voorbeeldscriptie’).
> mijnmodel <- sienaModelCreate(useStdInits = FALSE, projname = ’voorbeeldscriptie’)
>antwoord <- siena07( mijnmodel, data = mijnvoorbeelddata, effects = mijneff, batch=TRUE,verbose=TRUE,returnDeps=TRUE)
> summary(antwoord)
Netwerkdynamiek
θˆ s.f. s.f.θˆ r.c.
1 . wachttijdparameter vriendschap periode 1 1.75 (0.71) 0.05 2 . wachttijdparameter vriendschap periode 2 3.46 (1.18) 0.06
3 . uitgaande takken -1.14 (0.30) -3.8 0.05
4 . reciprociteit 1.94 (0.54) 3.59 0.08
5 . geslacht1 overeenkomstig 0.28 (0.40) 0.7 0.08
6 . leeftijd1 overeenkomstig -0.39 (0.87) -0.45 0.00
Gedragsdynamiek
7 . wachttijdparameter schoolcijfergedrag (periode 1) 4.67 (3.79) 0.06 8 . wachttijdparameter schoolcijfergedrag (periode 2) 2.12 (1.17) 0.01 9 . schoolcijfergedrag lineaire vorm -0.14 (0.18) -0.78 0.07 10. schoolcijfergedrag kwadratische vorm -0.06 (0.14) -0.43 -0.00
In de tabel zijn de schattingen (de ˆθ’s) opgenomen die Rsiena geeft voor de βk[X]’s en βk[Z]’s. Tevens zijn in de tabel per effect drie andere waarden toegevoegd, de standaard fout (s.f.), zie sectie 2.5.2, het quoti¨ent van de schatting en de standaard fout en als laatste de ratio voor convergentie (r.c.).
In het ideale geval liggen de absolute waarden van de ratio’s voor de convergentie on- der 0.1. Dit is hier het geval. Waarden kleiner dan 0.15 worden ook als betrouwbaar gezien. Mocht dit niet zo zijn, dan kan siena07 nog een keer gerund worden met de ge- schatte parameterwaarden als beginwaarden.
Dit kan gedaan worden met
> antwoord <- siena07(mijnmodel, data=mijnvoorbeelddata, effects=mijneff, prevAns=antwoord, batch=TRUE, verbose=TRUE)
Het quotient s.f.θˆ wordt gebruikt om na te gaan of een effect significant is. De schatters zijn bij benadering normaal verdeeld met µ = 0 en σ = s.f. [6]. Hierdoor is s.f.θˆ ∼ N (0, 1).
Met als nulhypothese H0 : θ = 0 en als alternatieve hypothese H1 : θ 6= 0, is, bij een sig- nificantieniveau van 0.05, een effect statistisch significant als |s.f.θˆ | ≥ 1.96.
Nu zullen de verschillende waarden voor de β[X]’s besproken worden. Het feit dat de waarde van het uitgaande takken effect negatief is, komt vaak voor. Dit effect modelleert de dichtheid van een netwerk, oftewel het aantal aanwezige takken in een netwerk. Als de objectieve functie constant 0 zou zijn, dan zou het netwerk op den duur een dichtheid hebben van 50%, oftewel 50% van alle mogelijke takken zou aanwezig zijn. In sociale netwerken is het aantal aanwezige takken meestal veel lager dan 50%, dit correspondeert met een negatieve parameter voor het uitgaande takken effect [10]. De positieve waarde
te cre¨eren, oftewel dat de vriendschap beide kanten op gaat. De negatieve waarde voor de overeenkomstige covariaat effect voor leeftijd betekent dat de actoren een voorkeur hebben om vrienden te worden met actoren van een andere leeftijd. De positieve waarde voor de effect voor covariaat geslacht betekent dat de actoren een voorkeur hebben om vrienden te worden met actoren van hetzelfde geslacht. Uit de waarden s.f.θˆ blijkt dat de effecten voor het geslacht en de leeftijd niet significant zijn. Dit betekent dat de leeftijd en het geslacht geen invloed hebben op het netwerk.
De waardes voor zowel het lineaire als kwadratische vorm effect zijn niet significant. Als deze waarden wel significant zouden zijn, dan zouden ze als volgt ge¨ınterpreteerd moeten worden. De parameters voor het lineaire en kwadratische vorm effect leiden samen tot een parabolische curve. In ons geval wordt de nutsfunctie voor de omschreven gedragscompo- nent gegeven door fi[Z](z) = −0.14zi− 0.06zi2. Deze correspondeert met een bergparabool met als top (1.167; -0.245). Dit betekent dat actoren dit de mogelijkheid hebben om hun gedrag te veranderen, richting de waarde 1 (1.167 afgerond naar gehelen) zullen gaan. Of- tewel, voor actoren met een waarde voor Z hoger dan 1, is de kans het grootst dat zij deze waarde zullen verlagen. In principe is het omgekeerde waar voor actoren met waarde klei- ner dan 1, echter het bereik van deze gedragscomponent is 1-5, dus dit is onmogelijk. Voor actoren met een waarde van 1 is de kans het grootst dat ze deze waarde zullen aanhouden.
Er is nu niet gekeken of er dummy-termen (sectie 2.4.4) toegevoegd moeten worden.
Voor de zes toegevoegde effecten kan dit als volgt worden gedaan.
> dummy <- sienaTimeTest(antwoord,effects=c(3:6,9,10))
> plot(dummy)
Dit resulteert in de diagrammen in figuur 2.
In ieder diagram in figuur 2 is voor het aangegeven effect de waarde van de geschatte parameter weergegeven met een horizontale zwarte lijn. Dit is de schatting voor de eerste periode (tussen meetmoment 1 en 2). De rechter stip is de schatting voor de parameter voor de tweede periode. De verticale rode balk geeft het 95% betrouwbaarheidsinterval voor deze schatter. Als de horizontale lijn in de rode balk valt, betekent dit dat de schatter ook geldt voor de tweede periode. Uit deze diagrammen is af te lezen dat de alle geschatte parameters gelden voor beide periodes. Er is dus geen sprake van tijdheterogeniteit en dus hoeven er geen dummy-termen te worden toegevoegd.
Wave Parameter Value −1.4−1.3−1.2−1.1−1.0−0.9
1 2
−
− −
−
−
−
●
●
outdegree (density) (chisq=0.13)
1.61.82.02.22.4
1 2
−
−
−
−
−
−
●
●
reciprocity (chisq=0.17)
0.150.200.250.30
1 2
●
●
geslacht1 similarity (chisq=0.02)
−0.5−0.4−0.3−0.2−0.1
1 2
●
●
leeftijd1 similarity (chisq=0.05)
−0.3−0.2−0.1
1 2
−
−
−
−
●
●
behavior schoolcijfergedrag linear shape (chisq=0.09)
−0.2−0.10.00.10.2
1 2
−
− −
−
−
−
●
●
behavior schoolcijfergedrag quadratic shape (chisq=1.25)
Figuur 2: Dummy-testen
Om te controleren of het model overeenkomt met de data, worden vier verschillende
‘goodness of fit’-statistieken berekend.
#TriadCensus:
> TriadCensus <- function(i, data, sims, wave, groupName, varName, levls=1:16){
unloadNamespace("igraph") # to avoid package clashes require(sna)
require(network)
x <- networkExtraction(i, data, sims, wave, groupName, varName) tc <- sna::triad.census(x)[1,levls]
# names are transferred automatically tc
}
#GeodesicDistribution:
> GeodesicDistribution <- function (i, data, sims, period, groupName, varName, levls=c(1:5,Inf),
cumulative=TRUE, ...){
x <- networkExtraction(i, data, sims, period, groupName, varName) require(sna)
a <- sna::geodist(x)$gdist if (cumulative)
{
gdi <- sapply(levls, function(i){ sum(a<=i) }) }
else {
gdi <- sapply(levls, function(i){ sum(a==i) }) }
names(gdi) <- as.character(levls) gdi
}
> gofi <- sienaGOF(antwoord, IndegreeDistribution, verbose=
TRUE, join=TRUE,varName="vriendschap",cumulative=FALSE)
> gofo <- sienaGOF(antwoord, OutdegreeDistribution,verbose=
TRUE, join=TRUE,varName="vriendschap", cumulative=FALSE)
> goft <- sienaGOF(antwoord, TriadCensus, verbose=TRUE, join=TRUE,varName="vriendschap")
> gofg <- sienaGOF(antwoord, GeodesicDistribution, verbose=
TRUE, join=TRUE,varName="vriendschap",cumulative=FALSE)
> print(plot(gofi))
> print(plot(gofo))
> print(plot(goft))
> print(plot(gofg))
Dit geeft de diagrammen in de figuren 3 t/m 6. In de figuren 3 en 4 staan op de hori- zontale assen respectievelijk het aantal ingaande en uitgaande takken voor een actor. In figuur 5 staan op de horizontale as de codes voor verschillende driehoekstructuren. Deze codes komen overeen met de structuren zoals in figuur 7 aangegeven. In figuur 6 staan op de horizontale as de afstanden die actoren hebben met andere actoren waarmee ze niet direct verbonden zijn.
In de figuren 3 t/m 6 is met een rode lijn de waarden aangegeven die overeenkomen met de data. De boxplots geven de gesimuleerde waarden weer die berekend zijn met het model. Onder ieder diagram is een p-waarde weergegeven, deze geeft de kans dat de verdeling inderdaad zo is als in het diagram weergegeven. Met een significatieniveau van 0.05 betekent dit dat een p-waarde hoger dan 0.05 overeenkomt met een goede schatting van de data. In de afbeeldingen is te zien dat iedere p-waarde groter is dan 0.05, oftewel, het geschatte model komt goed overeen met de (fictieve) data.
Goodness of Fit of IndegreeDistribution
p: 0.365
Statistic
0 1 2 3 4 5 6 7
●
●
●
●
●
● ● ●
●
●
●
●
● ● ● ●
0
5
9
6
0 0 0 0
Figuur 3: Verdeling ingaande takken
Goodness of Fit of OutdegreeDistribution
p: 0.642
Statistic
0 1 2 3 4 5 6 7
●
●
●
●
●
● ● ●
●
●
●
●
●
● ● ●
0
6
9
3
2
0 0 0
Figuur 4: Verdeling uitgaande takken
Goodness of Fit of TriadCensus
p: 0.524
Statistic
003 012 102 021D 021U 021C 111D 111U 030T 030C 201 120D 120U 120C 210 300
●
●
●
● ●
●
● ●
● ●
●
● ● ● ● ●
●
●
●
●
●
●
● ●
● ●
●
● ● ● ● ●
77
47 68
4 1
8 11 11
0 0
8
1 1 2 1 0
Figuur 5: Verdeling driehoekstructuren
Goodness of Fit of GeodesicDistribution
p: 0.07
Statistic
1 2 3 4 5 Inf
●
●
●
●
●
●
●
● ●
●
●
●
41
49 50
27
9
0
Figuur 6: Verdeling afstanden
Figuur 7: Driehoekstructuren[2]
2.6 Data eisen
Zoals verteld is, worden de parameters in het model geschat op basis van longitudinale data. De data is verzameld op M meetmomenten. Hieronder volgt een aantal eisen waaraan de data moet voldoen. Als de data aan deze eisen voldoet, dan kan hij goed gebruikt worden voor het model [6].
• Het aantal meetmomenten is minimaal twee, M ≥ 2. Daarnaast is M in de meeste gevallen kleiner dan tien. Het model is ook te gebruiken met meer dan tien meet- momenten, dit vergt echter enige nauwkeurigheid, zie hiervoor [6].
• Het aantal actoren, N , moet om de parameters in het model goed te kunnen schatten groter zijn dan 20. Daarentegen moet N niet te groot zijn (een paar honderd) omdat het dan niet aannemelijk is dat iedere actor een mogelijke netwerkpartner is voor elke andere actor.
• Het totaal aantal veranderingen tussen twee meetmomenten moet groot genoeg zijn.
Een aantal van 40 of minder veranderingen is erg klein, maar dit hangt uiteraard wel af van de grootte van het netwerk. Daarnaast moet het aantal veranderingen ook niet te groot zijn, omdat het dan niet zeker is of opeenvolgende meetmomenten inderdaad meten welke veranderingen zijn opgetreden in die tijdsperiode. Als het aantal veranderingen te groot is, dan is de tijd tussen twee meetmomenten waar- schijnlijk te groot. De afstand tussen twee netwerken kan worden gemeten met de Jaccard index:
J = N11
N11+ N01+ N10
,
waarbij N11 het aantal takken is aanwezig in beide meetmomenten, N01 het aantal nieuw gevormde takken en N10 het aantal ‘verdwenen’ takken. Uit eerdere on- derzoeken [6] blijkt dat waarden van J groter dan 0.3 met een geschikte dataset corresponderen.
• In het ideale geval is de data compleet. In de meeste gevallen is het echter niet te voorkomen dat er data mist. In paragraaf 2.8 zal verteld worden hoe er met missende data omgegaan moet worden in het model. Als er meer dan 20% van de data mist, dan wordt de data als niet bruikbaar gezien.
Voorbeeld
M = 3 voldoet aan de hierboven beschreven eis. Het aantal actoren, N = 10, is echter te laag. De Jaccard index tussen meetmoment een en twee is
J12= 10
10 + 8 + 2 = 0.5 en tussen meetmoment twee en drie
J23= 12
12 + 11 + 6 ≈ 0.414.
De waarden van J geven aan dat de dataset ‘goed’ is, oftewel het aantal veranderingen tussen twee meetmomenten is groot genoeg.
Deze resultaten zijn verkregen via het bestand voorbeeldscriptie.out dat als volgt aangemaakt wordt:
print01Report( mijnvoorbeelddata, mijneff, modelname =
’voorbeeldscriptie’ )
2.7 Netwerkautocorrelatie
Voor de analyse van de data is het goed om te kijken of relatiepartners inderdaad meer op elkaar lijken dan actoren die geen relatie hebben. Als dit namelijk niet het geval is, dan zal er in de analyse waarschijnlijk ook geen selectie of invloed naar voren komen. Twee co¨effici¨enten die hier veel voor gebruikt worden zijn de I-co¨effici¨ent van Moran en de c-co¨effici¨ent van Geary [10]. Gegeven het netwerk x en een gedragscomponent z, worden deze als volgt berekend:
I = NP
ij
(zi− ¯z)(zj− ¯z) (P
ij
xij)(P
i
(zi− ¯z)2) en
c =
(N − 1)P
ij
xij(zi− zj)2 2(P
ij
xij)(P
i
(zi− ¯z)2) ,
waarbij ¯z het gemiddelde is van z.
Waarden van I dichtbij 0 betekenen dat relatiepartners niet meer op elkaar lijken dan verwacht zou worden als je willekeurig actoren aan elkaar verbindt. Waarden in de buurt van 1 betekenen grote netwerkautocorrelatie. Voor c geldt het omgekeerde; waarden dichtbij 1 betekenen geen autocorrelatie en waarden dichtbij 0 grote autocorrelatie.
2.8 Missende data
Bij het verzamelen van de data is het vaak onontkoombaar dat er data mist. De reden hiervoor kan zijn dat een actor afwezig is bij het invullen van de vragenlijsten of dat ac- toren vragen vergeten in te vullen. In R moeten deze missende waarden ingevuld worden als N A (not available). Als meer dan 20% van de data mist, dan zal deze data waar- schijnlijk geen goede schattingen geven. Hier zal beschreven worden hoe er met missende data omgegaan moet worden.[5]
De simulaties zullen gedaan worden alsof alle data aanwezig is. Hiervoor is het dus noodzakelijk dat de missende data waardes toegewezen krijgen. Als er een waarde mist in het eerste meetmoment van de netwerkdata, dan wordt hiervoor een 0 gebruikt. Mist er data in een ander meetmoment, dan wordt de laatst waargenomen waarde gebruikt, is deze niet aanwezig, dan wordt een 0 toegewezen. De reden hierachter is dat de kans groter is dat een tak afwezig is dan dat hij aanwezig is (in het algemeen zijn meer takken afwe- zig dan aanwezig). Als er een waarde mist voor een afhankelijke gedragsvariabele, dan wordt ook de waarde van een vorig meetmoment gebruikt. Voor het eerste meetmoment wordt gebruikgemaakt van de modus van de waarden voor deze variabele in meetmoment 1. Missende data voor covariaten worden vervangen door de gemiddelde waardes van de betreffende covariaten.
Om de invloed van missende data op de schatters te beperken, wordt bij het bereke- nen van de verschillende statistieken (paragraaf 2.5.1) alleen niet-missende data gebruikt.
3 Mening scholieren ten aanzien van school
In deze sectie zal het model toegepast worden op verzamelde data. Eerst wordt in de secties 3.1 en 3.2 besproken hoe de data is verzameld en hoe het wordt voorbereid op de data-analyse. Vervolgens wordt in de opvolgende secties de data geanalyseerd met RSiena versie 3.0.2. Dit wordt gedaan volgens het principe van ‘voorwaartse model selectie’ [9]. De bijbehorende goodness of fit- en tijd heterogeniteit-diagrammen zijn te vinden in bijlage B.
3.1 Data
De data is verzameld op een middelbare school in Noord-Nederland onder alle havo- leerlingen van het derde leerjaar (N = 125). Deze leerlingen is in het schooljaar 2013/2014 drie keer gevraagd dezelfde vragenlijst in te vullen. Deze vragenlijst is te vinden in bijlage D. Voor de data geldt dus dat M = 3, i.e. drie meetmomenten. De meetmomenten von- den plaats in november 2013, februari 2014 en mei 2014, zodat tussen twee meetmomenten steeds drie maanden verstreken. Alle leerlingen kregen een vragenlijst met daarbij een lijst met daarop de namen van alle 3havo-leerlingen. Aan iedere leerling was een willekeu- rig nummer toegewezen. De leerlingen konden deze nummers gebruiken bij het invullen van de netwerkvragen in de vragenlijsten. Deze lijsten zijn uit privacyoverwegingen niet in deze scriptie opgenomen.
De 125 leerlingen waren verdeeld over vijf verschillende klassen. Het schooljaar voor de afname van de vragenlijsten zaten de leerlingen niet allemaal op dezelfde school. Zij zijn afkomstig van zeven verschillende scholen.
3.1.1 Pilot-versie
Voor het afnemen van de vragenlijsten bij de 3havo-leerlingen is een pilot-versie van de vragenlijst gehouden onder zeven 3vwo-leerlingen. Deze pilot-versie is te vinden in bijlage C. Deze leerlingen is gevraagd de vragenlijst in te vullen. Zij maakten daarbij gebruik van een namenlijst met alle 3vwo-leerlingen op de desbetreffende school. Alle leerlingen hadden de vragenlijst na 15 minuten ingevuld. Na het afnemen zijn alle vragen doorgenomen met de leerlingen en konden zij aan-/opmerkingen geven. Hierbij gaven de leerlingen aan dat er te weinig hokjes stonden voor het invullen voor vrienden bij vraag 7a. Om deze reden is besloten om bij deze vraag 20 hokjes in plaats van 16 hokjes in de uiteindelijke vragenlijst te zetten. Bij vraag 18 vroegen de leerlingen zich af of de sporttijd inclusief of exclusief lichamelijke opvoeding op school was, dit is als opmerking toegevoegd. Bij de vragen 20 en 21 noemden sommige leerlingen dat ze niet elke week evenveel rookten/dronken. Daarom is het antwoord ‘soms’ toegevoegd. De leerlingen hadden niet opgemerkt dat boven de vragen 22 t/m 25 (zoals in de pilot versie genummerd) stond ‘de laatste twee weken’. Om die reden is dit duidelijker in de vragenlijst gezet. Bij vraag 25j werd het woord ‘afkeurenswaardig’ als lastig ervaren, dit woord is daarom uit de vragenlijst verwijderd. De pilot is verder goed verlopen.
De 3vwo-afdeling op de school waar de pilot-versie is afgenomen, bestaat uit ongeveer 60 leerlingen. Hierdoor stonden ook 60 namen met nummers op de namenlijst. De 3havo- afdeling bestaat uit 125 leerlingen. Om die reden hadden de leerlingen uit 3havo meer tijd nodig om de vragenlijst in te vullen.