Tässä oma pieni ehdotukseni pelaajien vahvuusjärjestyksen ratkaisemiseksi. Tälle sivulle saa laittaa muitakin ehdotuksia luokitusjärjestelmän parantamiseksi. Sivulla Luokitusten Parantelua on esitetty vaatimuksia/toiveita, jotka hyvän luokitusjärjestelmän tulisi täyttää.

-- Antti Tarvainen


Mielestäni Elo-pisteiden (gorrien ja muiden siis) laskeminen turnauspelien perusteella pikkukyuita heikommille on turhaa. Suurin osa heikoista pelaajista kehittyy niin nopeasti, että pisteet laahaavat pahasti perässä. (Resetit tai toisaalta KGS:n algoritmi ratkaisevat tämän ongelman osittain, mutta niistä aiheutuu muita ongelmia.) Sen sijaan vahvoille, tasaisemmille pelaajille Elo-pisteet sopivat yhtä hyvin kuin shakkiin.

Oma ehdotukseni on siis, että vain tietyn tason saavuttaneet otettaisiin mukaan pistejärjestelmään. Raja voisi olla esimerkiksi 3 kyu. Mitään resettejä ei olisi. Pelaajan aloituspisteet määräytyisivät muutaman ensimmäisen pelin perusteella. Kuten Kari ja Paavokin sivulla Luokitusten Parantelua huomauttivat, tasoituspelejä ei saa kauniisti yhdistettyä Elo-järjestelmään. Niinpä mielestäni järjestelmään pitäisi ottaa mukaan vain tasa-avauspelit.

Joku, jolla on viitseliäisyyttä, voisi tehdä kikkareen, joka laskee tällaiset ratingit Suomessa pelatuista tasa-avausturnauksista. Jos aikaa joskus löytyy, saatan tehdä itsekin.

Ongelmia:* Koska pelaajat kehittyvät, eikä uusia pisteitä tule järjestelmään, pisteet deflatoituisivat ajan myötä. Se ei ole ongelma, jos pelaajapopulaatio ei ole pahasti taskuuntunut ja pisteitä käytetään vain rankingissa mukana olevien keskinäiseen vertailuun. Ja olisihan sen deflaation estämiseen tietenkin keinoja, esim. pitämällä järjestelmän pisteiden keskiarvo vakiona.

  • Niiden pelaajien valinta, jotka pääsevät järjestelmään (ts. korotus 3 kyuhun), jäisi edelleen ihmisten tehtäväksi.
  • Nopeasti kehittyvien pelaajien pisteet laahaisivat edelleen perässä. Tälle on hankala tehdä mitään, koska ei voi tietää, johtuuko poikkeuksellisen hyvä menestys tuurista vai aidosta kehittymisestä. Järjestelmän pelaajista vain hyvin pieni osa olisi nopeasti kehittyviä.

-- Antti Tarvainen

Mielestäni rajan voisi laittaa korkeammallekin kuin 3 kyuhun. Ehkä 1 kyu tai 2 kyu sopisivat. GoR ei muuten ole enää dan- ja ylemmillä kyu-tasoilla niin kauhean hidas kuin voisi näiden keskustelujen perusteella ajatella. Esimerkiksi minä menetin yhteensä 70 pistettä Kanikuutosessa ja Takapotkussa, koska pelasin niin huonosti. 70 pistettä on reilusti yli puoli kiveä. Dan-tasolla se ainakin näyttäisi toimivan ihan hyvin ilman mitään resettejäkin. Ongelmaksi silloin tulee tietysti kansainvälinen vertailtavuus mutta sepä oli Antin ideasta tarkoituksellisesti ulos rajattukin.

-- Markku

Tein itse pikaisesti ohjelmanpätkän, joka laskee vahvuudet yllä kuvatulla tavalla. Sain tällaisen listan (mukana vain ne, joilla on vähintään 25 peliä ja ovat pelanneet 1.1.2003 jälkeen):

pelaaja pisteet pelit voitot tappiot
Laatikainen, Vesa 1273 134 106 28
Siivola, Matti 1153 145 99 46
Törmänen, Antti 1092 31 23 8
Paatero, Lauri 1068 111 59 52
Lounela, Olli 1064 94 55 39
Visala, Kari 1048 55 33 22
Jantunen, Kare 1043 54 29 25
Holappa, Antti 1015 51 27 24
Niskanen, Einari 998 33 17 16
Salo, Tuomo 992 41 22 19
Brockman, Marko 988 29 13 16
Puha, Timo 987 71 43 28
Alanko, Otso 986 62 31 31
Viljanen, Joose 972 45 22 23
Hirsimäki, Teemu 968 61 30 31
Virtanen, Jaakko 956 38 18 20
Jantunen, Markku 944 136 69 67
Suorsa, Seppo 942 42 21 21
Kauppi, Ari 934 34 12 22
Hippeläinen, Eero 931 26 9 17
Rovio, Teemu 921 65 27 38
Aapola, Lauri 896 63 25 38
Reijola, Timo 893 67 28 39
Karppinen, Ari 871 91 32 59
Pietarila, Paavo 852 75 25 50
Kohonen, Sari 847 41 12 29

Käytin datana 64 Suomessa pelattua tasa-avausturnausta (otin ne Paavon pullauttimesta). Vain sellaiset pelit huomioitiin, joissa molemmat pelaajat olivat tasoltaan vähintään 3 kyu. Aloituspistemäärä uusille pelaajille oli 1000, mutta niin että 25 ensimmäistä peliä eivät vaikuttaneet vastustajan pistemäärään lainkaan (paitsi jos vastustajallakaan ei ollut 25 peliä). Pelaajien pistemäärä ja uuden pelaajan status päivitettiin vain turnausten välissä, ei niiden aikana.

Pelit-sarake kertoo 3 kyuita tai vahvempia vastaan pelattujen pelien määrän (mukaanlukien ne pelit, jotka eivät vaikuttaneet pelaajan pistemäärään, koska vastustajalla ei ollut 25 peliä).

