Modelos estatísticos: expectativa x realidade

 


Se você já estudou alguma matéria de estatística, seja você de qualquer área, já deve ter ouvido a advertência do professor: "Não importa o modelo, a quantidade de variáveis nele...é impossível fazê-lo capturar 100% da realidade, sempre haverá um erro". Neste post eu vou te mostrar porque isso acontece com um tema bastante comum e fácil de exemplificar: a música. Se você viu o post com o gráfico dos subgêneros do psytrance vai associar uma coisa com a outra, ou seja, o gráfico mostra o que é possível capturar do que está disponível e se apresenta para nós hoje, mas você entenderá que esse resgate do passado está longe da realidade em si. A figura de capa mostra essa perda, com círculos cada vez menores, e o impressionante é que mesmo com tão pouco conseguimos fazer modelos tão incríveis. Voltaremos à esta figura em detalhes, mas antes vamos bater um papo sobre instrumentos de coleta e viagens no tempo? Caso queira seguir direto para os motivos um a um, clique aqui.

De volta para o passado

Lá atrás, entre os séculos XVIII e XIX, entendeu-se que os erros nas medições eram inevitáveis e deu-se início então à busca por instrumentos e metodologias que visavam reduzir esses erros nos experimentos em todos os campos da ciência. Seja na astronomia, para medir a correta localização de um planeta ou órbita, seja na coleta de dados populacionais para cobrança de impostos, tornou-se cada vez mais necessário aprimorar a precisão da coleta dos dados. Essa busca direcionou o desenvolvimento da ciência que vemos até hoje através de um método. Método pressupõe rigidez nos passos que são dados para se chegar a uma determinada conclusão, por diversos motivos. O método, por exemplo, precisa ser generalizado, então precisa ser reproduzido e validado em diversos locais, sob diversas circunstâncias; pode ser que o dado seja muito escasso, afinal de contas, não era todo mundo naquela época que tinha um telescópio potente à disposição. Não dá para usar o telescópio toda hora, então tudo tem que ser planejado para minimizar o erro. As próprias condições de observação (ainda no exemplo dos planetas) podem levar meses ou até anos para ocorrerem novamente, então a precisão - a maior possível - é necessária no momento da medição.  

Ao longo do tempo, o método vai sendo revisitado e com os novos desenvolvimentos, principalmente os tecnológicos, vão sendo atualizados. O que era verdade há dois anos atrás não é mais. O investimento em tecnologia atua inclusive muito fortemente na parte física, seja no instrumento de coleta, seja no instrumento de medição do erro. Trazendo o exemplo da observação dos planetas para o dia de hoje, vemos o quanto é gasto na construção de telescópios mais potentes e precisos, e nos computadores que fazem as análises dos dados coletados. 

Instrumentos de Coleta na Música - Dados no Spotify

Estes mesmos computadores hoje podem ser aplicados na coleta de dados sobre qualquer coisa que exista, até porque o desenvolvimento deles foi tão massivo e acelerado que hoje cabem na palma das nossas mãos, nos smartphones. A própria música se desenvolveu: novos instrumentos (de coleta de dados sonoros para o ouvido humano) e estilos (metodologias de combinações sonoras ) surgiram, e com o advento da eletrônica, os sintetizadores começaram a ser utilizados para experiências musicais no início dos anos 80. Essas experiências foram sendo ampliadas, desenvolvidas, e assim como a ciência e os computadores, não pararam mais. No meio de toda essa sopa tecnológica, surge e se consolida a música eletrônica e cá estamos nós, em 2021, com os smartphones na mão e os fones nos ouvidos. Tudo fruto da diminuição do erro e dos novos desenvolvimentos da ciência, incluindo aí a ciência de dados com seus modelos de machine learning e big data.

