place graphs
        are the new
        social graphs
       Matt Biddulph
       @mattb | matt@hackdiary.com

Every data scientist has their own favourite way of representing their data. For some people
it’s Excel, and they think in rows and columns. For others it’s matrices, and they use linear
algreba to interrogate their data. For me, it’s graphs.
We’re all pretty used to the idea that you can model human relationships in a social graph.
“Social network analysis
        views social relationships in
        terms of network theory
        consisting of nodes and ties.
        Nodes are the individual actors
        within the networks, and ties
        are the relationships between
        the actors.”

There’s a pretty deep area of mathematical study called Social Network Analysis that goes
back at least 20 years. It tries to create insight by analysing the structure of social networks,
and usually doesn’t incorporate any elements of culture or sociology in doing so.
Centrality
                                                               measures




It led to the creation of techniques like centrality measures, that try to find the nodes that are
most central to the network. These might be the kind of people on Twitter who have the
highest chance of being retweeted.
Community
                                                              detection




There are also community detection algorithms that try to find the most tightly-knit
subgraphs and cluster those nodes together. If you ran this over the network of people I
follow on Twitter, it might be able to pick out my work colleagues or the people I socialise
with face-to-face.
People you
                                                            may know




Sites like LinkedIn build almost-telepathic “people you may know” features by walking around
the graph starting at your node and looking for people that show up a lot in your
neighbourhood that you haven’t connected with yet.
But enough mathematics. Let’s talk about Belgium.
Belgium is a country in the northwest of Europe with some unusual cultural qualities. It’s
sandwiched between the Netherlands and France. About half of the country speaks French,
and the other half speaks Dutch. It’d be very interesting to study the patterns of interactions
in this country.
Researchers at Louvain in Belgium were lucky enough to do a joint project with a Belgian
mobile phone company. They had access to anonymised records of 2.6 million phone calls -
the record of which phone called which number when.

http://arxiv.org/pdf/0802.2178v2
Belgian
                                                                        phonecall
                                                                        network




Fast unfolding of communities in large networks, Blondel et al [2008]

They used these calls to construct a “call graph”. They were able to develop a community-
detection algorithm that could detect the two separate clusters of Dutch and French speakers
that were mostly only calling each other. The algorithm achieved this simply by analysing the
shape of the graph. It knew nothing about French, Dutch or phone calls.

http://arxiv.org/pdf/0803.0476
So let’s take a step back and think about what other kinds of graph we could form, from what
kinds of data.
I work in location apps at Nokia, and so I naturally think of places. Wouldn’t it be interesting
to study the connections between cities instead of people? For example, people probably fly
more often between NYC and LA than they do between NYC and New Jersey. We could re-
draw the map based on closeness in the travel network.
I turned to the Hadoop cluster at Nokia and took a sample of several weeks of logs from our
routing servers. These are used every time someone uses our maps application to request a
driving route from one place to another. Every time someone drove from A to B, I made an
edge in a “place graph” from A to B.
I ran the data through Gephi and asked it to cluster it based on the strength of connections
between towns. The result is a not-quite-geographic new map of the world, where two cities
are close to each other if people often drive between them.
UK

                                                            China
                                                               Korea,
                                                             Japan, etc



                Spain                           Most of Europe




                                                                             India
                                                                             Pakistan
             Finland                     Russia

As you’d expect, the UK is an island and so people don’t drive in and out of it very often.
Spain and Portugal are not islands, but they appear separate because they’re attached to the
rest of Europe by a very narrow neck of land. So people are much more likely to fly than drive
out of Spain.
How could we use this data in a practical application? Say I’m coming to New York to attend a
conference on big data. I could choose a hotel near the conference venue, but I’d rather see
more interesting parts of New York.
Where should
                                                         I stay?




If I’ve never been to New York before, I could ask a friend. I could tell them that I like
London’s West End and San Francisco’s downtown.
Times Square = Piccadilly Circus
          New York                London
If they know both towns, they’d probably tell me that Times Square is the Piccadilly Circus of
New York.
What is the Greenwich Village
       of Tokyo?
       ... the Noe Valley of New York?
       ... the Shibuya of Los Angeles?



But if we delve into the place graph, we could answer much more interesting questions, and
create a “neighbourhood isomorphism” from city to city. People who like the Mission in SF
and Shoreditch in London could find out that Williamsberg is probably the best place for
them to stay in New York.
Thank you.
Matt Biddulph
@mattb | matt@hackdiary.com