Pisteitä päivitettiin seuraavalla funktiolla:

def laskePistemuutos(pelaajanPisteet, vastustajanPisteet, tulos):
    ennuste = 1. / (1. + 10 **((vastustajanPisteet - pelaajanPisteet) / 400.))
    muutos = 0
    if tulos == "+":
        muutos = ELO_K_ARVO * (1. - ennuste)
    elif tulos == "-":
        muutos = - ELO_K_ARVO * ennuste
    else:
        muutos = ELO_K_ARVO * (.5 - ennuste)
    return muutos

Laitoin ELO_K_ARVOksi 20. Sen muuttaminen muuttaa listaa radikaalisti. Mitä suurempi arvo, sen herkempi pistemäärä on.

Lähdekoodi on saatavilla täältä. Se ei ole erityisen luettavaa.

-- Antti Tarvainen

Miksi tuossa listassa on noin vähän pelaajia? Siksikö, että muilla yli 3 kyun pelaajilla ei ole vähintään 25 peliä?

-- Markku

Siksi (tai tarkemmin sanottuna siksi, ettei muilla yli 3 kyun pelaajilla ole vähintään 25 peliä 3 kyuna tai parempana muita 3 kyuita tai parempia vastaan). Kaiken kaikkiaan listalla olisi noin 120 nimeä. Ohjelmani myös jäsenteli muutaman turnauksen väärin aiemmin. Korjasin yllä olevan listan niin, että nekin turnaukset tulivat nyt kunnolla mukaan. Ei kannata kuitenkaan luottaa siihen, että nykyinenkään lista olisi ihan oikein.

-- Antti Tarvainen

Vihdoinkin vahvuuslukulista, jossa kaikki ovat lähdössä samalla viivalla ja vahvuusluku määräytyy pelisuoritusten, eikä esimerkiksi korotushistorian (kuten gorrissa), mukaan. Vahvuusluvun määräytymiskriteereissä yms. lienee vielä, kuten aina, optimoinnin varaa. Tätä voi kuitenkin jo kutsua vahvuuslukulistaksi vakavalla naamalla. En väitä, että tämän listan antama ennuste on tarkempi kuin GoRin antama, sanon vain, että tämä lista täyttää joitain vahvuuslukulistan perusvaatimuksia, joita GoR ei mielestäni täytä.

-- Jaakko Virtanen

Vähän hassulta tuo lista vaikuttaa. Esim. en saa lasketuksi Matille 46 tappiota suomalaisia vastaan.

-- Antti

14 Matin tappioista onkin ulkomaalaisia vastaan. Otin siis listaan mukaan Suomessa pelatut turnaukset, enkä ruvennut lajittelemaan ketkä pelaajista ovat suomalaisia ja ketkä ulkomaalaisia. Useimmat ulkomaalaiset ovat pelanneet alle 25 peliä eivätkä ole siten vaikuttaneet Matin pisteisiin suoraan. Poikkeus on Viktor Bogdanov, joka ei listalla ole sen takia, ettei ole pelannut vuoden 2003 alun jälkeen. Hän olisi listalla toisena Vesan ja Matin välissä.

Olisiko parempi, ettei ulkomaalaisia vastaan pelattuja pelejä huomioida lainkaan?

-- Antti Tarvainen

Olisi. Ulkomaalaisten kanssa pelatut pelit eivät saa vaikuttaa suomalaisten keskinäiseen järjestykseen millään lailla. Kuinka radikaalisti vakioparametrin muuttaminen muuttaa listaa? Jos esimerkiksi parametri on 30, niin millainen listasta tulee?

Toiseksi, entä jos 25 pelin rajaksi laitetaan 15? Samalla tietysti pelaajia tulee lisää ja häntäpäässä ratingin tarkkuus kärsii, jolloin sieltä voisi poistaa ainakin 3 kyut.

-- Markku

Tässä on lista kokeiltuna k-parametrin eri arvoilla.