Eu falei em sopa, né? Algo como "tudo junto e misturado". E é mesmo. O próprio smartphone, que veio do celular com o propósito inicial de fazer ligações telefônicas virou um agregador de instrumentos de coleta, que são os aplicativos. Claro! Lá tem tudo sobre você registrado: suas ligações, suas mensagens, seus dados de compra...tem até música, né? Pois é. O aplicativo, seja o Deezer, o Youtube Music, ou o Spotify está ali para fornecer as músicas que você gosta e prestar um bom serviço de seleção de músicas novas que você pode gostar, parecidas com as músicas que você tem o costume de ouvir para quer você continue utilizando o aplicativo, que geralmente é pago. Para chegar nesse nível de detalhe, o Spotify precisa tanto coletar os seus dados de utilização do aplicativo (músicas que ouve, gêneros, quanto tempo passa ouvindo....) quanto dados sobre as próprias músicas. Opa, peraí. O Spotify coleta dados sobre músicas? Isso mesmo! O Spotify pega o arquivo da música, passa por um algoritmo, e é como se cada detalhe da música pudesse ser extraído, como se cada onda sonora pudesse virar uma coluna de banco de dados. Com o poder computacional das suas máquinas, o Spotify passa a ser um instrumento de coleta de dados sobre músicas.

Pois bem. Não deverá ser surpresa para você se eu te disser que a quantidade de informação sobre uma única música é enorme. Não é surpresa também que ele mede absolutamente tudo que é feito no aplicativo. Vamos ser mais profundos? Número de deslizadas para o lado para saber as músicas que você não gosta, tempo que você demora para avaliar se gosta ou não de uma música...mais que isso, número de deslizadas para o lado que você dá sem ouvir uma música completa antes de sair do aplicativo, e tudo isso para você não deixar de pagar o aplicativo nem desinstalá-lo do seu smartphone. Spotify é big data aplicado de ponta a ponta na indústria da música para coletar, processar e entregar um resultado para nós que sustente o negócio deles. 

Só tem um problema. Os atributos - ou seja, características - que o Spotify mede em seu ambiente de big data é feito com modelos de machine learning. "E todo modelo, por mais variáveis que tenha..." . Pois é, simples assim: possui erros. E tá tudo bem, ok? O trabalho é louvável, os caras ganham milhões com um modelo que não é perfeito e é isso aí mesmo: é o que é possível hoje, com desenvolvimento contínuo fica cada vez melhor. É tanta informação, tanto dado com alta disponibilidade, que aquela rigidez toda lá do início acaba ficando um pouquinho de lado. Sob o ponto de vista de um negócio como o do Spotify, precisão é importante, mas não tanto quando numa decisão médica sobre um novo remédio. Se você pode ganhar muito dinheiro com algo que ainda está incompleto, você obviamente não vai deixar de ganhar dinheiro só porque seu modelo não é o melhor. Você vai ganhar dinheiro com o que tem e vai melhorá-lo cada vez mais. 

Em determinado momento, o Spotify decidiu abrir esses dados para a comunidade de desenvolvedores que quisessem trabalhar de forma independente com os dados das músicas, e até mesmo dos usuários. Foi quando eles criaram a API do Spotify e universalizaram o acesso a esses dados. 

Música Eletrônica

Pode ser que você ouça MPB, pagode, pop, samba ou música clássica. Outras pessoas vão ouvir estilos que você nunca ouviu falar. Uma delas sou eu vai, eu ouço música eletrônica. Pera, pera, pera. Dance e alguns pops podem ser consideradas músicas eletrônicas. Ouço uns estilos mais específicos, algo que poderíamos classificar como gêneros: ouço techno, ouço psytrance. Ficando no psytrance, você já sabe que não é tudo a mesma coisa né? Existem subgêneros, vertentes diferentes, com pegadas e públicos ouvintes que não são necessariamente os mesmos. Eu vou tentar te mostrar isso num próximo post, mas por enquanto fica com essa sugestão de que isso é verdade, ok? A música eletrônica possui diferenciações que podem ser sutis, mas que existem. O Spotify capta isso com seus algoritmos de leituras das músicas, e é assim que ele traz novidades para você e pra mim. 

Os dados que eu extraí e utilizei na construção de todos os gráficos na tentativa de entender as diferenciações entre os subgêneros que vieram do psytrance em si têm uma peculiaridade: são dados históricos coletados num momento posterior à sua ocorrência. Doido, né? Enquanto geralmente a ciência avança como eu descrevi no início do texto - com várias medidas sequenciais ao longo do tempo - o Spotify permite que os dados sejam coletados num momento posterior. Isso tudo porque a tecnologia da indústria fonográfica se desenvolveu de uma forma peculiar, permitindo que em algum momento "presente" toda a obra musical fosse digitalizada. Opa...toda não , vai. Uma grande parte. E uma vez digitalizada, ela é armazenada e fica disponível quase que para sempre. Isso é bom, porque permite a coleta dos dados das músicas, mas também tem seus contras. São esses problemas que fazem com que os gráficos e modelos, embora robustos, não reflitam a realidade dos fatos. Vamos ver agora cada um dos pontos de falha e entender o porquê disso tudo.

