Poprzedni temat
Następny temat
Drukuj temat
#26655 22/04/2003 17:03
Dołączył: Jun 2001
Posty: 575
H
addict
addict
H Offline
Dołączył: Jun 2001
Posty: 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 <img src="/ubbthreads/images/graemlins/smile.gif" alt="" />

Bonus: Unibet
#26656 22/04/2003 17:56
Dołączył: Jan 2001
Posty: 3,177
uQ$ Offline
Dołączył: Jan 2001
Posty: 3,177
Z tego co widzę, to z rankingu ELO to u ciebie tylko nazwa pozostała <img src="/ubbthreads/images/graemlins/wink.gif" alt="" /> .
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 <img src="/ubbthreads/images/graemlins/wink.gif" alt="" />

#26657 22/04/2003 18:40
Dołączył: Jun 2001
Posty: 575
H
addict
addict
H Offline
Dołączył: Jun 2001
Posty: 575
Quote
Oryginalnie wysłał uQ$:
Z tego co widzę, to z rankingu ELO to u ciebie tylko nazwa pozostała <img src="/ubbthreads/images/graemlins/wink.gif" alt="" /> .
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.
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.
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 <img src="/ubbthreads/images/graemlins/wink.gif" alt="" />
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


Link skopiowany do schowka
Kto jest teraz online
7 zarejestrowanych użytkowników (betowiec, latajaca_holenderka, Sensei, rymoholik, JelineK, $-man, burbon), 2,229 gości, oraz 8 wyszukiwarek.
Key: Admin, Global Mod, Mod
Statystyki forum
Strona główna forum105
Tematy51,294
Posty5,837,912
Użytkownicy24,790
Najwięcej online13,128
Sep 24th, 2025
Powered by UBB.threads™ PHP Forum Software 8.0.1