5 10 20 40 80 160
Laatikainen, Vesa 1103 Laatikainen, Vesa 1175 Laatikainen, Vesa 1273 Laatikainen, Vesa 1397 Laatikainen, Vesa 1557 Laatikainen, Vesa 1767
Siivola, Matti 1059 Siivola, Matti 1101 Siivola, Matti 1153 Siivola, Matti 1199 Paatero, Lauri 1292 Paatero, Lauri 1450
Törmänen, Antti 1031 Törmänen, Antti 1055 Törmänen, Antti 1092 Paatero, Lauri 1163 Siivola, Matti 1223 Lounela, Olli 1406
Lounela, Olli 1016 Lounela, Olli 1032 Paatero, Lauri 1068 Törmänen, Antti 1139 Lounela, Olli 1206 Törmänen, Antti 1285
Visala, Kari 1014 Visala, Kari 1026 Lounela, Olli 1064 Lounela, Olli 1117 Törmänen, Antti 1199 Jantunen, Kare 1259
Puha, Timo 1007 Paatero, Lauri 1018 Visala, Kari 1048 Jantunen, Kare 1098 Jantunen, Kare 1174 Visala, Kari 1251
Jantunen, Kare 1007 Jantunen, Kare 1017 Jantunen, Kare 1043 Visala, Kari 1084 Visala, Kari 1145 Siivola, Matti 1238
Niskanen, Einari 1003 Holappa, Antti 1004 Holappa, Antti 1015 Holappa, Antti 1038 Holappa, Antti 1069 Holappa, Antti 1078
Holappa, Antti 1001 Puha, Timo 1004 Niskanen, Einari 998 Alanko, Otso 1004 Alanko, Otso 1039 Brockman, Marko 1076
Paatero, Lauri 1001 Niskanen, Einari 1003 Salo, Tuomo 992 Brockman, Marko 989 Brockman, Marko 1013 Alanko, Otso 1062
Salo, Tuomo 1000 Salo, Tuomo 999 Brockman, Marko 988 Niskanen, Einari 981 Salo, Tuomo 958 Salo, Tuomo 943
Viljanen, Joose 995 Brockman, Marko 992 Puha, Timo 987 Salo, Tuomo 977 Niskanen, Einari 947 Puha, Timo 904
Brockman, Marko 995 Viljanen, Joose 989 Alanko, Otso 986 Puha, Timo 953 Hirsimäki, Teemu 924 Hirsimäki, Teemu 875
Hirsimäki, Teemu 993 Hirsimäki, Teemu 985 Viljanen, Joose 972 Hirsimäki, Teemu 943 Puha, Timo 917 Niskanen, Einari 865
Suorsa, Seppo 991 Alanko, Otso 984 Hirsimäki, Teemu 968 Viljanen, Joose 939 Viljanen, Joose 891 Viljanen, Joose 848
Virtanen, Jaakko 989 Virtanen, Jaakko 978 Virtanen, Jaakko 956 Jantunen, Markku 929 Jantunen, Markku 887 Virtanen, Jaakko 843
Alanko, Otso 989 Suorsa, Seppo 978 Jantunen, Markku 944 Virtanen, Jaakko 921 Virtanen, Jaakko 883 Aapola, Lauri 829
Kauppi, Ari 982 Kauppi, Ari 965 Suorsa, Seppo 942 Hippeläinen, Eero 889 Aapola, Lauri 849 Rovio, Teemu 824
Hippeläinen, Eero 980 Hippeläinen, Eero 962 Kauppi, Ari 934 Kauppi, Ari 886 Hippeläinen, Eero 848 Hippeläinen, Eero 757
Rovio, Teemu 976 Jantunen, Markku 958 Hippeläinen, Eero 931 Rovio, Teemu 879 Rovio, Teemu 845 Jantunen, Markku 754
Jantunen, Markku 973 Rovio, Teemu 955 Rovio, Teemu 921 Suorsa, Seppo 863 Kauppi, Ari 823 Reijola, Timo 752
Reijola, Timo 967 Reijola, Timo 938 Aapola, Lauri 896 Aapola, Lauri 863 Reijola, Timo 779 Kauppi, Ari 723
Aapola, Lauri 962 Aapola, Lauri 934 Reijola, Timo 893 Reijola, Timo 834 Suorsa, Seppo 749 Suorsa, Seppo 625
Karppinen, Ari 958 Karppinen, Ari 924 Karppinen, Ari 871 Karppinen, Ari 799 Pietarila, Paavo 709 Pietarila, Paavo 610
Kohonen, Sari 953 Kohonen, Sari 913 Pietarila, Paavo 852 Pietarila, Paavo 783 Karppinen, Ari 709 Karppinen, Ari 585
Pietarila, Paavo 949 Pietarila, Paavo 909 Kohonen, Sari 847 Kohonen, Sari 757 Kohonen, Sari 654 Kohonen, Sari 551

-- Antti Tarvainen

Olisiko parempi, jos alle 25 peliä pelanneen pelaajan vaikutus muiden pelaajien luokituksiin kasvaisi vähitellen, 0 peliä pelanneen vaikutus olisi 0%, 1 peliä pelanneella 4%, 2 peliä pelanneella 8% (siitä mitä se on 25 peliä pelanneella)? Näin pelaajan merkitys kasvaisi 25 pelin aikana vähitellen täyteen voimaansa. Nyt vaikkapa 23 peliä pelanneen pelaajan vaikutus muiden (yli 25 peliä pelanneiden) luokituksiin on 0, vaikka selvää on, että hänen lukunsa on lähes yhtä varmasti "oikea" kuin 25 peliä pelanneella pelaajalla...

Ihan mielenkiinnosta, vaikkapa yli 15 peliä pelanneet voisivat näkyä listalla ?-merkki vahvuuslukunsa perässä goservereiden tyyliin, ihan vaan mielenkiinnosta...

Ja aiheen sivusta, pullauttimesta puuttuvat ainakin 2001 ja 2002 Turunmestaruuskisat ja karsinnat (hyi Paavoa! :). Jos ne laskettaisiin, saisikohan Aapo tai Jan-Krister 25 peliä täyteen ja nousisi listalle...?

-- Jaakko

No hyi minua. Nytpäs kuitenkin ovat Turunmestaruudet + karsinnat myös vuodesta 2001 etiäppäin pullauttimessa. Auttaako?

--paavo

Minusta 25 peliä on ehkä liian korkea raja. 15 näyttäisi olevan sikäli sopivampi, että kärkipelaajien joukossa ei ole juuri ketään, jolla olisi vähemmän kuin 15 peliä mutta alle 25 peliä pelanneita on paljon. Millä tavoin systeemi käyttäytyisi, jos raja laskettaisiin 15 peliin?

-- Markku

Kun tämä Antin systeemi kohtelee mua näin kaltoin (tosin viimeisen vuoden ajalta hyvinkin oikeutetusti), niin kaipa asiaan pitää jotain kommentoida ;-) Älkää uskoko kaikkea seuraavasta ihan purematta, siitä on muutama vuosi kun olen näitä optimointijuttuja ajatellut tarkemmin ja en lukenut koko koodia.

Käsittääkseni toi ELO-tyyppinen vahvuusluvun laskentamenetelmä on joka tapauksessa gradient descent-tyyppinen optimointialgoritmi, jolle data annetaan tasan kerran aikajärjestyksessä. Näinhän saadaan lukuja, jotka ovat todennäköisesti liikuneet oikeaan suuntaan lähtötilanteesta, mutta mitään muita takeita ei ole. Nämä luvut ovat kuitenkin optimoinin kannalta aika epäilyttäviä, koska konvergenssiin ei edes pyritä ja saatavilla olevan hyvin pienen datasetin käyttäminen vain kerran tuntuu haaskaukselta.

