Mostrar mensagens com a etiqueta Gephi. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta Gephi. Mostrar todas as mensagens

quinta-feira, 31 de agosto de 2023

O acesso ao ensino superior

As listas de candidatos aos cursos do ensino superior em Portugal são públicas e disponíveis no sítio da Direcção-Geral do Ensino Superior.
Cada candidato pode escolher seis cursos, e um algoritmo tenta satisfazer da melhor forma as escolhas de cada um, tendo em conta a sua nota de acesso ao ensino superior e as suas escolhas pessoais. Os alunos vão sendo colocados começando pelos de nota de acesso mais elevada e quando chega a vez de cada um vale o curso ainda disponível em lugar mais elevado na lista de escolhas.
Nem todos são colocados por este método, e por exemplo este ano apresentaram-se a concurso, na primeira fase, 59073 candidatos para 54363 vagas colocadas a concurso, tendo sido colocados 49438 novos estudantes, e sobrado 5212 vagas para a segunda fase do concurso.
O estudo das escolhas de cada candidato permite extrair muitas ilações sobre a pespectiva que os alunos têm da oferta de cursos, e da capacidade de mobilidade de cada um, que lhe permitirá ou não dar mais preferência à área científica do curso ou à localização da Universidade.
Apresento um estudo de todas as 11317 candidaturas aos 22 cursos universitários disponíveis nas áreas de Engenharia Informática e de Ciência de Dados. Graficamente, as candidaturas definem uma rede bipartida, em que cada aresta liga um dos 5890 candidatos a um dos 6 cursos do conjunto de estudo.
Candidatos aos cursos de Engenharia Informática e de Ciência de Dados
Curiosamente, verifica-se que destes 5890 candidatos houve apenas 54 que colocaram as suas 6 escolhas neste conjunto de 22 cursos.
Na figura utilizou-se um algoritmo de colocação dos nós que coloca mais próximos aqueles cursos que têm mais ligações entre eles, ou seja, haja mais candidatos aos dois em simultâneo, e um algoritmo de detecção de comunidades a que fiz corresponder cores diferentes.
Os dois cursos do Porto destacam-se como comunidade [laranja], Minho e Vila Real constituem outra [azul], Aveiro, Coimbra e Beira Interior, uma terceira [verde], e os cursos localizados em Lisboa uma outra [violeta], numa clara arrumação geográfica, que mostra que este factor é muito importante na escolha dos cursos.
Na figura seguinte, retiveram-se apenas as escolhas em primeira opção, como tentativa de entender as estratégias utilizadas pelos candidatos nas suas candidaturas.
Escolhas em primeira opção
No lado direito da figura, as opções entre Engenharia Informática no Porto e no Minho, ou entre Engenharia Informática e Inteligência Artificial e Ciência de Dados no Porto, que muitas dores de cabeça devem ter dado a muitos candidatos, nomadamente quando se desconfia que não haverá lugar nem para todos que colocaram o curso em primeira opção. 
Muito haveria a explorar e a comentar, mas aqui fica apenas a nota da importância da visão de rede dos problemas do dia a dia, nomeadamente no estudo de comportamentos e decisões.

quarta-feira, 10 de novembro de 2021

Rotas aéreas

A rede das ligações aéreas é muito interessante. Há aeroportos grandes e pequenos, com muitas e com poucas ligações, próximos de uns e distantes de outros, seja a distância física ou a inexistência de uma ligação através de uma ou mais rotas.
O site OpenFlights tem muitas funcionalidades interessantes e uma área de dados no Github que, embora desactualizada, permite o acesso a informação vital para o estudo desta rede.
O ficheiro routes.dat lista todas as rotas comerciais de passageiros na data da sua actualização, e pode ser facilmente aberto no Gephi. Cada linha é uma aresta de um grafo direccionado (source, target na terminologia Gephi).

3425 aeroportos e 37595 rotas

