Mostrar mensagens com a etiqueta software. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta software. 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.

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...

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]

domingo, 24 de março de 2019

Redes de co-autoria

A produção científica dá diversas oportunidades de criar, observar e medir redes: os autores colaboram entre si, escolhem listas de palavras chave, citam outros autores, escolhem revistas onde publicar, etc, e todas estas actividades se podem traduzir em redes científicas e em medidas nomeadamente de clustering ou de ranking.
O CWTS - Centro de Estudos de Ciência e Tecnologia da Universidade de Leiden, Holanda, investiga nestas áreas e disponibiliza algumas ferramentas interessantes de visualização e análise de redes, nomeadamente o VOSviewer, que permite visualizar e analisar redes bibliométricas, nomeadamente a partir dos dados de Web of Science, Scopus ou Dimensions.
É um mundo muito interessante, que mostra como as pessoas colaboram e como os caminhos da ciência se vão construindo.
Neste exemplo muito simples, pesquisei a base de dados Scopus com os termos holonic manufacturing, tópico em que tive alguma produção científica.
Encontri 785 artigos científicos, e com a ferramenta VOSviewer desenhei a rede de co-autorias desses artigos, que aqui apresento com uma visualização tipo densidade.


Como seria de esperar, faço parte dessa rede, e bem próximo está o meu antigo aluno de doutoramento Paulo Leitão, que entretanto já ganhou vida própria, com o que muito me congratulo.

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.

sábado, 12 de dezembro de 2015

Distância, excentricidade e diâmetro

A distância entre dois nós é medida pelo número mínimo de lados que é necessário percorrer para chegar de um nó ao outro (distância geodésica). Numa rede direccionada, cada lado só pode ser percorrido no sentido permitido.
A excentricidade de um nó é a distância (geodésica) entre esse nó e o nó mais afastado onde se pode chegar partindo do nó em causa.
Por exemplo, nesta rede

o nó 1 tem excentricidade 3, pois tem o nó 5 à distância 3 (dois caminhos: 1 - 2 - 4 - 5 e 1 - 3 - 4 - 5), os nós 2 e 3 têm excentricidade 2, o nó 4 tem excentricidade 1 (do nó 4 só se pode chegar ao nó 5) e o nó 5 tem excentricidade 0 (de 5 não se chega a nenhum outro nó).
A maior distância é o diâmetro da rede, neste caso, 3.
Podemos ver o relatório produzido pelo software SocNetV


De notar a simplicidade com que podemos calcular estes valores com o recurso a software apropriado.

terça-feira, 8 de dezembro de 2015

Software (1)

Há ferramentas de software muito interessantes para análise de redes.
Já foram muito populares Ucinet/Netdraw e Pajek, e mais recentemente NodeXL e Gephi, esta última considerada a mais poderosa. Todas acabaram por definir formatos próprios para os ficheiros de dados, que se foram tornando standards de facto.
Uma ferramenta de software que uso regularmente, SocNetV, usa como formato nativo a norma .graphml, e recomendo vivamente a sua utilização.


Importa e exporta outros formatos, e disponibiliza uma selecção de métodos de análise e de visualização adequados a muitas situações.
Numa fase de aprendizagem, a introdução/eliminação manual de vértices/arestas é muito útil.
Utilizaremos todas estas, e não só.

Referências:
 - Kalamaras D. Social Network Visualizer (SocNetV). Social network analysis and visualization software. Home page: http://socnetv.sourceforge.net
 - Francisco Restivo's recommended sites. Tools. https://sites.google.com/site/frestivo/networked-life/tools