Ehdottaisin siis, että samaa algoritmia (tai pikkaisen puukotettuna, niinkuin pienenevä muutoskerroin ja muita normaaleja viilauksia) ajettaisiin konvergenssiin asti. Lisäksi koska kyseessä näyttäisi olevan epälineaarinen virhefunktio, niin globaalia optimia tuskin saavutetaan noista arvatuista (kaikilla 1000) arvoista lähtien, vaan optimointi pitäisi tehdä useita kertoja satunnaisista lähtöarvoista lähtien ja valita näistä se, jossa kokonaisvirhe on pienin. Käsittääkseni näin saataisiin pelaajille vahvuusluvut, joissa virhe on pienin, mitä kykenemme löytämään. Tietysti rankempiakin optimointialgoritmeja voi tuoda pöytään, jos joku jaksaa niitä toteuttaa. Tärkeämpänä pointtina tässä lienee se, että tällainen konvergenssiin ajetun optimoinnin tulos tuntuu paremmalta vahvuusluvulta, kuin kuitenkin aika adhoc ELO-systeemi.

Jos taas palataan matematiikasta takaisin Go:hon, niin eihän tollasetkan luvut ongelmattomia olisi. Toi systeemihän ei ottaisi mitenkään huomioon kehittymistä, vaan sen antama luku olisi vain paras arvio vahvuudesta annetuissa peleissä. Virallisina vahvuuslukuina voisi siis käyttää vaikka edellisen vuoden datan tuottamia vahvuuksia. Tollasen systeemin tulokset olisi kyllä kiva nähdä, jos vaan jollakin on intoa niitä toteuttaa. Matemaattisestihan tollanen systeemi olisi käsittääkseni paremmin perusteltu kuin ELO-tyyli ja kaikenlaisia loppujärjestykseen merkittävästi vaikuttavia hiha-vakioita tarvittaisiin ainakin vähemmän. Tiedän lukijakunnassa olevan alan asiantuntijoita, joten toivottavasti joku kommentoi idean järjellisyyttä.

--Timo Puha

En tunne optimointia kovin hyvin, mutta mitä tarkoitat konvergenssiin asti ajamisella? Ihmisten pelitaitohan kuitenkin muuttuu ajan funktiona.

-- Kari Visala

Puolitosissani voisin heittää, että jos laki sallisi, voisi toteuttaa vedonlyöntisysteemin, jossa vahvuusjärjestys veikataan. Vahvuusluvut määräytyisivät vedonlyöntikertoimista jollain tavoin. Toki silloinkin periaatteessa kaveria veikkaamalla voisi vaikuttaa McMahon -ryhmiin tms. mutta siitä ilosta joutuisi pulittamaan rahaa. Uskon sen verran ihmisen ahneuteen, että näkymätön käsi varmaan ohjaisi asiat oikealle mallilleen ihan itsestään. :)

-- Markku

Formuloisin kysymyksen seuraavasti:

  • Oletetaan, että pelit pelataan rahasta.
  • Oma panoksesi on 100 euroa. Paljonko vastustajan pitäisi panna panokseksi, että peli olisi tasapuolinen?
  • Kyseinen kysymys toistetaan jokaisen vastustajan kohdalla.

-- Matti

Konvergenssilla tarkoitan sitä, että ratkaisun kokonaisvirhe ei enää pienene, vaikka iteroimista jatketaan. Yksi iteraatio siis tarkoittaa tässä yhteydessä koko tulosdatan läpikäymistä ja vastaavien muutosten tekemistä vahvuuslukuestimaatteihin. Totta on, että ihmisten pelitaito muuttuu ajan funktiona ja tämä menetelmä tekee nimenomaan päinvastaisen oletuksen. Tämän menetelmän tuloksena olisikin estimaatti keskimääräisistä vahvuuksista annetuissa peleissä eikä estimaatti vahvuuksista pelien jälkeen, mihin ilmeisesti ELO-tyyppinen menetelmä pyrkii.

Nopeasti kehittyvät pelaajat näyttävät olevan ongelma mille tahansa systeemille ja jos välttämättä halutaan "EGF-tesuji":n vastine tähänkin systeemiin, niin voidaan hyväksyä optimointidataksi vain pelejä viimeisellä luokituksella. Itse olen sitä mieltä, että on vain parempi, jos ammoiset turnaukset x-kyuna eivät vaikuta nykyiseen vahvuusestimaattiin mitenkään.

-- Timo

Ihan uteliaisuudesta voisin kysyä, että millä tavoin Tarvaisen mallin kuvitellaan antavan luotettavampia tuloksia kuin ihmisen? Tiedän varmuudella että olin ainakin vielä Oulun turnauksen aikaan vahvempi kuin Törmäsen Antti, eikä ole mitään syytä uskoa että tämä olisi näin lyhyessä ajassa muuttunut. Samoin uskon vahvasti Matin olevan häntä vanvempi, vaikka vahinkotappio viime turnauspelissä tulikin.

Tarkastellessa ylimpiä noin 15 paikkaa k-parametrin käyttäytymisestä kertovassa taulukossa, on selvää että ELO_K_ARVO:n valitseminen antaa varsin isoa vaihtelua, ja kummassakin ääripäässä on varsin erikoisen näköinen järjestys. Arvo 80 näyttää pikaisella silmäyksellä antavan realistisimman huipun, mutta tätähan on hyvin vaikea arvioida ilman tarkempaa analyysia. Kuitenkin hatusta vedetty, perusteeton satunnainen arvo on epäilemättä vähintään yhtä huono vaihtoehto kuin mielivaltainen järjestys, vaikkapa ihmisen antamana.

Tästä päättelen, että uskottavuus pitää laskea jotenkin toisin kuin ylläolevalla mallilla. Yksi mahdollisuus on laskea luottamusväli tai muu virhearvio (esmes standardipoikkeama¹) pelaajien keskinäiselle vahvuudelle. Samoin ajan kulumista ei huomioida, eli esimerkiksi meikäläinen varmasti kärsii 2,5 vuoden takaisesta tilapäisestä tason vajoamisesta edelleen, siitäkin huolimatta että välissä on ihan mukavasti mennyt PM 2003 ja Oulu. Näin toinen mahdollisuus on laskea kullekin pelaajalle pelivahvuus ajan funktiona ja sille virhearvot, ja tästä laskea trendit tai inter/ekstrapoloida.

