Elo derecelendirmesinin veya Sayfa sıralamasının kümem için bir anlamı olduğunu nasıl kanıtlayabilirim?


13

Bir takım oyuncularım var. Birbirlerine karşı oynarlar (çift olarak). Çift oyuncular rastgele seçilir. Herhangi bir oyunda, bir oyuncu kazanır ve diğeri kaybeder. Oyuncular birbirleriyle sınırlı sayıda oyun oynarlar (bazı oyuncular daha fazla oyun, bazıları daha az oyun oynar). Yani verilerim var (kim kime ve kaç kez kazanır). Şimdi her oyuncunun kazanma olasılığını belirleyen bir sıralamaya sahip olduğunu varsayıyorum.

Bu varsayımın gerçek olup olmadığını kontrol etmek istiyorum. Elbette, her oyuncu için derecelendirmeyi hesaplamak için Elo derecelendirme sistemini veya PageRank algoritmasını kullanabilirim. Ancak derecelendirmeleri hesaplayarak bunların (derecelendirmelerin) gerçekten var olduğunu veya bir şey ifade ettiklerini kanıtlamıyorum.

Başka bir deyişle, oyuncuların farklı güçlü yönleri olduğunu kanıtlamak (veya kontrol etmek) için bir yol istiyorum. Nasıl yapabilirim?

KATMA

Daha açık olmak gerekirse, 8 oyuncum ve sadece 18 maçım var. Yani, birbirlerine karşı oynamamış birçok çift ve birbirleriyle sadece bir kez oynayan çok sayıda çift var. Sonuç olarak, belirli bir çift oyuncu için kazanma olasılığını tahmin edemiyorum. Örneğin, 6 maçta 6 kez kazanan bir oyuncu olduğunu da görüyorum. Ama belki de bu sadece bir tesadüf.


Tüm oyuncuların aynı güce sahip olduğu yönündeki sıfır hipotezini test etmek mi, yoksa bir oyuncu gücü modelinin uyumunu kontrol etmek mi istiyorsunuz?
giderebilirsiniz

@onestop: Aynı güce sahip tüm oyuncular çok imkansız olurdu, değil mi? Bunu neden hipotez olarak öneriyorsunuz?
endolith

Yanıtlar:


10

Bir olasılık modeline ihtiyacınız var.

Bir sıralama sisteminin arkasındaki fikir, tek bir sayının bir oyuncunun yeteneğini yeterince karakterize etmesidir. Bu sayıya "güç" diyebiliriz (çünkü "sıralama", istatistiklerde zaten belirli bir şey anlamına gelir). Kuvvet (A) gücü (B) aştığında A oyuncusu B oyuncusunu yenecektir. Ancak bu ifade çok zayıftır, çünkü (a) nicel değildir ve (b) zayıf bir oyuncunun zaman zaman daha güçlü bir oyuncuyu yenme olasılığını hesaba katmaz. A'nın B'yi yenmesinin sadece güçlü yanlarındaki farklılığa bağlı olma olasılığını varsayarak her iki sorunun da üstesinden gelebiliriz . Eğer öyleyse, o zaman tüm güçlü yönleri yeniden ifade edebiliriz, böylece güçlerdeki fark bir kazancın günlük oranlarına eşittir.

Özellikle, bu model

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

burada, tanım gereği, günlük oranlarıdır ve A oyuncunun gücü için yazdım vb.logit(p)=log(p)log(1p)λA

Bu model, oyuncular kadar parametreye sahiptir (ancak daha az bir serbestlik derecesi vardır, çünkü yalnızca göreceli güçleri tanımlayabilir , bu nedenle parametrelerden birini rastgele bir değerde düzeltiriz). Bir çeşit genelleştirilmiş doğrusal modeldir (Binom ailesinde, logit bağlantılı).

Parametreler Maksimum Olabilirlik ile tahmin edilebilir . Aynı teori, parametre tahminleri etrafında güven aralıkları oluşturmak ve hipotezleri test etmek için bir araç sağlar (tahminlere göre en güçlü oyuncunun tahmin edilen en zayıf oyuncundan önemli ölçüde daha güçlü olup olmadığı gibi).

Özellikle, bir dizi oyunun ürünü

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