O tamanho de cada vértice é proporcional ao seu grau de saída ponderado, ou seja, o número de descolagens do aeroporto que lhe corresponde, as cores correspondem às classes de modularidade (clusters) que a ferramenta Gephi encontrou, e a disposição (layout) resultou da aplicação do algoritmo Force Atlas.
Os clusters são interessantes, e distinguem-se bem a Europa, a azul, a América do Norte, a verde, a China, a turquesa, e o Sudeste Asiático. cor de rosa, com a particularidade, que se entende, de Heathrow (LHR, Londres) se situar no cluster americano.

quinta-feira, 14 de outubro de 2021

Número de Erdős

Paul Erdős foi um famoso matemático húngaro (1913-1996) que escreveu mais de 1500 artigos científicos, grande parte deles em co-autoria com outros matemáticos, com quem colaborou ao longo da sua vida. 
As co-autorias de artigos científicos definem uma rede: dois autores estão ligados entre si se tiverem sido co-autores de pelo menos um artigo, podendo mesmo atribuir-se um peso a cada ligação, o número de artigos em que foram co-autores.

Vista parcial da rede de co-autorias

O número de Erdős de um autor é a distância neste rede entre esse autor e Paul Erdős, sendo 0 para o próprio Paul Erdős, 1 para os co-autores dos seus artigos, 2 para os co-autores de artigos com autores com número de Erdős 1, e assim sucessivamente.
Segundo o The Erdős Number Project, da Universidade de Oakland, haverá actualmente uns 268000 autores com número de Erdős, sendo o de todos, excepto 5, inferiores a 13.

Autores por número de Erdős

Usando os dados disponibilizados por The KONECT Project, em 2002 havia 6927 autores com número de Erdős igual ou inferior a 2, com os quais construí a rede de co-autorias, que aqui disponibilizo no formato SVG, para poder ser facilmente explorado num browser.
Apenas dois destes autores são portugueses: Tiago de Oliveira e Dias da Silva.
Usei Gephi 0.9.2 para chegar a este resultado.

terça-feira, 8 de dezembro de 2020

As transferências de jogadores de futebol

Encontrei há uns tempos um dataset com as 250 transferências de jogadores de futebol mais caras, cada ano, entre 2000 e 2018.
São 615 os clubes envolvidos, e achei curioso estudar esta rede.
Comecei por fazer um ranking dos clubes pelo número total de transferências


e registando também o grau In (total de jogadores recebidos) e o grau Out (total de jogadores transferidos).
São os tubarões de costume, uns com saldo positivo e outros com saldo negativo entre o In e o Out, tudo com o seu significado.
A rede de transferências que envolve estes clubes mostra a existência de um certo número de "comunidades" de clubes e alguma subtis diferenças quando se consideram os jogadores recebidos


ou os jogadores transferidos


As comunidades detectadas representam conjuntos de clubes em que há mais transferências intra comunidade do que entre comunidades.
Todo um "mundo" a explorar...

sexta-feira, 8 de novembro de 2019

Um ranking ATP

Estabelecer o ranking dos jogadores profissionais de ténis ao logo de uma época ou de um conjunto de épocas é uma tarefa complexa.
Não jogando todos contra todos, pode pontuar-se mais os resultados em torneios mais valiosos, com os pontos crescendo de eliminatória para eliminatória, como actualmente é feito, ou pode considerar-se cada resultado como uma interacção entre dois jogadores (direccionada, do vencido para o vencedor, por exemplo) e usar uma métrica de ranking da rede de resultados (PageRank ou eigenvector) para o ranking global, valorizando mais as vitórias sobre jogadores melhor classificados.
No sítio data.world encontramos um ficheiro muito completo com todos os resultados de todos os torneios de ténis ATP desde 2000-01-31 até 2019-10-27 (54846 jogos, ao longo de quase 20 anos), do qual extraímos facilmente uma lista de pares ordenados (vencido, vencedor) que abrimos na ferramenta Gephi.
Nesta figura, onde só constam os jogadores com mais de 100 vitórias, temos os vértices da redes e etiquetas com tamanho proporcional ao PageRank e usamos o algoritmo fornecido para descobrir comunidades, que acabou por agrupar os jogadores de acordo com as gerações a que pertencem e também com os continente em que mais vezes jogam:


Sem surpresas, Federer, Nadal e Djokovic lideram este ranking.
O que fica patente é que seria possível aprofundar este estudo, ver as dinâmicas das classificações ano a ano, ver a influência dos pisos dos courts, etc.
Deixo a sugestão...

terça-feira, 13 de agosto de 2019

Os TopColegas

Nada como um pequeno desafio para estudar um assunto qualquer.
Tenho vindo a estudar algumas packages muito interessantes de Python, nomeadamente Requests: HTTP for Humans, que simplifica os acessos a páginas Web, e NetworkX, para redes complexas e grafos.
Para me ajudar neste estudo, coloquei a mim próprio um pequeno desafio, que consistiu em utilizar uma plataforma muito interessante sobre jogadores de futebol - ForaDeJogo - e nomeadamente uma funcionalidade designada por TopColegas, que, para cada jogador, indica quais os outros jogadores que foram seus colegas o maior número de épocas.
Estudando a estrutura das páginas dos jogadores, e começando por um jogador, não é difícil descobrir uma forma de se extrair a informação necessária, e repetir sucessivamente a operação para cada colega, colega de colega, etc.
O meu pequeno programa produz os ficheiros csv de vértices e arestas que podem ser abertos directamente pela ferramenta Gephi, permitindo a obtenção de redes como esta:


Utilizei o algoritmo Force Atlas para o posicionamento dos vértices da rede.
Fico a aguardar reacções...

segunda-feira, 8 de julho de 2019

Todos os números vão dar a um

Uma conjectura conhecida - Collatz - diz que, tomando um número inteiro positivo e aplicando sucessivamente a seguinte regra
 - se o número for par, divido-o por 2,
 - se o número for ímpar, multiplico-o por 3 e somo 1,
chego inevitavelmente ao número 1.
Procurei as sequências para todos os números entre 1 e 100, e interpretei-as como uma rede de números, em que cada um aponta para o seguinte, segundo a regra anterior.
No total, passei por 251 números, e encontrei todo o tipo de percursos, desde o rápido até ao muito trabalhoso, como esta figura mostra


O caso mais interessante é o do número 97, que é aquele que requere mais iterações para se chegar finalmente ao número 1...
E o número maior por onde passei foi o 9232.
(coloquei aqui uma imagem de maior resolução)

terça-feira, 21 de maio de 2019

Geo-política da Eurovisão

Os dados das votações no Festival da Eurovisão revelam aspectos muito interessantes das relações entre os países, desde a simples simpatia entre eles até trocas obscuras de votos, como ainda se viu no último festival em Israel.
Esses dados estão disponibilizados por exemplo no site data.world, voto a voto, país a país, de 1975 a 2019.
Neste pequeno estudo, utilizei apenas as votações dos júris nas finais (ultimamente passou a haver duas meias finais, e voto popular), considerando todos os votos que cada país atribuiu a cada um dos outros, tendo obtido o grafo seguinte:


Neste grafo, o tamanho de cada vértice é proporcional ao número de votos recebido por cada país, e o seu posicionamento foi obtido utilizando um algoritmo de forças disponível no programa Gephi, que aproxima os vértices entre os quais as relações são mais intensas.
A Suécia foi o país que mais votos acumulou nestes 45 anos, e Andorra nunca recebeu um único voto...
As cores correspondem às três classes de modularidade descobertas pelo programa Gephi, que curiosamente dão uma leitura geo-política interessante: a laranja a velha Europa, a verde os países nórdicos, e a roxo a Europa de leste, com as suas excepções, naturalmente.
Ou não fosse esta análise essencialmente social.
[coloquei uma imagem de maior resolução aqui]