Näin ollen on mielestäni helppo vetää johtopäätös, että ainakaan tämä malli ei selitä asiaa riittävästi, kun ihmisten pelimäärä ei ole jatkuvan runsas. Ja valitettavasti turnauspelejä ei maantieteellisesti näin hajallaan olevassa turnaussysteemissä millään saada niin paljoa kuin tällainen jatkuvaa, runsasta materiaalia vaativa malli tarvitsee -- ellei sitten löydetä sponsoria joka maksaa kulut; enpä oikein jaksa uskoa.

Loppukaneettina voisin mainita etten aio kinastella näistä mallintamisjutuista tai mielipiteistä, en kenenkään kanssa -- semminkin kun luotettavana pitämäni taho on kertonut, että tällainen kinastelu tekee enemmän hallaa Suomen golle kuin juuri mikään muu -- vaan tarkoitus on antaa rakentavaa kritiikkiä sellaisista seikoista, jotka näyttävät mallin heikkouksilta. Muita mallejahan ei kukaan ole saanut aikaiseksi, joten niitä ei voi kritisoidakaan (suljen GOR-mallin ulos tästä kirjoituksestani, koska kukaan ei tunnu haluavan kuulla sen heikkouksista, vaan siihen pyritään uskomaan sokkona.)

¹Standardipoikkeama olettaa normaalijakautunutta pelimenestystä jokaiselta pelaajalta, joka on varsin vaarallinen oletus; sen lisäksi että tällainen edellyttää kaikilta varsin suurta (l. useita kymmeniä) pelimäärää nykytasolla, kukaan (ehkä Paateron Lauria lukuunottamatta) ei oikeasti tiedä mikä on yhden palaajan pelitulosjakauma ja miten tämä suhtautuu pelaajiin massana². Nämä pitäisi ehdottomasti tutkia³ ennen kuin voidaan tehdä normaalijakaumiin perustuvia mallinnuksia.

²GOR-aineiston voittotodennäköisyystaulukko ei käsittele pelaajaa yksilönä ollenkaan. Toisin sanoen siitä ei voi

vetää johtopäätöksiä yksittäisen pelaajan ominaisuuksista, vaan jokaiselta pelaajalta tarvitaan tilastollisesti luotettava määrä pelejä (monta kymmentä) nykytasolla.

³Ja kuka väitti että numeerisen luokitussysteemin kehittäminen olisi pikkujuttu, en minä ainakaan.

-- DonOlli, 26.4.

Luotettavuuden lisäksi näissä luokittamisasioissa on tärkeä myös reiluus. Mitään geneeristä ja puolueetonta Ihmisluokittajaa ei ole olemassakaan. Paineet kokonaisuudessaan tai osittain numeerisen ratkaisun kehittämiseen syntyvät juuri tästä. Juuri siinä mielessä jopa satunnaisuus voi joissakin olosuhteissa olla reilumpi tapa ratkaista turnaustuloksiin vaikuttavia lähtökohtia kuin ihmisen päättämä luokitus. Kuitenkaan hyvän numeerisen luokitusjärjestelmän kehittäminen ei ole helppoa. Toinen tapa pienentää ongelmaa on kehittää turnausjärjestelmiä tavalla, joka pienentää luokitusten merkitystä. Voisin lisätä, että yllä esittämäni näkemys edustaa käymieni keskustelujen perusteella myös monien muiden asianosaisten suomalaisten pelaajien näkemyksiä, joten katson, että niillä on siksikin oikeus tulla sanotuksi julki.

-- Markku Jantunen, 26.4.

Mun mielestä meillä on käytössä melko ongelmaton mittari eri vahvuuslukusysteemien paremmuudelle, eli niiden perusteella tehtyjen ennustusten antama tarkkuus. Toki tästäkin mittarista on eri variantteja, mutta eiköhän esimerkiksi yksittäisten pelien ennusteen virheiden neliösumma toimi ainakin hyvänä lähtökohtana, josta voi lähteä optimoimaan jos siltä tuntuu. Ihmisten antamien luokitusten saaminen tässä mielessä vertailukelpoiseksi vaatisi toki jonkin verran työtä, jotta saataisiin selville voittotodennäköisyydet, joita luokituskomitea todella olettaa eri daneihin ja kyuhin liittyvän.

Dataa on vähän ja siihen minkä tahansa vahvuuslukusysteemin on perustuttava, joten oikeasti luotettavia vahvuuslukuja ei voida tuottaa automaattisesti eikä käsin. Perusteltuja arvauksia voi kuitenkin tehdä erilaisia ja niiden keskinäistä paremmuutta voi mitata.

-- Timo Puha

Markku, reiluudesta ei ollut mitää mainintaa sivulla Luokitusten Parantelua. Mielestäni asiat joihin täällä halutaan vedota, pitäisi ensin ruotia siellä.

-- Matti 26.4.2004

Poikkeamien neliösumma on kovin altis poikkeaville datapisteille (outlierit,) joita on poikkeuksetta biologispohjaisessa aineistossa joko vahemmän tai enemmän. Tässä joudun nojaamaan Helsingin Yliopiston biometrian apulaisporofessorin lausuntoihin, joita meikäläisellä ei tietenkään ole kirjallisena -- ellei sellaiseksi lasketa sitä luentomonistetta, jota hänelle vuosikymmenen ajan taitoin. Pikemminkin kuvittelisin jonkin maximum likelihood -mallin (ML) antavan järkevähköjä tuloksia erilaisten luokitusten sovittamisesta turnaustuloksiin, vaikka sekin olettaa jotain aineistosta (muistaakseni log-normaaliutta, mutta eipä ole tuo moniste käsillä juuri nyt.)

Olenpa jopa sitä mieltä, että tuon professorin näkemys siitä, että aineiston ominaisuudet on tunnettava ennen kuin valitaan analyysimenetelmä ja malli jota yritetään käyttää, on aivan epäilemättä tällaisessa kriittistä. Jos aineiston ominaisuuksia ei tunneta eikä ehkä edes haluta tutkia, mallin antama järjestys on helposti uskottavuudeltaan liki sekoitetun korttipakan luokkaa.

