Opcje tematu
#26655 - 22/04/2003 17:03 ELO i inne takie
hi_res evil Offline
addict

Meldunek: 11/06/2001
Postów: 575
witam wszystkich

nieco się zastanawiałem (zastanawiam się wciąż) pisząc te słowa, czy jest sens spowiadać się z sekretów obliczeniowych, ale wygląda na to, że utknąłem w miejscu i mam nadzieję że ktoś z was (ktokolwiek) napisze coś, co doda mi kopa

no więc zaczynam:
jak liczę moje procenty? pewnie niektórzy wiedzą że całość opiera się na rankingu ELO, aczkolwiek dość mocno zmodyfikowanym
wyjaśnię pokrótce, jak to robię - zbieram ile się da sezonów wstecz danej ligi i zaczynając od najstarszego wyliczam ratingi dla każdego z zespołów, które następnie zmieniają się dynamicznie wraz z każdym rozegranym meczem wg algorytmu:

każdy zespół zaczyna od 0 pkt
obliczam oczekiwaną różnicę bramek = 0,33 + 0,24 * (rankingHome - rankingAway)
modyfikuję ranking o sign(różnicaReal - róznicaOczek) * log(1 + abs(różnicaReal - różnicaOczek) ; 1000)
i tak w kółko
rankingi przechodzą na sezon następny, beniaminkowie i spadkowicze dostają na początek 0

następnie zbieram ostatnie 1000 spotkań z danej ligi (zaokrąglając do początku sezonu) i obliczam p dla każdego z rozstrzygnięć (1, X i 2) korzystając z funkcji simgoidalnej:
1/(1+a1*exp(-(a2+a3*(rankingHome-rankingAway))))
wykorzystując jako funkcję straty minimalizację średniej geometrycznej:
L=-log(abs(1-OBS-PRED))

------------------

pytania:
czy ktoś widzi tu jakiś potężny błąd?
czy istnieje może jakaś lepsza metoda rankingowa? (jeżeli ktoś coś poleca, to prosiłbym o korelację z wybranego sezonu - różnicy ratingów (czy też innego sposobu wyznaczania różnicy siły zespołów) i różnicy bramkowej wyniku spotkania)
jak można rozwiązać problem beniaminków (spadkowiczów)?
jak rozwiązać (i rozpoznać) problem 'coś ewidentnie idzie nie tak z danym zespołem'?
czy istnieje może lepszy sposób szacowania p niż f-cja sigmoidalna i minimalizacja średniej geometrycznej?
jak rozwiązać problem przechodzenia ratingów na następny sezon (długa przerwa i zwiększenie niepewności oszacowania siły zespołów) - tak samo z przerwą zimową?

------------------

co próbowałem zrobić i nie wyszło za specjalnie:
dodać osobne ratingi dla Home/Away
dodać osobne ratingi dla danego sezonu (każdy zaczyna od 0pkt)
dodać rating dotyczący strzelonych bramek (nie różnicy) i strzelonych + straconych (to w celu oszacowania szans u/o i remisów - jak wiadomo im mniejsze szanse na bramki tym większe na remis)
dopasować oczekiwaną różnicę bramek do specyfiki ligi (to przyznaję nie do końca)
dodać statystyki strzałów na bramkę (zupełnie nie działa w niższych angielskich - z innych lig brak danych)
policzyć wg klasycznego ELO
dodać większą wagę dla zmian ratingów w początkowych okresach sezonu
dodać zmianę rankingu w ostanim meczu jako metodę obliczania siły zespołu

------------------

co chciałbym zrobić:
dodać info o poważnych ubytkach składów, bankructwach, kłopotach finansowych, motywacji - nie wiem jak to jednak zrobić/skąd wziąć info
rozwiązać problem beniaminków/spadkowiczów

ps. już na wstępie zauważyłem co mogę zrobić żeby było lepiej - dla X f-cja powinna mieć wygląd: 1/(1+a1*exp(-(a2+a3*abs(rankingHome-rankingAway+a4))))
tak że na coś moje wywody się chyba przydały

Do góry
Bonus: Unibet
#26656 - 22/04/2003 17:56 Re: ELO i inne takie
uQ$ Offline