birinin değerini sabitledikten sonra , diğerlerinin tahminleri bu olasılığı en üst düzeye çıkaran değerlerdir. Bu nedenle, tahminlerden herhangi birini değiştirmek olasılığı maksimumdan azaltır. Çok fazla azaltılırsa verilerle tutarlı değildir. Bu şekilde tüm parametreler için güven aralıkları bulabiliriz: bunlar, tahminlerin değiştirilmesinin log olasılığını aşırı derecede azaltmadığı sınırlardır. Genel hipotezler benzer şekilde test edilebilir: bir hipotez, güçlü yanları kısıtlar (hepsinin eşit olduğunu varsayarak), bu kısıtlama olasılığın ne kadar büyük olabileceğini sınırlar ve bu kısıtlı maksimum, gerçek maksimumun çok altına düşerse, hipotez reddedildi.λ


Bu özel problemde 18 oyun ve 7 ücretsiz parametre vardır. Genel olarak çok fazla parametre vardır: o kadar çok esneklik vardır ki, parametreler maksimum olasılığı çok fazla değiştirmeden oldukça serbestçe değiştirilebilir. Bu nedenle, ML makinelerinin uygulanması açık bir şekilde kanıtlanabilir, bu da güç tahminlerine güvenecek kadar yeterli veri olmadığı anlamına gelir.


2
(+1) OP'nin bu modelde ek arama yapmasına yardımcı olmak için, birkaç ek nokta daha verilmiştir. (1) Bu model genellikle Bradley-Terry modeli olarak adlandırılır (en azından Zermelo'nun bazı çalışmalarına geri döner). (2) izin vermek , tahmin edilen olasılık dayak olan . (3) Tam bir robin turnuvası oynanırsa (burada durum böyle değildir), güçlerin sıralamaları her oyuncunun kazanan yüzdesiyle tam olarak çakışacaktır. (4) Uyum iyiliği, oyuncuların düğüm olarak, oyunların kenar olarak olduğu akıntılar ile ilgilidir. A B s A / ( s A + s B )sA=exp(λA)ABsA/(sA+sB)
kardinal

Lester R. Ford, Jr.'ın bir Amer'de bu fikre dayanan bir uydurma algoritmasını tartışan bir makalesi bile var . Matematik Babasının onuruna yazılmış 1957'den kalma aylık eser.
kardinal

4

Her oyuncunun her maçı kazanma veya kaybetme olasılığının sıfır olduğu hipotezini test etmek istiyorsanız, galipleri kaybedenlere karşı tablo haline getirerek oluşan beklenmedik durum tablosunun simetri testini istediğinizi düşünüyorum .

Verileri, her oyun için kazananın ve kaybedenin kimliğini içeren 'kazanan' ve 'kaybeden' olmak üzere iki değişkeniniz olacak şekilde ayarlayın, yani her 'gözlem' bir oyundur. Daha sonra kazanan ve kaybeden bir olasılık tablosu oluşturabilirsiniz. Sıfır hipoteziniz, bu masanın simetrik olmasını beklediğinizdir (ortalama olarak tekrarlanan turnuvalara göre). Sizin durumunuzda, girişlerin çoğunun sıfır olduğu (hiç karşılaşmamış oyunculara karşılık gelen) 8 × 8 bir masa elde edersiniz, yani. tablo çok seyrek olacak , bu yüzden asimptotiklere dayanmak yerine neredeyse kesin bir test gerekli olacaktır.

Böyle bir kesin test simetri komutu ile Stata'da mevcuttur . Bu durumda, sözdizimi şöyle olur:

symmetry winner loser, exact

Şüphesiz, daha az aşina olduğum diğer istatistik paketlerinde de uygulanmaktadır.


(+1) Komik, bu Stata komutunun genetikte iletim / dengesizlik testi için kullanılabileceğini fark ettim :) Daha önceki bir yanıtta R paketlerini tartıştım, stats.stackexchange.com/questions/5171/… .
chl

Aslında, TDT yukarıda bağladığım Stata yardımında tartışılan bir uygulamadır. Aynı zamanda bu testle ilk karşılaştığım bağlam. Bu önceki Q bağlantı için teşekkürler - ben yayınlandığı zaman diğer Qs ile meşgul gibi görünüyor.
onestop

Her ne kadar soru hipotez testine atıfta bulunsa da, vurgulama seçimi uygunluğun iyiliği üzerinedir: tek bir sayısal (skaler) güç, oyuncular arasındaki maçların sonuçlarını etkili bir şekilde modelliyor mu?
whuber