Sinänsä, nyt kun kuvaan tuli mukaan vahvalla tunnelatauksella varattu termi "reiluus," pesen välittömästi käteni keskustelusta. Reiluudella ei ole mitään tekemistä oikeellisuuden tai matemaattisen luotettavuuden/uskottavuuden kanssa. Pikemminkin päinvastoin, matemaattinen malli on pahimmillaan erityisen epäreilu, koska se ei voi ottaa huomioon mitään muuta kuin määrämuotoisen datan. Sen sijaan se sitten on oikeellisempi ja sen uskottavuus on tutkittavissa ja välillä jopa ymmärrettävissä.

Esitänpä siis jälleen pahoitteluni siitä että osallistuin keskusteuun, ja yritän välttää sitä jatkossa.

-- DonOlli

Olet kyllä Olli oikeassa outliereista yleensä, mutta koska arvot ovat rajatut välille 0-1 (tai mitkä arvot häviölle ja tappiolle haluaakaan antaa) niin herkkyys pitäisi olla varsin siedettävä ja erityisesti se on rajattu. Lisäksi uskon että turnausdata on hyvälaatuista, vaikka tuskin täydellistä. Neliösumma ei varmastikaan ole tähän asiaan täydellinen ratkaisu ja mun puolesta voidaan kokeilla muitakin. Ja reilu toi ainakin on ;-)

-- Timo Puha, 26.4.2004

Olli sanoi:

" (suljen GOR-mallin ulos tästä kirjoituksestani, koska kukaan ei tunnu haluavan kuulla sen heikkouksista, vaan siihen pyritään uskomaan sokkona.)"

Voisiko joku (ei tarvitse olla Olli) listata lyhyesti GOR-mallin ongelmat ja puutteet. Kenties omalle sivulleen tänne Wikiin. Tai ainakin linkittää johonkin kirjoitukseen, joka esittää asian hyvin.

Asiasta on varmasti jauhettu paljonkin jossain foorumilla, mutta en usko että kaikki tuntevat GOR-mallin ongelmia. Itselleni on lähinnä tullut tutuksi "taskuuntuminen", eli kansainvälisten vertailujen hankaluus eri maiden pisteiden deflaation takia.

Olli kirjoitti myös:

"¹Standardipoikkeama olettaa normaalijakautunutta pelimenestystä jokaiselta pelaajalta, joka on varsin vaarallinen oletus; sen lisäksi että tällainen edellyttää kaikilta varsin suurta (l. useita kymmeniä) pelimäärää nykytasolla, kukaan (ehkä Paateron Lauria lukuunottamatta) ei oikeasti tiedä mikä on yhden palaajan pelitulosjakauma ja miten tämä suhtautuu pelaajiin massana². Nämä pitäisi ehdottomasti tutkia³ ennen kuin voidaan tehdä normaalijakaumiin perustuvia mallinnuksia."

Tilastomatikasta en ymmärrä juuri mitään, mutta tämä kuulostaa ihan järkevältä sinänsä. Käsittääkseni luokituksen tai vahvuusluvun pitää ainoastaan antaa tilastollinen todennäköisyys kahden pelaajan välisen pelin lopputulokselle. Parempi malli osuu ennustuksissaan oikeaan useammin. Mallien paremmuuden vertailuun on tietysti valittavana erilaisia tapoja ja ne voivat tuottaa erilaisia tuloksia, ja sitä kai Olli tässä tarkoittikin(?).

Oma maalaisjärkeni ei kuitenkaan käsitä miksi kahta järjestelmää ei voida verrata toisiinsa ilman em. tietoja, jos kerran luokituksiakin voidaan antaa ilman em. tietoja. Selvästikin LK:lla on joka tapauksessa karkea mittari mallien paremmuudelle, jos kerran nykyisen järjestelmän antamia luokituksia pidetään parempana kuin GOR-lukua esim. tehtäessä jakoa MacMahon -ryhmiin?

On selvää, että jotkut pelaavat tasaisemmin ja toisilla taso vaihtelee enemmän pelien välillä, vaikka keskimääräinen taso olisikin sama. Pelaajien tai yksittäisen pelaajan pelivahvuuden jakauma voi olla melkein mitä tahansa. Luokitus tai vahvuusluku kuitenkin kuvannee keskimääräistä pelin tasoa. On myös selvää, että vaikka A voittaisi B:n 80% peleistä ja B voittaisi C:n 50% peleistä, ei A välttämättä voita 80% peleistään C:tä vastaan. Luokituksen tai vahvuusluvun ei pidä, eikä se voikaan, ottaa tällaisia asioita huomioon.

--Antti V, 26.4.2004

Kokeilin aikani kuluksi erilaisia muutoksia päivitysalgoritmiin. Alla oleva lista on saatu tekemällä aiempaan algoritmiin seuraavat muutokset:

  • Mukaan on otettu pelaajat 6 kyuhun asti.
  • K on 32, paitsi jos
    • pelaaja ei ole pelannut vielä 25 peliä - jolloin K on 32 + 32 * (25 - pelit_ennen_tätä_turnausta) / 25
    • pelaaja ei ole pelannut puoleen vuoteen - jolloin K on 64, jos on kulunut vähintään kaksi vuotta; 32, jos on kulunut puoli vuotta; ja lineaarisesti siltä väliltä. K säilyy samana läpi turnauksen.
  • Pelaajien pisteiden keskiarvo siirretään joka turnauksen jälkeen tuhanteen. (Tämä nostaa hiukan vanhojen pelaajien luokitusta, mutta vaikutus on minimaalinen.)