Os motivos, um por um

A figura da capa volta para ilustrar os níveis cada vez menores de realidade que conseguimos capturar com os dados até chegar no modelo, ou gráfico:

A -  REALIDADE (POPULAÇÃO)

Entenda o círculo de fora como todos os artistas, álbuns e músicas que podem ser classificados como sendo do gênero psytrance ou algum de seus subgêneros. É o que poderíamos chamar de população, o conjunto de todos os itens possíveis, desde o advento dos mesmos até os dias de hoje (ou o momento no qual se faz a análise). E aí vale definir o que pode ser considerado artista aqui. Para este estudo, eu considerei como artista todo nome de projeto que lançou um álbum em mídia que pudesse ser adicionada ao Spotify

Se o artista existiu, produziu músicas mas não as lançou, apenas performando "ao vivo", ele não pode ser considerado como artista neste estudo, pois o seu dado não pode ser mensurado pelo Spotify. Existe pelo menos um caso muito famoso do Vibe Tribe, projeto de psytrance que também tinha produções de nitzhonot mas que nunca foram lançados.

Há ainda o fato de nem todos os artistas quererem seu material no Spotify. Podem ter decidido por uma outra plataforma ou mesmo não expor seu material neste tipo de mídia. É incomum, mas possível. Contribuem aqui também álbuns que ficaram muito tempo em vinil e só foram lançados anos depois no formato digital (e comercializados no Spotify). O álbum Second Phaze, do Dimension 5, não consegui baixar para este estudo, pois ele só foi lançado na plataforma em 2020 após a extração.

B - DESCONHECIMENTO DA LISTA COMPLETA

Uma coisa é o artista não estar no Spotify. Outra é ele estar e você não conhecê-lo. E isso pode se dar de diversas formas. Pegando como exemplo o dueto Shiva Shidapu, eu não poderia considerar apenas este nome como válido, pois eles mudavam o nome do dueto dependendo de onde a música era lançada e aparecem como Shiva SidpaoShiva Space Technology e Shivasidpao. Em teoria são projetos formados pelos mesmos integrantes (Erez Aizen e Jörg Kessler), mas se eu não considerar esses nomes paralelos, estarei deixando de considerar uma parte importante da sua produção musical e, em última instância, da população, falhando na extração e prejudicando os resultados como um todo. Oficialmente, este dueto possui apenas um álbum lançado com 8 faixas. Abaixo, as aparições deste mesmo dueto em álbuns, singles e compilações de outros artistas:


São pelo menos 39 músicas adicionais que se perdem se considerarmos que é uma música do Shiva Shidapu em cada lançamento desse. É necessária a construção de uma estratégia para aproveitar o máximo que a API do Spotify fornece em termos de busca, saber não só os nomes principais dos artistas e seus aliases (os projetos paralelos), mas também os nomes dos álbuns, para complementar os resultados. Contudo, são escolhas que são limitadas pelo tempo, pela quantidade de material que se pode extrair de uma API, etc. Então eu já admito uma perda aqui. 

Dos nomes alternativos surge a preocupação de que possivelmente nunca se saberá a lista completa. A extração dos dados se dá de forma ativa por quem os extrai, ou seja, alguém com uma lista de artistas com álbuns e músicas a serem recuperadas, é muito, muito provável que não se tenha a lista completa, o que de certa forma enviesa os resultados. Neste estudo eu consegui compilar pouco mais de 780 nomes, o que está loonge de ser completa. Como exemplo deste "mar sem fim", segue no final do post o link que o Agneton, famoso produtor de Nitzhonot, compilou no site discogs. A quantidade de artistas neste estilo, nesta base, é incrível, muito maior que eu poderia imaginar. Se eu soubesse dessa lista antes, talvez conseguisse mais dados (se eles estivessem na plataforma) e o resultado do gráfico fosse diferente.

No entanto, devido à natureza, está tudo bem. Já dá para fazer coisas muito legais e identificar o que queria, que é a diferenciação entre os estilos através dos atributos das músicas fornecidos pela API do Spotify. 