Place graphs are the new social graphs

  • 1.
    place graphs are the new social graphs Matt Biddulph @mattb | matt@hackdiary.com Every data scientist has their own favourite way of representing their data. For some people it’s Excel, and they think in rows and columns. For others it’s matrices, and they use linear algreba to interrogate their data. For me, it’s graphs.
  • 2.
    We’re all prettyused to the idea that you can model human relationships in a social graph.
  • 3.
    “Social network analysis views social relationships in terms of network theory consisting of nodes and ties. Nodes are the individual actors within the networks, and ties are the relationships between the actors.” There’s a pretty deep area of mathematical study called Social Network Analysis that goes back at least 20 years. It tries to create insight by analysing the structure of social networks, and usually doesn’t incorporate any elements of culture or sociology in doing so.
  • 4.
    Centrality measures It led to the creation of techniques like centrality measures, that try to find the nodes that are most central to the network. These might be the kind of people on Twitter who have the highest chance of being retweeted.
  • 5.
    Community detection There are also community detection algorithms that try to find the most tightly-knit subgraphs and cluster those nodes together. If you ran this over the network of people I follow on Twitter, it might be able to pick out my work colleagues or the people I socialise with face-to-face.
  • 6.
    People you may know Sites like LinkedIn build almost-telepathic “people you may know” features by walking around the graph starting at your node and looking for people that show up a lot in your neighbourhood that you haven’t connected with yet.
  • 7.
    But enough mathematics.Let’s talk about Belgium.
  • 8.
    Belgium is acountry in the northwest of Europe with some unusual cultural qualities. It’s sandwiched between the Netherlands and France. About half of the country speaks French, and the other half speaks Dutch. It’d be very interesting to study the patterns of interactions in this country.
  • 9.
    Researchers at Louvainin Belgium were lucky enough to do a joint project with a Belgian mobile phone company. They had access to anonymised records of 2.6 million phone calls - the record of which phone called which number when. http://arxiv.org/pdf/0802.2178v2
  • 10.
    Belgian phonecall network Fast unfolding of communities in large networks, Blondel et al [2008] They used these calls to construct a “call graph”. They were able to develop a community- detection algorithm that could detect the two separate clusters of Dutch and French speakers that were mostly only calling each other. The algorithm achieved this simply by analysing the shape of the graph. It knew nothing about French, Dutch or phone calls. http://arxiv.org/pdf/0803.0476
  • 11.
    So let’s takea step back and think about what other kinds of graph we could form, from what kinds of data.
  • 12.
    I work inlocation apps at Nokia, and so I naturally think of places. Wouldn’t it be interesting to study the connections between cities instead of people? For example, people probably fly more often between NYC and LA than they do between NYC and New Jersey. We could re- draw the map based on closeness in the travel network.
  • 13.
    I turned tothe Hadoop cluster at Nokia and took a sample of several weeks of logs from our routing servers. These are used every time someone uses our maps application to request a driving route from one place to another. Every time someone drove from A to B, I made an edge in a “place graph” from A to B.
  • 14.
    I ran thedata through Gephi and asked it to cluster it based on the strength of connections between towns. The result is a not-quite-geographic new map of the world, where two cities are close to each other if people often drive between them.
  • 15.
    UK China Korea, Japan, etc Spain Most of Europe India Pakistan Finland Russia As you’d expect, the UK is an island and so people don’t drive in and out of it very often. Spain and Portugal are not islands, but they appear separate because they’re attached to the rest of Europe by a very narrow neck of land. So people are much more likely to fly than drive out of Spain.
  • 16.
    How could weuse this data in a practical application? Say I’m coming to New York to attend a conference on big data. I could choose a hotel near the conference venue, but I’d rather see more interesting parts of New York.
  • 17.
    Where should I stay? If I’ve never been to New York before, I could ask a friend. I could tell them that I like London’s West End and San Francisco’s downtown.
  • 18.
    Times Square =Piccadilly Circus New York London If they know both towns, they’d probably tell me that Times Square is the Piccadilly Circus of New York.
  • 19.
    What is theGreenwich Village of Tokyo? ... the Noe Valley of New York? ... the Shibuya of Los Angeles? But if we delve into the place graph, we could answer much more interesting questions, and create a “neighbourhood isomorphism” from city to city. People who like the Mission in SF and Shoreditch in London could find out that Williamsberg is probably the best place for them to stay in New York.
  • 20.
    Thank you. Matt Biddulph @mattb| matt@hackdiary.com