pelaaja pisteet pelit voitot tappiot
Laatikainen, Vesa 1485 134 106 28
Siivola, Matti 1265 148 102 46
Paatero, Lauri 1246 115 63 52
Lounela, Olli 1233 94 55 39
Törmänen, Antti 1215 40 30 10
Visala, Kari 1148 70 40 30
Jantunen, Kare 1148 63 35 28
Holappa, Antti 1101 55 30 25
Alanko, Otso 1099 69 35 34
Puha, Timo 1053 84 52 32
Keskitalo, Tuomo 1038 26 13 13
Jantunen, Markku 1026 150 80 70
Viljanen, Joose 1022 50 23 27
Brockman, Marko 1013 46 27 19
Niskanen, Einari 1010 46 27 19
Suorsa, Seppo 1006 56 34 22
Virtanen, Jaakko 999 72 35 37
Salo, Tuomo 997 51 28 23
Hirsimäki, Teemu 971 63 32 31
Halonen, Sami 951 35 14 21
Aapola, Lauri 929 74 32 42
Hippeläinen, Eero 917 33 14 19
Reijola, Timo 914 79 37 42
Rovio, Teemu 891 86 39 47
Kauppi, Ari 881 49 21 28
Kylmälä, Jari 876 33 13 20
Hansen, Henri 863 36 12 24
Koivikko, Jari 863 31 11 20
Torikka, Mauri 861 55 20 35
Pietarila, Paavo 859 104 41 63
Niinisalo, Helena 840 36 15 21
Karppinen, Ari 796 98 39 59
Kohonen, Sari 791 80 21 59
Runonen, Mikael 784 32 9 23

Suunnittelen mittaavani eri parametrien hyvyyttä järjestelmällisesti joskus myöhemmin, en välttämättä pian.

Muuten, shakin Elo-pohjaisten pistejärjestelmien toimintaa ja niiden puutteita on selitetty kansantajuisesti tässä artikkelissa: http://math.bu.edu/people/mg/papers/acjpaper.ps.

Antti Tarvainen, 27.4.

Timo, nähdäkseni rinnastat selvästi vertailukelvottomia asioita. Olisitko laskemassa tulosten luotettavuutta poikkeamien neliösummalla

  • kaikkien pelaajien kaikista tuloksista,
  • yksilöityjen pelaajien tuloksista käytettävissä olevan peliuran aikana
  • yksilöidyn pelaajan tuloksista yhden turnauksen aikana, vai
  • yksittäisistä peleistä?

Ellei toisin osoiteta, on eri asia arvioida tuloksia eri konteksteissa, se tekee tuloksista vertailukelvottomia, ja erityisesti aineiston luonne asettaa tähän omat rajansa. Kun nyt aineisto ja sen ominaisuudet ovat (vielä) tuntemattomia, ainakin itse olisin äärimmäisen varovainen yleistämään näitä tilanteita ristiin (l. voisin ehkä tehdä tuon uteliaisuuden aiheuttamasta mielenkiinnosta, mutta en ainakaan pitäisi siitä saatuja tuloksia mitenkään oikeutettuina tai etenkään oikeellisina.) Ja sittenpä voikin arvata mitä tällainen perustavanlaatuinen määrittelyn tekemättä jättäminen vaikuttaa työkalun (juuri esmes poikkeamien neliösummat) valintaan.

Mainittakoon että näiden erilaisten aineiston käyttötapojen aiheuttama tulosten keskinäinen vertailukelvottomuus on näkynyt kaikissa luokituskeskusteluissa ja joka käänteessä. Ihmiset eivät tunnu hahmottavan että kyse on eri asioista. Näin ollen aivan ensimmäiseksi pitäisi määritellä että mitä tutkitaan/mallinnetaan ja miten. Ei varmaankaan kuulosta yllättävältä, että biometriassa ongelmakentän määrittelyn jälkeen seuraava vaihe on poikkeuksetta määrittää aineiston luonne ja että mitä menetelmiä siihen voi soveltaa.

Tarvaisen Antin kokeilu mallin virittämiseksi on ilman muuta iloista nähtävää, mutta silti mieleeni tulee, että pitäisi pohtia perusteita seuraaville:

  • mihin perustuu parametri k:n raja-arvojen 32 ja 64 valitseminen
  • miksi pelitaso alkaa muuttua puolen vuoden pelitauon jälkeen, ja muutos kasvaa lineaarisesti kahteen vuoteen saakka
  • onko piste-ero transitiivinen sekä mahdollisesti lineaarinen, ja jos niin minkä suhteen

Kysymyksiä saadaan varmasti paljon, kun kyseenalaistetaan kaikki hihasta vedetyt olettamukset. Jos tällaisia ei pohdita huolella, ollaan sortumassa käytännössä samaan kuin mistä nykysysteemiä on kritisoitu: mielivaltaan. Oletetaan että ihminen voi arvioida mallia vain katsomalla sen antamia tuloksia, sen sijaan että lähdettäisi jostain määriteltävistä perusteluista.

Tämän lisäksi pitäisi mallin antamia tuloksia tutkia suhteessa oikeisiin pelituloksiin: ennustaako malli tulokset millään järjellisellä tarkkuudella, ja miten luotettavasti (l. systemaattisesti) sen tulokset ennustavat tapahtunutta. Tällä saataisi keinoja arvioida miksi ja missä tapauksessa jokin nimenomainen numeerinen malli voisi olla parempi kuin nykyinen, epäreiluksi haukuttu systeemi.

Tämä ei kuitenkaan tarkoita että pitäisin eri asioiden kokeilemista pahana, eihän aineiston ja mallin käyttäytymisestä voida saada selville mitään ilman että niitä tutkitaan. Sen sijaan olisin erittäin varovainen arvioimaan mitä tahansa mallia ilman että asiat voidaan perustella muuten kuin että "se näyttää antavan parempia tuloksia."

Ylempänä on sitetty kysymys GOR-systeemin heikkouksista, kerronpa tässä yhden perustavanlaatuisen heikkouden. ELO-systeemi pohjautuu normaalijakaumaan. Shakissa tällä ei ole väliä, koska pelivahvuus on abstrakti kokonaisluku jota verrataan vain siihen itseensä, gossa taas siihen yritetään sitoa dan/kyu-luokitus, joka taas perustuu tasoituskiviin. Hups, milläs perusteella nämä olivatkaan vertailukelpoisia? Muitakin heikkouksia löytyy, mutta en aio tehdä sitä suurta työtä, että analysoisin ne.

