I want to study the internal Italian migration using the network analysis.

My nodes are the Italian cities, the edges are people who move from a city to another. I built my edge list in SPSS. I have three columns (source node, target node and weight).

Other variables in my database are relative to the node, some of those are numerical (i.e. city population, GDP pro capita) others categorical (i.e. if in the city there is a university, quality of life).

Other variables are relative to the actors who moves from a node (city) to another: gender, age, and so on.

I want to study the relevance of these variables to structure the internal Italian migration network. In other words I would like to construct a regression model (may be logit) where the dependent variable is my (valued) network and the independent variables are the attributes of nodes and edges. The aim is to understand which of those attributes explains the structure of the network.

How can I do it? Do I need to implement random graph models? p2 or p *? Is there a simple tutorial for R (sna, ergm or other packages)?


Indeed, you need to run an ERGM (Exponential Random Graph Model) for this. Regression (logistic or not) will not be able to take into account that the nodes are related to one another (violating the independence assumption). It is exactly this lack of independence that "causes" a network! So, besides it being statistically inappropriate, running a straightforward regression model denies the value of the network to begin with...

There are at least two ways to run such a model. The most common is to use the statnet (see here) suite in R, with the included ergm package (see here). Yes, this requires you to run R, which may be a plus (if you know R) or an additional learning curve (if you're not familiar with it). You can find tutorials here, here, as a published paper here, a fun example here, and here.

If you would rather not work in R and use a GUI, I suggest you give PNet a go. You can find it here. It allows you to run largely the same set of models as you can in the R implementation, but with a GUI. You can therefore look at the same tutorials (skip the code in them, but use the relevant menus in PNet instead). An excellent, recent, intro to these models is this book, and the PNet user manual is very clear and helpful as well.

Both statnet/ergm and PNet are free. This should get you going on the right track.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.