domingo, 21 de abril de 2019

A rede de páginas do FCP no Facebook

A ferramenta netvizz v1.6 de Bernard Rieder permite obter as páginas que seguem uma determinada página no Facebook e as ligações entre elas (profundidade 1) e ainda todos as páginas que seguem cada uma destas e as ligações entre elas (profundidade 2).
Experimentei a sua versão actual, depois das limitações impostas pelo Facebook, usando como ponto de partida a página oficial do Futebol Clube Porto, que tem cerca de 4 milhões de seguidores individuais.
Encontrei uma rede com um total de 961 páginas e 5089 ligações entre elas.
Abri o ficheiro gdf produzido na aplicação Gephi, calculei o grau in de cada vértice, que usei para definir o seu tamanho no grafo, e usei o algoritmo para determinação de classes de modularidade para pesquisar clusters.
Encontrei 10  clusters, que colori usando uma paleta de cores gerada automaticamente no Gephi, e usei o layout Force Atlas para separar os clusters encontrados.


O resultado encontrado evidencia os diferentes universos em que o clube está presente, que vão desde o futebol ao andebol, da cidade às competições europeias, dos órgãos de comunicação social aos patrocinadores, e mesmo ao México, onde estão um número significativo dessas páginas.
[coloquei uma imagem de maior resolução aqui]

segunda-feira, 10 de dezembro de 2018

Actores de cinema

Descobri recentemente um ficheiro com os dados de 1000 filmes realizados entre 2006 e 2016, retirados da base de dados  IMDb.
Como numa coluna desse ficheiro estão os principais actores que contracenaram em cada um dos filmes, há aqui uma oportunidade para se visualizar a rede de todos os actores que intervieram naqueles filmes, através da relação terem contracenado em pelo menos um filme.
Um programa que escrevi (em Python) permitiu extrair os pares de relações, e a ferramenta Gephi permite obter uma panóplia de métricas, e nomeadamente a sua visualização


São 1985 actores e 5754 pares de actores, alguns dos quais ocorrem mais que uma vez.

quinta-feira, 1 de novembro de 2018

Vídeos relacionados

O YouTube tem uma possibilidade muito interessante que são os vídeos relacionados.
Partindo de um vídeo, podemos chegar assim a um conjunto de vídeos relacionados (pelo algoritmo do YouTube), de cada um destes a um outro conjunto de vídeos relacionados, e assim sucessivamente, enquanto o desejarmos.
Um conjunto de ferramentas desenhadas pela equipa de Bernhard Rieder na Digital Methods Initiative permite extrair redes originadas por este conceito, admitindo ainda um conjunto adicional de parâmetros que a torna muito flexível.
As redes obtidas podem ser descarregadas no formato gdf, e analisadas directamente pelo Gephi.
Fizemos uma experiência muito simples, partindo de um vídeo inicial (no caso Nada Mudou), 10 iterações e um nível apenas.


Encontramos 153 vídeos e 2759 relações entre eles, uma rede direccionada com densidade 0.119.
Usando o algoritmo de Blondel do Gephi, encontramos 4 comunidades, com modularidade 0.262, e dispusemos os vértices da rede usando um algoritmo de forças


Uma primeira análise muito elementar mostra que estas quatro comunidades fazem sentido, e que a ferramenta pode ser utilizada para explorar este universo da música e dos vídeos.

quarta-feira, 14 de junho de 2017

Netvizz

As ferramentas Netvizz foram desenvolvidas inicialmente por Bernhard Rieder, da Universidade de Amsterdão, no âmbito da iniciativa Digital Methods. Neste artigo, Rieder apresenta as motivações e os resultados daquele projecto, que permite explorar grupos e páginas Facebook e descobrir as redes e as dinâmicas subjacentes.
Deixo aqui o resultado duma recolha de dados muito simples que fiz hoje, e que consistiu em descobrir todas as páginas Facebook que fizeram "gosto" na página da FEUP (Faculdade de Engenharia da U.Porto), e todas as páginas que fizeram "gosto" nestas, ou entre elas, digamos que o universo social da FEUP.
Recolhi 363 páginas e 3346 interacções, que estão representadas nesta rede. Cada nó é uma página, o seu tamanho é proporcional ao número de gostos que recebeu e a côr e a posição estão associados às comunidades que uma aplicação conhecida de análise de redes - Gephi - identificou.
É possível identificar facilmente algumas destas comunidades.
Fico à espera de questões e de comentários...