Pahoittelen jälleen osallistumistani, mutta tilastomenetelmien väärin ymmärtäminen ja kyseenalainen käyttö ylitti jälleen kirjoituskynnykseni. Ja tarkoitukseni on ensi sijassa esittää rakentavaa kritiikkiä, mutta myös esittää miten hankala oikeasti onkaan ongelmakenttä numeerisen systeemin laadinnassa.

-- DonOlli

Minusta sellaisen numeerisen järjestelmän laatiminen, joka pyrkii täyttämään kaikki go- luokitukselle asetetut vaatimukset yhtä aikaa, on erittäin kunnianhimoinen projekti eikä ole välttämättä edes tarpeellinen. Tarvaisen Antin mallin tarkoitus on esittää kärjelle järjestys. Mielestäni emme toistaiseksi edes tarvitse muunlaista automaattista järjestelmää. Myös yllä esitetty huomautus GOR-systeemin eräästä heikkoudesta on paikkansapitävä.

-- Markku

Viimeisimmästä Antin tekemästä listasta pistää silmämääräisesti esiin sellainen seikka, että se näyttäisi koostuvan n. 2-3 populaatiosta, jotka ovat pelanneet enimmäkseen keskenään. Tämä johtunee turnauksissa käytetyistä MacMahon-rajoista. Seurauksena vaikuttaisi olevan, että k.o. populaatioista ylempien heikommat pelaajat tippuvat tuntuvastikin alempien populaatioiden vahvempien pelaajien alle, vaikka keskinäisiä pelejä ei juurikaan ole. En ala erittelemään miksi satuin huomaamaan tämän :) Olisi mielenkiintoista nähdä turnausdata jollakin tavalla klusteroituna pelaajaparien mukaan.

--Paavo

- Tein jonkinlaisen kuvaajan josta näkee pelatut pelit sivulle SuomalaistenTasaAvausPelienMatriisi -- Tuomo K.

Paavolle: Huomasin itsekin tuon. En keksinyt mitään heuristiikkaa, jolla tuota voisi kompensoida. Jos tulee mieleen, kannattaa ehdottaa. En tiedä myöskään, kuinka tuon klusteroinnin voisi hoitaa.

Ollille: Numerot ovat todellakin hatusta vedettyjä, enkä edes kokeillut muita arvoja. Olen samaa mieltä myös siitä, ettei tällaista järjestelmää kannata ottaa käyttöön, ennen kuin sen sen toimivuus on testattu.

-- Antti Tarvainen, 27.4.

Ollille: Eri pelijoukolle lasketut virheiden neliösummat eivät tosiaankaan ole vertailukelpoisia, eikä jollain joukolla saatu luku kerro sinänsä mitään erityisen mielekästä, paitsi että pienempi luku on parempi. Eikä sen ole tarvekaan kertoa, koska samalla joukolla saatuja lukuja eri ennustussysteemeistä voidaan kuitenkin vertailla mielekkäästi. Tämähän riittää eri systeemien vertailua varten, koska kaikki systeemit voidaan laittaa antamaan todennäköisyydet samalle joukolle pelejä ja tulosten selvitessä voidaan kaikille laskea virhe, jota voidaan vertailla. Virheiden neliösummien tilalla voi käyttää vaikka virheiden itseisarvojen keskiarvoa, joka tuottaa erilaisia lukuja, mutta joilla on intuitiivisesti suorempi tulkinta. Tuon virheiden kokoamisfunktion (siis esimerkkinä neliösumma, itseisarvojen keskiarvo tai mikä tahansa L_n normi) valinnalla mun mielestä vaikutetaan vain siihen, miten paljon erisuuruisista virheistä rangaistaan. Näin lasketut virheet eivät edelleenkään varmaankaan ole tilastollisesti merkittäviä, mutta annetun datan puitteissa parasta saatavissa olevaa tietoa. Intuitiivisesti kuitenkin virhe isommalle ja kattavammalle pelijoukolle on merkittävämpi kuin pienelle.

--Timo

Ehdotus luokittajan nyrkkisäännöksi

-- Markku 6.6. 2005

Authentication code:

Toolbar

Comment signature

Add new attachment

In order to upload a new attachment to this page, please use the following box to find the file, then click on “Upload”.

Here's a short reminder on the most common formatting rules you have at your disposal. A complete list is available in TextFormattingRules.

(empty line)     Make a paragraph break.
----             Horizontal ruler
[link]           Create hyperlink to "link", where "link" can be either an internal 
                 WikiName or an external link (http://)
[text|link]      Create a hyperlink where the link text is different from the actual 
                 hyperlink link.
[text|wiki:link] Create a hyperlink where the link text is different from the 
                 actual hyperlink link, and the hyperlink points to a named Wiki. 
                 This supports interWiki linking.

*                Make a bulleted list (must be in first column). Use more (**) 
                 for deeper indentations.
#                Make a numbered list (must be in first column). Use more (##, ###) 
                 for deeper indentations.

!, !!, !!!       Start a line with an exclamation mark (!) to make a heading. 
                 More exclamation marks mean bigger headings.

__text__         Makes text bold.
''text''         Makes text in italics (notice that these are single quotes ('))
{{text}}         Makes text in monospaced font.
;term:def        Defines 'term' with 'def'.  Use this with empty 'term' to make short comments.
\\               Forced line break (please use sparingly).

|text|more text| Makes a table. Double bars for a table heading.

Don't try to use HTML, since it just won't work.

To embed images just put them available on the web using one of the approved formats, and they will get inlined automatically. To see the list of approved formats, go check SystemInfo.

To make a code block, use triple {'s to open, and triple }'s to close.

(Wondering where this text comes from? It's on a page called Edit Page Help, which you can edit too!)