1

Mark Glickman'ın bazı yayınlarını kontrol ettiniz mi? Bunlar alakalı görünüyor. http://www.glicko.net/

Puanların standart sapmasında örtük bir oyunun beklenen değeridir. (Bu standart sapma, temel Elo'daki belirli bir sayıya ve Glicko sistemindeki değişkene sabitlenmiştir). Çekiliş nedeniyle kazanma ihtimalinden ziyade beklenen değeri söylüyorum. Elo puanlarınız ne olursa olsun anlaşılacak en önemli şey, temel dağıtım varsayımı (örneğin normal veya lojistik) ve varsayılan standart sapmadır.

Elo formüllerinin lojistik sürümü, 110 puanlık bir derecelendirme farkının beklenen değerinin .653 olduğunu, örneğin 1330 ile A oyuncusu ve 1220 ile B oyuncusu olduğunu düşündürmektedir.

http://en.wikipedia.org/wiki/Elo_rating_system (Tamam, bu bir Wikipedia referansı ama bu cevap için çok fazla zaman harcadım.)

Yani şimdi her bir oyuncunun reytingine göre her oyun için beklenen bir değere ve oyuna göre bir sonuca sahibiz.

Bu noktada yapacağım bir sonraki şey, boşlukları düşükten yükseğe doğru düzenleyerek ve beklenen ve gerçek sonuçları toplayarak grafiksel olarak kontrol etmek olacaktır. Bu nedenle, ilk 5 maç için toplam 2 puan ve beklenen puan 1.5 olabilir. İlk 10 oyun için toplam 8, beklenen 8,8, vb. Puanlara sahip olabiliriz.

Bu iki satırı kümülatif olarak grafikleyerek (Kolmogorov-Smirnov testi için yaptığınız gibi), beklenen ve gerçek kümülatif değerlerin birbirini iyi veya kötü izleyip izlemediğini görebilirsiniz. Muhtemelen başka biri daha resmi bir test sağlayabilir.


1

Derecelendirme sistemindeki tahmin yönteminin ne kadar doğru olduğunu test etmek için muhtemelen en ünlü örnek Satranç puanlarıydı - Elo ve Kaggle'daki Dünya'nın Geri Kalanı yarışması , aşağıdaki yapı idi:

Yarışmacılar derecelendirme sistemlerini 8.631 en iyi oyuncu için 65.000'den fazla sonuç içeren bir eğitim veri seti kullanarak eğitiyorlar. Katılımcılar daha sonra 7.809 oyunun sonucunu tahmin etmek için yöntemlerini kullanırlar.

Kazanan Elo ++ oldu .

Teorik olarak, 18 maç iyi bir test tabanı olmasa bile, ihtiyaçlarınız için iyi bir test şeması gibi görünüyor. Çeşitli algoritmalar için sonuçlar arasındaki farkları bile kontrol edebilirsiniz (burada rankade , sıralama sistemimiz ve Elo , Glicko ve Trueskill dahil olmak üzere en bilinenleri arasında bir karşılaştırma ).


0

Sonuç olasılığının eşleşmeye bağlı olduğu hipotezini test etmek istiyorsunuz. , o halde, her oyun aslında bir bozuk para.H0

Bunun için basit bir test, daha önce oynanan oyunların oynandığı oyuncunun kazanma oranını hesaplamak ve bunu binom kümülatif dağılım işleviyle karşılaştırmak olacaktır. Bu bir tür etkinin varlığını göstermelidir.

Oyununuz için Elo derecelendirme sisteminin kalitesi ile ilgileniyorsanız, Elo modelinin tahmini performansı üzerinde 10 kat çapraz geçerlilik yürütmek için basit bir yöntem olurdu (ki aslında sonuçların doğru olmadığını varsayarım. görmezden gelir) ve bir bozuk parayla karşılaştırmak.


Daha spesifik olmak gerekirse. 8 oyuncum ve sadece 18 maçım var. Yani, birbirleriyle oynamamış birçok çift var ve birbirleriyle sadece bir çok oynayan çiftler var. Sonuç olarak, belirli bir çift oyuncu için kazanma olasılığını tahmin edemiyorum. Ayrıca görüyorum, örneğin 6 maçta 6 kez kazanan bir oyuncu var. Ama bu sadece bir tesadüf olabilir.
Roma
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.