quarta-feira, 29 de março de 2017

#Brexit

Gephi é uma das aplicações mais interessantes para o estudo de redes.
É opensource, tem uma arquitectura que permite o desenvolvimento de plugins por terceiros, sofreu uma evolução recente que melhorou a estrutura interna de dados, e é de uso obrigatório por quem se interesse por estes problemas.
Um plugin muito útil é o Twitter Streaming Importer, que oferece um conjunto de possibilidades muito atractivas, e que permite nomeadamente obter redes de co-ocorrências de hashtags ou redes de interacções entre utilizadores,
Enquanto escrevia este texto, iniciei uma recolha em tempo real de co-ocorrências de hashtags com a hashtag #brexit
Em 12 minutos, foram detectadas mais de 1000 hashtags diferentes, cujo estudo permite obter interpretações muito úteis dos sentimentos que neste momento percorrem a "twitosfera".
Aqui, deixo uma imagem da rede de hashtags, passados uns 15 minutos, e agora com mais de 1500 nós
Começa a notar-se uma certa organização.
Sem querer fazer um estudo aprofundado aqui, mostro agora os pares de hashtags mais frequentes ao fim de 30 minutos, no dia em que a carta de Theresa May chegou a Bruxelas
Se algum dos leitores considerar interessante esta visão e quiser explorar a análise e visualização de redes neste e noutros contextos, estou 100% disponível para ajudar.

quinta-feira, 15 de setembro de 2016

Co-escolhas

As redes surgem onde menos as esperamos...
Na Faculdade de Engenharia  há dez cursos no concurso nacional de acesso, uma licenciatura e nove mestrados integrados, totalizando 893 vagas. Em 2016, houve 3276 candidatos diferentes na primeira fase que escolheram pelo menos um dos cursos da FEUP, dos quais 1843 como primeira opção.
As listas de candidatos aos cursos da Faculdade de Engenharia estão disponíveis, e este quadro resume a situação (abstenho-me de descodificar as siglas...)
Mesmo que a procura estivesse alinhada com a oferta, apenas cerca de metade dos candidatos que elegeram a FEUP em primeiro lugar teria sucesso, mas como não está, a situação é pouco simpática para um grande número de candidatos.
No sítio certo, farei brevemente uma análise desta questão e das suas vastas implicações.
Curiosamente, as (até) seis opções que cada candidato pode escolher definem relações entre os cursos, não completamente definidas nem iguais para todos, mas certamente que para cada candidato o conjunto de cursos escolhidos faz algum sentido. Daqui pode nascer uma visão dos cursos em rede!
Nesta imagem temos uma rede bimodal em que dez dos seus nós são os cursos de entrada na FEUP e os restantes 3276 são os alunos candidatos
Quando um aluno escolhe dois cursos, por exemplo, estabelece uma relação entre esses cursos. Considerando todas as relações resultantes destas co-escolhas, e usando um algoritmo de layout apropriado, os nós correspondentes a cursos mais procurados em simultâneo aproximam-se. Assim, esta imagem dá uma ideia da percepção que os candidatos têm da proximidade entre os vários cursos.
As diferentes cores correspondem a classes calculadas automaticamente pela ferramenta Gephi, que usei, e que, por alguma razão, associou dois pares de cursos: Engenharia Mecânica e Engenharia e Gestão Industrial, e Engenharia do Ambiente e Engenharia de Minas e Geoambiente.
A revisitar.