Meldunek: 23/01/2001
Postów: 3177
Z tego co widzę, to z rankingu ELO to u ciebie tylko nazwa pozostała .
Parę uwag na gorąco, nie podoba mi się pomysł zaczynania od "zera" każdej z drużyn (w oryginalnym szachowym rankingu ELO, nawet ci co dopiero się nauczyli grać zaczynają od 1000), co prawda przez to, że "nieco zmodyfikowałeś" ranking nie wiem czy ma to znaczenie. Gdyby jednak z tego zrezygnować można by pomyśleć nad rozróżnieniem drużyn z różnych lig. I tak, np. drużyny z czołowej ligi zaczynałyby najwcześniejszy sezon od 2000, z drugiej od 1800, z kolejnej od 1600, itd. (oczywiście można się zastanawiać czy właściwa jest różnica 200 czy inna), w ten sposób miałbyś rozwiązany problem spadków/awansów. Kolejna rzecz, to kombinowanie z zamianą rankingu na szanse poszczególnych rozstrzygnięć. Gdyby się trzymać klasycznego rankingu, to w samo ELO jest "wbudowana" formuła, pozwalająca na taką ocenę: EW=1/(10^(-dr/400)+1), EW - to wartość oczekiwana wyniku (1 - zwycięstwo, 0,5 - remis, 0 - porażka), dr - różnica w rankingu. Jedyny problem, że w wyniku dostajemy szanse z pominięciem remisu, należałoby je więc "nałożyć" na siatkę 1x2 (może być nieco różna dla każdej ligi), bądź grać zakłady moneyline

Do góry
#26657 - 22/04/2003 18:40 Re: ELO i inne takie
hi_res evil Offline
addict

Meldunek: 11/06/2001
Postów: 575
[QUOTE]Oryginalnie wysłał uQ$:
Z tego co widzę, to z rankingu ELO to u ciebie tylko nazwa pozostała .[/QUOTE]no to było tak, ze postanowiłem przyjrzeć się temu ELO i spróbować czegoś samemu - ale wyłączyli mi sieć i nie mogłem znaleźć przepisu - więc zabrałem się za to tak jak pamiętałem - okazało się że całkiem nieźle wyszło

[QUOTE]Parę uwag na gorąco, nie podoba mi się pomysł zaczynania od "zera" każdej z drużyn (w oryginalnym szachowym rankingu ELO, nawet ci co dopiero się nauczyli grać zaczynają od 1000), co prawda przez to, że "nieco zmodyfikowałeś" ranking nie wiem czy ma to znaczenie.[/QUOTE]nie ma dopóki do oczekiwanej różnicy bramek biorę róznicę rankingów - myślałem też o parametrze (rankH - rankA)/(rankH + rankA), ewentualnie podobnym tylko potraktowanym sigmoidem - ale efekty nie usprawiedliwiały nakładów, więc dałem spokój

[QUOTE] Gdyby jednak z tego zrezygnować można by pomyśleć nad rozróżnieniem drużyn z różnych lig. I tak, np. drużyny z czołowej ligi zaczynałyby najwcześniejszy sezon od 2000, z drugiej od 1800, z kolejnej od 1600, itd. (oczywiście można się zastanawiać czy właściwa jest różnica 200 czy inna), w ten sposób miałbyś rozwiązany problem spadków/awansów.[/QUOTE]to spróbuję - myślałem o sztywnym spadkowicz zaczyna od 0.5, beniaminek od -0.5 (czy inne wartości), i nawet się sprawdzało, ale zobaczę jak będzie z tym pomysłem

[QUOTE] Kolejna rzecz, to kombinowanie z zamianą rankingu na szanse poszczególnych rozstrzygnięć. Gdyby się trzymać klasycznego rankingu, to w samo ELO jest "wbudowana" formuła, pozwalająca na taką ocenę: EW=1/(10^(-dr/400)+1), EW - to wartość oczekiwana wyniku (1 - zwycięstwo, 0,5 - remis, 0 - porażka), dr - różnica w rankingu. Jedyny problem, że w wyniku dostajemy szanse z pominięciem remisu, należałoby je więc "nałożyć" na siatkę 1x2 (może być nieco różna dla każdej ligi), bądź grać zakłady moneyline [/QUOTE]zgadza się - funkcja jest w mechanizm wbudowana, ale wg mnie mniej efektywna, pomijając to że ciężko wyjąć z niej remis
ale - jak wyżej, choć próbowałem już klasycznego ELO, to nie pamiętam już dokładnie wyników i sprawdzę co dokładnie mi tam nie pasowało

no nic, dzięki za uwagi i pomysły i proszę o więcej

Do góry


Kto jest online
4 zarejestrowanych użytkowników (alfa, pacyfista, Sensei, forty), 1141 gości oraz 18 wyszukiwarek jest obecnie online.
Key: Admin, Global Mod, Mod
Statystyki forum
24780 Użytkowników
105 For i subfor
51062 Tematów
5801398 Postów

Najwięcej online: 5410 @ 06/10/2024 14:47