Como provar que a classificação Elo ou o ranking da página têm um significado para o meu conjunto?


13

Eu tenho um conjunto de jogadores. Eles jogam um contra o outro (em pares). Pares de jogadores são escolhidos aleatoriamente. Em qualquer jogo, um jogador ganha e outro perde. Os jogadores jogam entre si um número limitado de jogos (alguns jogadores jogam mais, outros menos). Então, eu tenho dados (quem ganha contra quem e quantas vezes). Agora, suponho que todo jogador tenha um ranking que determine a probabilidade de ganhar.

Quero verificar se essa suposição é realmente verdade. Claro, eu posso usar o sistema de classificação Elo ou o algoritmo PageRank para calcular uma classificação para cada jogador. Mas, calculando classificações, não provo que elas (classificações) realmente existem ou que significam alguma coisa.

Em outras palavras, eu quero ter uma maneira de provar (ou verificar) que os jogadores têm pontos fortes diferentes. Como eu posso fazer isso?

ADICIONADO

Para ser mais específico, tenho 8 jogadores e apenas 18 jogos. Portanto, existem muitos pares de jogadores que não jogaram entre si e muitos pares que jogaram apenas uma vez entre si. Como conseqüência, não posso estimar a probabilidade de vitória de um determinado par de jogadores. Também vejo, por exemplo, que há um jogador que venceu 6 vezes em 6 jogos. Mas talvez seja apenas uma coincidência.


Deseja testar a hipótese nula de que todos os jogadores têm a mesma força ou verificar o ajuste de um modelo de força do jogador?
onestop

@onestop: Todos os jogadores com a mesma força seriam muito improváveis, não? Por que você sugere isso como hipótese?
Endolith

Respostas:


10

Você precisa de um modelo de probabilidade.

A idéia por trás de um sistema de classificação é que um único número caracterize adequadamente a habilidade de um jogador. Podemos chamar esse número de "força" (porque "classificação" já significa algo específico nas estatísticas). Previmos que o jogador A vencerá o jogador B quando a força (A) exceder a força (B). Mas essa afirmação é muito fraca porque (a) não é quantitativa e (b) não explica a possibilidade de um jogador mais fraco vencer ocasionalmente um jogador mais forte. Podemos superar os dois problemas, supondo que a probabilidade de que A supere B dependa apenas da diferença em suas forças. Nesse caso, podemos reexprimir todos os pontos fortes necessários para que a diferença de pontos fortes seja igual às chances logísticas de uma vitória.

Especificamente, este modelo é

logit(Pr(A beats B))=λAλB

logit(p)=log(p)log(1p)λA

Este modelo tem tantos parâmetros quanto jogadores (mas há um grau a menos de liberdade, porque ele só pode identificar forças relativas , portanto fixaríamos um dos parâmetros em um valor arbitrário). É um tipo de modelo linear generalizado (na família Binomial, com link logit).

Os parâmetros podem ser estimados por Máxima Verossimilhança . A mesma teoria fornece um meio de estabelecer intervalos de confiança em torno das estimativas de parâmetros e testar hipóteses (como se o jogador mais forte, de acordo com as estimativas, é significativamente mais forte que o jogador mais fraco estimado).

Especificamente, a probabilidade de um conjunto de jogos é o produto

all gamesexp(λwinnerλloser)1+exp(λwinnerλloser).

λ


Neste problema em particular, existem 18 jogos e 7 parâmetros livres. Em geral, são muitos parâmetros: há tanta flexibilidade que os parâmetros podem variar livremente sem alterar muito a probabilidade máxima. Assim, é provável que a aplicação do maquinário de ML prove o óbvio, o que significa que provavelmente não há dados suficientes para confiar nas estimativas de força.


2
sA=exp(λA)ABsA/(sA+sB). (3) Se um torneio round-robin completo for disputado (o que não é o caso aqui), a classificação dos pontos fortes coincidirá exatamente com a porcentagem de vitórias de cada jogador. (4) A qualidade do ajuste está relacionada aos fluxos no gráfico com jogadores como nós e jogos como arestas.
cardeal

(cont.) Lester R. Ford, Jr. ainda tem um artigo discutindo um algoritmo de ajuste baseado nessa idéia em um Amer. Peça mensal de matemática de 1957, escrita em homenagem a seu pai.
cardeal

4

Se você deseja testar a hipótese nula de que cada jogador tem a mesma probabilidade de ganhar ou perder cada jogo, acho que você deseja um teste de simetria da tabela de contingência formada pela tabulação de vencedores contra perdedores.

