statistical social network analysis - stochastic actor oriented models johan koskinen the social...
TRANSCRIPT
Statistical Social Network Analysis- Stochastic Actor Oriented Models
Johan Koskinen
The Social Statistics Discipline Area, School of Social Sciences
Mitchell Centre for Network Analysis
Workshop: Monday, 29 August 2011
Stochastic actor-oriented models - data
Study of32 freshman university students,7 waves in 1 year.(van de Bunt, van Duijn, & Snijders, Computational & Mathematical Organization Theory, 5, (1999), 167 – 192)
Stochastic actor-oriented models - data
Stochastic actor-oriented models - data
Stochastic actor-oriented models - data
Stochastic actor-oriented models - data
Stochastic actor-oriented models - data
The mini-step
Say that actor i wants to make a change to his network
A piece of notation
Adjacency matrix before change
- 01 00 - 1 010 - 1000 -
x =
after change (i↝j) x(i↝j) =- 11 00 - 1 010 - 1000 -
Let’s say actor i = 1 changes relation to actor j = 2
The mini-step
Say that actor i wants to make a change to his network
A piece of notation
Adjacency matrix before change
- 01 00 - 1 010 - 1000 -
x =
after change (i↝j) x(i↝j) =- 11 00 - 1 010 - 1000 -
Let’s say actor i = 1 changes relation to actor j = 2
The mini-step
Say that actor i wants to make a change to his network
A piece of notation
Adjacency matrix before change
- 01 00 - 1 010 - 1000 -
x =
after change (i↝j) x(i↝j) =- 11 00 - 1 010 - 1000 -
Let’s say actor i = 1 changes relation to actor j = 2
The mini-step
Say that actor i wants to make a change to his network
A piece of notation
Adjacency matrix before change
- 01 00 - 1 010 - 1000 -
x =
after change (i↝j) x(i↝j) =- 11 00 - 1 010 - 1000 -
Let’s say actor i = 1 changes relation to actor j = 2
The mini-step
A sample y path is a series of toggles
))(( 01 11txy ji
)))((( 02 1122txy jiji
))))(((()( 01 1122
txtxy jijijiM MM
)( 00 txy
Where a toggle
)(xij set element ijij xx 1
The mini-step
- 0 1 0
0 - 1 0
10 - 1
00 0 -
x =
1
2
3
4
1
2
1
2
3
4
- 1 1 0
0 - 1 0
1 0 - 1
0 0 0 -
x (1↝2) =
The mini-step
- 0 1 0
0 - 1 0
10 - 1
00 0 -
x =
1
2
3
4
1
2
3
1
2
3
4
- 1 1 0
0 - 1 0
1 0 - 1
0 0 0 -
x (1↝2) =
The mini-step
- 0 1 0
0 - 1 0
10 - 1
00 0 -
x =
1
2
3
4
1
2
3
1
2
3
4
1
2
3
4
- 1 1 0
0 - 1 0
1 0 - 1
0 0 0 -
x (1↝2) =
- 0 0 0
0 - 1 0
1 0 - 1
0 0 0 -
x (1↝3) =
The mini-step
- 0 1 0
0 - 1 0
10 - 1
00 0 -
x =
1
2
3
4
1
2
3
4
1
2
3
4
1
2
3
4
- 1 1 0
0 - 1 0
1 0 - 1
0 0 0 -
x (1↝2) =
- 0 0 0
0 - 1 0
1 0 - 1
0 0 0 -
x (1↝3) =
The mini-step
- 0 1 0
0 - 1 0
10 - 1
00 0 -
x =
1
2
3
4
1
2
3
4
1
2
3
4
1
2
3
4
1
2
3
4
- 1 1 0
0 - 1 0
1 0 - 1
0 0 0 -
x (1↝2) =
- 0 0 0
0 - 1 0
1 0 - 1
0 0 0 -
x (1↝3) =
- 0 1 1
0 - 1 0
1 0 - 1
0 0 0 -
x (1↝4) =
The mini-step
- 0 1 0
0 - 1 0
10 - 1
00 0 -
x =
1
2
3
4
1
2
3
4
1 3
4
1
2
3
4
1
2
3
4
- 1 1 0
0 - 1 0
1 0 - 1
0 0 0 -
x (1↝2) =
- 0 0 0
0 - 1 0
1 0 - 1
0 0 0 -
x (1↝3) =
- 0 1 1
0 - 1 0
1 0 - 1
0 0 0 -
x (1↝4) =
The mini-step
In Snijders stochastic actor-oriented model the actors degree of satisfaction with new state is a weighted sum of e.g.
• The number of outgoing ties• The number of reciprocated ties• The number of ties to people of type A• The number of ties to people like the actor• The number of friends that are also friends• The number of indirect friends
The mini-step
In Snijders stochastic actor-oriented model the actors degree of satisfaction with new state is a weighted sum of e.g.
• The number of outgoing ties• The number of reciprocated ties• The number of ties to people of type A• The number of ties to people like the actor• The number of friends that are also friends
• The number of indirect friends
The mini-step
In Snijders stochastic actor-oriented model the actors degree of satisfaction with new state is a weighted sum of e.g.
• The number of outgoing ties• The number of reciprocated ties• The number of ties to people of type A• The number of ties to people like the actor• The number of friends that are also friends
• The number of indirect friendsAssume that we believe that these local structures are important to actors when they change their out-going ties
The mini-step
- 0 1 0
0 - 1 0
10 - 1
00 0 -
x =
1
2
3
4
1
2
3
4
1
2
3
4
1
2
3
4
1
2
3
4
- 1 1 0
0 - 1 0
1 0 - 1
0 0 0 -
x (1↝2) =
- 0 0 0
0 - 1 0
1 0 - 1
0 0 0 -
x (1↝3) =
- 0 1 1
0 - 1 0
1 0 - 1
0 0 0 -
x (1↝4) =
1 edge 1 reciprocated tie1 indirect others
+1 edge+2 transitive triangles
1 indirect others
+1 edge ±0 reciprocated tie±0 indirect others
The mini-step
- 0 1 0
0 - 1 0
10 - 1
00 0 -
x =
1
2
3
4
1
We model the preferenceof changing actor:
Preferenceactor i =β1 × edge + β2 × reciprocated tie +β3 × indirect others +ε
The mini-step
- 0 1 0
0 - 1 0
10 - 1
00 0 -
x =
1
2
3
4
1
We model the preferenceof changing actor:
Preferenceactor i =β1 × edge + β2 × reciprocated tie +β3 × indirect others +ε
random component
Importance of structure
The mini-step
- 0 1 0
0 - 1 0
10 - 1
00 0 -
x =
1
2
3
4
1
We model the preferenceof changing actor:
Preferenceactor i =β1 × edge + β2 × reciprocated tie +β3 × indirect others +ε- If parameter positive: preference for
creating reciprocated ties- If parameter negative: preference against creating reciprocated ties
The mini-step
- 0 1 0
0 - 1 0
10 - 1
00 0 -
x =
1
2
3
4
1
We model the preferenceof changing actor:
Preferenceactor i =β1 × edge + β2 × reciprocated tie +β3 × indirect others +ε
Random component captures non-systematic, idiosyncratic factors
The evaluation function
- 0 1 0
0 - 1 0
10 - 1
00 0 -
x =
1
2
3
4
1
The evaluation function is the systematic part of the preference (e.g.):
fi(y)=β1 × edge + β2 × reciprocated tie +β3 × indirect others
The mini-step
- 0 1 0
0 - 1 0
10 - 1
00 0 -
x =
1
2
3
4
1
2
3
4
1
2
3
4
1
2
3
4
1
2
3
4
- 1 1 0
0 - 1 0
1 0 - 1
0 0 0 -
x (1↝2) =
- 0 0 0
0 - 1 0
1 0 - 1
0 0 0 -
x (1↝3) =
- 0 1 1
0 - 1 0
1 0 - 1
0 0 0 -
x (1↝4) =
The evaluation function gives the probability of change:
Empirical example
The Gerhard van de Bunt data:32 university freshmen (24 fem, 8 male).3 observations used (t1, t2, t3)Densities increase from 0.15 at t1 via 0.18 to 0.22 at t3 .
Simple model
Rate parameters: about 3 opportunities for change/actor between observations;out-degree parameter negative: on average, cost of friendship ties higher than their benefits;reciprocity effect strong and highly significant (t = 1.79/0.27 = 6.6).
estimate s.e.
Rate t1-t2 3.51 (0.54)Rate t2-t3 3.09 (0.49)Out-degree −1.10 (0.15) Reciprocity 1.79 (0.27)
The evaluation function in the simple model
The evaluation function is:
This expresses ‘how much actor i likes the network’
Adding reciprocated tie (i.e., for which xji = 1) gives
i
Adding non-reciprocated tie (i.e., for which xji = 0) gives
i.e., this has negative benefits
Empirical example no 2
Excerpt of 50 girls from the Teenage Friends and Lifestyle Study data set (West and Sweeting 1995)s50-smoke.dat. Smoking: 1 (non), 2 (occasional) and 3 (regular, i.e. more than once per week).s50-drugs.dat. Cannabis use: 1 (non), 2 (tried once), 3 (occasional) and 4 (regular).s50-alcohol.dat. Alcohol: 1 (non), 2 (once or twice a year), 3 (once a month), 4 (once a week) and 5 (more than once a week).s50-sport.dat. Sport: 1 (not regular) and 2 (regular).s50-familyevent.dat. Binary information over whether or not the number of persons has changed with which the pupil shares his home address.
Empirical example no 2
A script for fitting data:friend.data.w1 <- as.matrix(read.table("s50-network1.dat"))# read data friend.data.w2 <- as.matrix(read.table("s50-network2.dat")) friend.data.w3 <- as.matrix(read.table("s50-network3.dat")) drink <- as.matrix(read.table("s50-alcohol.dat")) smoke <- as.matrix(read.table("s50-smoke.dat"))friendship <- sienaNet( array( c( friend.data.w1, friend.data.w2, friend.data.w3 ), dim = c( 50, 50, 3 ) ) )# create dependent variablesmoke1 <- coCovar( smoke[ , 1 ] )# create constant covariate alcohol <- varCovar( drink )# create time varying covariate
Empirical example no 2
A script for fitting data:mydata <- sienaDataCreate( friendship, smoke1, alcohol )# define datamyeff <- getEffects( mydata )# create effects structureprint01Report( mydata, myeff, modelname = 's50_3_init' )# siena01 for reportsmyeff <- includeEffects( myeff, transTrip, cycle3 )# add structural effects myeff <- includeEffects( myeff, egoX, altX, egoXaltX, interaction1 = "alcohol" )# add covariate effects myeff <- includeEffects( myeff, simX, interaction1 = "smoke1" ) mymodel <- sienaModelCreate( useStdInits = TRUE, projname = 's50_3' )# define model as data + effects ans <- siena07( mymodel, data = mydata, effects = myeff) # estimate model
Co-evolution models
We model the preferenceof actor whenchanging behaviour:
Co-evolution models
We model the preferenceof actor whenchanging behaviour:
Co-evolution models
We model the preferenceof actor whenchanging behaviour:
Co-evolution models
We model the preferenceof actor whenchanging behaviour:
Similar evaluation function:
Wrap-up
The package RSiena supports analysis of- un-directed networks- bi-partite networks- multiple networks- … and more forthcomingUpdates and news are published onhttp://www.stats.ox.ac.uk/%7Esnijders/siena/Next RSiena workshop: 14 Sept in Zurich