Grafos pra que? Visualização de Dados e Manipulação


Com os protestos no Brasil, o mapeamento das manifestações através dos grafos parece ter seduzido a imprensa e o público. São pessoas pedindo grafos, pessoas achando grafos lindos...  Por isso resolvi interromper os posts sobre ARS para escrever esse texto. Grafos são representações. E por serem representações, não podem ser tomados sem contexto, porque estão a mercê do pesquisador que os construiu. Grafos são representações de dados, que podem literalmente dizer qualquer coisa se você não tomar cuidado com o modo de coleta e com a forma de representação. O grafo não é o fim, em si, ele é um meio de representar a estrutura das coisas que você está vendo no mundo real (ou, no caso, virtual), que é manipulado pelo pesquisador. Num artigo científico, por exemplo, você jamais vai ver um grafo sem o contexto da pesquisa, método e limites da coleta, porque ele é uma mera ilustração. 

Para dar um exemplo, plotei grafos referentes ao mesmo dataset, ou seja, um conjunto de tweets coletados a partir do search, no dia 17 de julho, com os termos "jornada mundial da juventude". Inicialmente, foram coletados 10 mil tweets.  Entretanto, um bom grupo deles são tweets do mesmo ator, que no grafo aparece então representado várias vezes. Vamos juntar, portanto, os nós que se repetem. Ficamos com 8603 tweets e 7725 contas individuais. (Essa parte é importante, porque você pode já começar a manipular aqui. Em alguns casos, você tem MUITOS tweets da mesma ou mesmas pessoas - spam.) Vamos agora brincar com a visualização. Como sempre, cliquem nas imagens para ver em tamanho maior.

jornada1.png
Nesse primeiro momento, plotei o grafo com um algoritmo de visualização que aproxima os nós interconectados e afasta os nós sem conexão. Só que eu não deixei o mesmo rodar muito tempo. O que aconteceu? Vejam só, temos o que parece ser um cluster de nós super conectados falando da JMJ. Ou seja, parece que temos um grupo conversando, citando uns aos outros e tuitando adoidado. Mas será? Vamos deixar o algoritmo rodar mais um pouco pra ver o que acontece...

jornada2.png

Cadê o cluster que estava ali? Ao contrário, temos alguns nós mais conectados, ou seja, e um monte de nó que simplesmente citou a jornada. Não tesmo mais um único cluster, mas vários que parecem interconectados. Mas vamos deixar o algoritmo rodar mais um pouco...

jornada3.png
E eis que a maioria dos clusters se dissolve em vários pequenos clusters. Ao contrário da hipótese do primeiro grafo, vemos que não há um monte de gente conversando sobre o assunto, mais alguns nós repercutindo informações em pequenos grupos. E a pergunta-chave, o que esses nós representam?  Vejam que no primeiro caso, parece que temos um monte de gente conversando a respeito da jornada, certo? Errado. Tem pouca gente conversando. Vejam o que acontece quando eu afasto os nós que não estão conectados aos hubs do centro do grafo. Aí vemos mais claramente que há vários tweets sobre a jornada, mas nao necessariamente conversas. E quando você vai olhar mais de perto, observa que são veículos midiáticos repercutindo notícias entre seus grupos de leitores, que dão RT nas mensagens.

Vejam ainda outra visualização dos mesmos dados, com outro algoritmo. Parece que temos, de novo, outro universo de conversas, com alguns nós que repercurtem horrores. Mas você já viu que este não é o caso. Os hubs, ou conectores, repercutem muito em pequenos grupos, mas não em toda a rede como parece que o grafo a seguir mostra.

jornada4.png
Quando você efetivamente calcula as medidas da rede, você percebe que essa rede não é tão pouco centralizada quando parece no início.  Ao contrário, ela tem vários hubs (veiculos) que repercutem.  principalmente através de retweets, mas em grupos menores, porque são hubs diferentes. Há vários centros, com um alto indegree e vários hubs.  Enquanto alguns são imprensa católica, outros são imprensa tradicional. Portanto, nenhuma surpresa que uns não repercutam nos grupos dos outros. É uma rede, portanto, bastante desconectada, bem ao contrário do que parece mostrar esse último grafo.

Meu ponto? O grafo por si só não diz nada. É só uma ilustração. Se você quer dizer alguma coisa com o grafo, apresente o método de coleta,  as medidas que você está vendo. A menos que seu objetivo seja só ilustrar. Mas sempre levem em conta que um grafo pode ser sim, manipulado e que é apenas uma representação.