Configure os dados para que você tenha duas variáveis, 'vencedor' e 'perdedor', contendo o ID do vencedor e perdedor de cada jogo, ou seja, cada 'observação' é um jogo. Você pode então construir uma tabela de contingência de vencedor x perdedor. Sua hipótese nula é que você esperaria que esta tabela fosse simétrica (em média, em torneios repetidos). No seu caso, você obterá uma mesa 8 × 8 onde a maioria das entradas é zero (correspondendo a jogadores que nunca se encontraram), ou seja. a tabela será muito esparsa, de modo que quase certamente será necessário um teste "exato", em vez de depender de assintóticos.

Um teste tão exato está disponível no Stata com o comando simetria . Nesse caso, a sintaxe seria:

symmetry winner loser, exact

Sem dúvida, também é implementado em outros pacotes de estatísticas com os quais estou menos familiarizado.


(+1) É engraçado, eu acabei de perceber que esse comando Stata pode ser usado para teste de transmissão / desequilíbrio na genética :) Eu discuti os pacotes R em uma resposta anterior, stats.stackexchange.com/questions/5171/… .
chl

De fato, o TDT é um aplicativo discutido na ajuda do Stata que eu vinculei acima. É também o contexto em que me deparei com este teste. Obrigado pelo link para o Q anterior - parece que eu estava ocupado com outros Qs quando ele foi publicado.
onestop

Embora a questão se refira ao teste de hipóteses, sua escolha é enfatizar a questão da qualidade do ajuste: uma única força numérica (escalar) modela efetivamente os resultados das partidas entre os jogadores?
whuber

1

Você já conferiu algumas publicações de Mark Glickman? Aqueles parecem relevantes. http://www.glicko.net/

Implícito no desvio padrão das classificações é o valor esperado de um jogo. (Esse desvio padrão é fixado em um número específico no Elo básico e variável no sistema Glicko). Digo o valor esperado, e não a probabilidade de vitória, devido aos empates. As principais coisas a entender sobre as classificações Elo que você possui são a suposição de distribuição subjacente (normal ou logística, por exemplo) e o desvio padrão assumido.

A versão logística das fórmulas Elo sugere que o valor esperado de uma diferença de classificação de 110 pontos é 0,653, por exemplo, jogador A com 1330 e jogador B com 1220.

http://en.wikipedia.org/wiki/Elo_rating_system (OK, essa é uma referência da Wikipedia, mas eu já gastei muito tempo com essa resposta.)

Portanto, agora temos um valor esperado para cada jogo com base na classificação de cada jogador e um resultado com base no jogo.

Nesse ponto, a próxima coisa que eu faria seria verificar isso graficamente, organizando as lacunas de baixo para alto e totalizando os resultados esperados e reais. Assim, nos 5 primeiros jogos, podemos ter pontos totais de 2 e pontos esperados de 1,5. Nos primeiros 10 jogos, podemos ter pontos totais de 8 e pontos esperados de 8,8, etc.

Ao representar graficamente essas duas linhas de forma cumulativa (como faria em um teste de Kolmogorov-Smirnov), é possível ver se os valores cumulativos reais e esperados se acompanham bem ou mal. É provável que outra pessoa possa fornecer um teste mais formal.


1

Provavelmente o exemplo mais famoso para testar o quão preciso é o método de estimativa no sistema de classificação foi a classificação do xadrez - Elo versus a competição do resto do mundo no Kaggle , cuja estrutura era a seguinte:

Os concorrentes treinam seus sistemas de classificação usando um conjunto de dados de treinamento de mais de 65.000 resultados recentes para 8.631 jogadores de topo. Os participantes então usam seu método para prever o resultado de mais 7.809 jogos.

O vencedor foi o Elo ++ .

Parece ser um bom esquema de teste para suas necessidades, teoricamente, mesmo que 18 correspondências não sejam uma boa base de teste. Você pode até mesmo verificar diferenças entre os resultados para vários algoritmos (aqui está uma comparação entre rankade , nosso sistema de classificação, e mais conhecido, incluindo Elo , Glicko e TrueSkill ).


0

H0 0

Um teste simples para isso seria calcular a proporção de vezes que o jogador com mais jogos anteriores venceria e compará-lo à função de distribuição cumulativa binomial. Isso deve mostrar a existência de algum tipo de efeito.

Se você estiver interessado na qualidade do sistema de classificação Elo para o seu jogo, um método simples seria executar uma validação cruzada de 10 vezes no desempenho preditivo do modelo Elo (que na verdade pressupõe que os resultados não sejam da mesma natureza, mas eu '' vou ignorar isso) e compará-lo a um lançamento de moeda.


Para ser mais específico. Eu tenho 8 jogadores e apenas 18 jogos. Portanto, existem muitos pares de jogadores que não jogam entre si e muitos pares que jogam apenas um entre si. Como conseqüência, não posso estimar a probabilidade de vitória para um determinado par de jogadores. Também vejo, por exemplo, que há um jogador que venceu 6 vezes em 6 jogos. Mas pode ser que seja apenas uma coincidência.
Roman
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.