Votes, scores e ranks são, normalmente, utilizados em conjunto. Por exemplo, scores são funções utilizadas para reduzir dados multi-dimensionais para uma única dimensão. Com base nesse score, é possível ordenar os dados através de um rank. Assim, é possível acessar o n-ésimo elemento a partir de um rank. Votes, é um dos exemplos que pode ser reduzido a partir de uma função score.
Um exemplo comum é o ranking de produtos em uma página baseado na avaliação dos usuários. Nesse caso, a avaliação dos usuários são os votes. A partir destes, um score (normalmente a média, que não é uma boa opção) é calculado. Finalmente, os produtos são apresentados em um ranking com base no score.
Outros exemplos incluem o ranking de resultados de busca. Nesse cenário, mais detalhes podem ser levados em consideração e a função score pode ser probabilística. Por exemplo: $$ P(X) = P_r(X) \times P_c(X) \times P_l(X) $$
Em português: O score de uma página $X$ é calculado como $P(X)$. Sendo que esse score é a probabilidade conjunta do PageRank ($P_r(X)$), da relevância do conteúdo para o usuário ($P_c(X)$) e do idioma em que o texto está escrito em relação ao idioma do usuário ($P_l(X)$).
Em alguns casos não a distinção entre votes, scores e ranks não é muito clara. Por exemplo, o método de Borda é um sistema de votos que organiza o resultado pelo item com melhor score. Assim, existe o vote (o que cada usuário atribuiu para um item), o score (calculado a partir dos votes dos usuários), e um ranking final a partir dos scores.
Exemplo do método de Borda. Fonte.
Item / Usuário | Usuário A | Usuário B | Usuário C | Usuário D | Total / Ordem |
---|---|---|---|---|---|
Filme A | 1 | 2 | 1 | 1 | 5 |
Filme B | 3 | 1 | 2 | 2 | 8 |
Filme C | 2 | 3 | 3 | 4 | 12 |
Filme D | 4 | 4 | 5 | 3 | 16 |
Filme E | 5 | 5 | 4 | 5 | 19 |
No exemplo acima, cada usuário votou em um filme com uma nota de 1 à 5 (que é a ordem de preferência). Portanto, se existirem N filmes, o usuário teria que votar entre 1 e N. Outro detalhe é que o resultado final para um determinado filme é a simples soma dos votos de cada usuário.
No método de Borda só é necessário tomar cuidado porque os votos em posições centrais tendem a ter mais incerteza que os primeiros e últimos. Ou seja, existe maior certeza no que o usuário gosta e não gosta, mas os itens intermediários tem mais incerteza.
Ao trabalhar com ranks uma informação que pode ser importante é a correlação entre os usuários. Por exemplo, um item que é sempre muito bem avaliado é melhor que um item com avaliações boas e ruins. Para isso, uma estatística de correlação como o ICC(3, 1) pode ser melhor que a correlação de Pearson.
Outras ideias para ranks Link para o cabeçalho
Se o conjunto de dados a ser ordenado é composto por comparações binárias (A > B, B > C, A > C), é possível utilizar a ordenação topológica de um grafo. Outra opção é o método Elo Ranking, que parte de uma expectativa entre os elementos envolvidos na comparação e ajusta o resultado com base no resultado. Exemplo (algo comum em jogos):
- A ganha de B e B ganha de C
- Por transitividade, A ganha de C (tem o ranking melhor)
- Porém, se o resultado entre A e B foi inesperado (B deveria ganhar pela série histórica)
- A condição A ganha de C não é uma total certeza
- Portanto, é necessário que levar em consideração um “fator de sorte”
Outro detalhe importante sobre ranks é que a ordem não deveria ser calculada pela média
Propriedades desejadas em funções de score Link para o cabeçalho
- Fáceis de entender e calcular
- Interpretação monotônica das variáveis (variáveis aumentam de valor, o score também aumenta)
- Funciona com outliers (ao menos de forma satisfatória)
- As diferenças devem ser normalizadas (Z-scores são um bom exemplo)
Cuidados com sistemas de votos Link para o cabeçalho
Existem algumas propriedades desejadas em sistemas de votos que tornam os ranks difíceis. Algumas são:
- Se todos os votos preferem A sobre B, então A deve ter um rank melhor que B
- Transitividade: Se A > B e B > C, então A > C
- Outras
Entretanto, todas as propriedades não podem ser atendidas ao mesmo tempo. Essa é a conclusão do Teorema da impossibilidade de Arrow (um vídeo explicando). Portanto, é necessário escolher as preferências desejadas ao montar um sistema de votes e ranks para atender as demandas necessárias. Com base nessas escolhas, também será possível escolher o método de rank. Por exemplo, a transitividade é uma “propriedade violada” pelo Elo Ranking.
Scores ou Ranks Link para o cabeçalho
A diferença entre apresentar um score ou um rank vai do que se deseja apresentar. Uma pequena variação no score pode ser uma mudança significativa no rank. Se o resultado isolado faz sentido, apenas um score é suficiente. Caso contrário, incluir o rank ajuda na aprensetação.