C - ÁLBUMS, SINGLES, APPEARS ON e COMPILATIONS

Existem diversas formas de busca dos álbuns na API do Spotify. Uma delas, a que eu utilizo, é encontrar os álbuns através do id de um determinado artista. Com esta opção, é possível limitar a extração a um determinado tipo: álbum (que estamos acostumados, um lançamento do artista com seis ou mais faixas), singles (um lançamento com menos músicas, geralmente duas ou três, como se fosse lado A/lado B), appears on (quando uma música do Infected Mushroom aparece num album mix de outro artista, por exemplo, Paul Oakenfold) e compilation (quando há um conjunto de músicas do artista ou de um determinado gênero). Dando uma olhada na página principal do Astral Projection, é possível ver os quatro tipos de lançamentos:

Como neste estudo eu fico só com o tipo álbum, corro o risco de excluir os artistas que só tiveram os outros tipos de lançamentos, o que é especialmente comum para novos artistas e novos subgêneros, ou seja, estes tendem a ser subrepresentados no estudo. É um ponto de melhoria, e também oportunidade de realizar comparações do tipo antes e depois entre os estudos na diferenciação dos subgêneros. Será que incluir este tipos de lançamentos mudaria os resultados?

D - AUSÊNCIA DE FAIXAS

Material antigo que o artista não julga ter mais apelo para o seu público pode ser deixado de fora, assim como projetos paralelos com pouco material. Voltando ao dueto Shiva Shidapu, eles fizeram uma música incrível que eu adoro chamada Area51. Não lançaram, mas ela faz parte de um mix de outro dueto, este sim lançado por Eyal Barkan & Holymen no mix Over the Sunrise. Essa faixa não foi incluída no Spotify nem pelo Shiva Shidapu, nem pelo Eyal Barkan & Holymen. Problemas com direitos autorais também podem ser um impeditivo neste caso. A busca lá no Spotify que não encontra esta música específica (embora outros apareçam):

E - ASSOCIAÇÃO DE GÊNERO: SEM GÊNEROS OU MÚLTIPLOS GÊNEROS

Se eu quero analisar as músicas por gênero, preciso que ele esteja atribuído a todos os artistas. Não sou eu que atribuo, é o Spotify. Então pode ser que eu consiga achar o artista, um álbum...mas se o Spotify não tiver associado um gênero a ele, não fará parte da análise, eu perco o registro.

Como o Spotify atribui os gêneros, a metodologia e tal eu não sei. Sei que ao atribuir um gênero, o mesmo é atribuído a todos os álbuns e a todas as faixas daquele artista, o que não deixa de ser um erro, pois sabemos que artistas podem mudar com o tempo, e mesmo dentro de um único álbum você pode ter vários gêneros diferentes, como estratégia de diversificação do artista. Pode ser inclusive que o Spotify atribua vários gêneros:


Canyon, Carl Howard, Champa, Chris Arpad, dentre outros, não possuem nenhum gênero associado, enquanto que alguns podem ter até seis. Neste caso, ficamos sempre com a primeira atribuição. Mais um item na lista das difíceis decisões que precisam ser tomadas.

F - CROWDSOURCING?

Se eu pudesse chutar uma metodologia do Spotify, eu diria que ele utiliza os nomes das playlists dos usuários (e claro, as músicas contidas nelas) para refinar a atribuição dos gêneros. Isso pode resolver a atribuição de um gênero para que o artista não fique em branco, mas por outro lado também introduz o erro causado pela sabedoria popular. A maioria pode ou não estar certa. Não fazer deixa em branco. Então de qualquer forma, utilizado ou não, a atribuição via crowdsourcing gera erro.

G - AMBIGUIDADE: NOMES DE ARTISTAS OU ÁLBUNS

São muitos os artistas. É normal que alguns nomes não sejam únicos, ou muito parecidos, confundindo o algoritmo de busca, impedindo que o Spotify consiga desambiguar. Há possibilidades de contorno utilizando as opções de busca de forma combinada, mas isso, por simplicidade neste estudo também não foi implementado. É mais um ponto de melhoria, como mencionado acima.

Outro ponto relacionado à ambiguidade - podemos encarar como duplicidade - são os álbuns com nomes e/ou músicas ligeiramente diferentes:

Se você reparar, "Transdimensional" parece ter sido lançado em dois anos diferentes, 2007 e 2009. Trans-Addendum e Trans-Stellar têm dois álbuns cada, mas com o título e alguns nomes de músicas com ligeiras diferenças. No caso do nome dos álbuns é a inclusão de um traço que os diferencia. Dentro deles, as músicas Deep Space 5D e Return to the Source também possuem pequenas diferenças no nome: No caso da primeira, "Mix/Rmx" e na segunda, "to/To". Não dá para saber qual está vigente no Spotify, apenas indo no aplicativo, fazendo a busca, e comparando com o que está na base, num processo de validação árduo. A metodologia do estudo pode utilizar métodos que contornam este problema, desde que os atributos das músicas não mudem drasticamente de um álbum para outro.

H - DISPONIBILIDADE E PRECISÃO DAS INFORMAÇÕES

Não é para todos os artistas que o Spotify disponibiliza as informações. Você pode ter um nome único de artista, nomes e códigos de álbuns e mesmo assim o Spotify não retornar os atributos. Se eu pudesse chutar, diria que artistas com poucas músicas ou álbuns não valem "a alta disponibilidade" que o Spotify pode oferecer. Faz sentido comercialmente, os recursos devem ser alocados para quem dá mais lucro. O app disponibiliza a música para o ouvinte, mas não as informações para a API.

Além disso, o gráfico pode ficar distorcido com datas que possivelmente estão incorretas. O álbum To Sirius, do artista RA por exemplo foi lançado, segundo o discogs, em 2001, mas na plataforma aparece como tendo sido lançado em 2009, o que seria uma surpresa, pois presumivelmente álbuns exclusivos de goa deixaram de ser lançados realmente nesta época, entre 2000 e 2001. 

A diferença de datas entra o Spotify e o discogs. A data que apareceria no gráfico é a do Spotify. "Apareceria", porque eu não conhecia este artista na época da extração, e portanto ele não está na minha base.

I - ERRO

Como dito, o Spotify utiliza um modelo de machine learning para estimar os atributos das faixas. Esses algoritmos podem errar e não é incomum detectarmos alguns outliers nas estimativas do aplicativo. A própria API fornece esses dados de confiabilidade da estimativa. Os erros são "normais", lembra?

Finalmente chegamos aqui, na base analítica, sobre a qual possivelmente podemos construir um modelo. No próximo post eu vou detalhar o que chega para nós quando extraímos os dados do Spotify, os nós da API disponíveis, as opções de busca, e por aí vai. Até lá!

MODELOS ESTATÍSTICOS

Penso desenvolver dois modelos com esta base. Um de cluster, para ver se existe concordância entre o resultado e os gêneros, e uma segunda ideia, que surgiu desses erros, mais especificamente os gêneros não atribuídos. Porque não encarar esses artistas como a minha primeira base de escoragem? Seria o modelo em produção.

No entanto, antes de fazer esses modelos, é necessário saber se os gêneros são de fato gerenciáveis, e eu comecei isso inspecionando-os visualmente, começando pela evolução histórica dos subgêneros do psytrance. É também o que veremos em um dos próximos posts.

DISCOGS

O discogs.com é uma fonte inacreditável sobre lançamentos da música. Qualquer música. É alimentado pelos usuários segundo as regras que o próprio site define. Hoje, se eu fosse iniciar o projeto do Spotify, começaria fazendo um scrapping lá, para ter a lista do Spotify o mais perto possível da "população" e também um parâmetro de quanto o aplicativo representa do que existe no discogs.

Fontes

Como neste artigo eu cito muitas coisas e elas são fruto da pesquisa que fiz para complementar este post, seguem os links para quem quiser expandir a leitura (em inglês):

Ficou curioso para ouvir Area 51?

Tipos de Busca de Álbuns no Spotify

Fonte: Caso Vibe Tribe

Fonte: Lista do Discogs que fala do Dimension Five e Ra

Listas do Agneton no Discogs: 

Tha-Ultimate-NitzhonotUpliftingNitzhogoa-Database

Releases-With-NitzhonotUpliftingNitzhogoa-Tracks



Postagens mais visitadas deste blog

Um futebol de emoções: wordclouds em python mostram o que disseram os torcedores dos times do campeonato brasileiro de 2021

Anatomia de um Tweet e as transmissões de partidas de futebol pelo Twitter: o supra sumo da emoção

Storytelling com Dados - Box Plots