-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use base-e (not 10) in expected_win_probability #54
Use base-e (not 10) in expected_win_probability #54
Conversation
Change `expected_win_probability` to use base-e (instead of base-10), to match Glicko-2. `v5_glicko2_update` was already (correctly) using base-e. This follow-up to 87c3fa8 gets handles the math domain error from tallying results on large small board handicaps. The base-10 bug made the expected win rate 1.0 (100%). Of course, it's still possible to skip large handicap games when tallying results... but no longer necessary.
170fee1
to
1141878
Compare
goratings/math/glicko2.py
Outdated
/ 400 | ||
) | ||
) | ||
/ 400) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@anoek, I'm skeptical of this / 400
. Any thoughts on why it's here?
@anoek, this function Let me know if/when to send out parallel PRs. Personally I'd be tempted to delete it from the other repos since it's not used there but up to you. |
Ah, so the source of confusion is that this function is using the original glicko expected outcome formula on page 5 of http://www.glicko.net/glicko/glicko.pdf , as opposed to from http://glicko.net/glicko/glicko2.pdf The original formula was this: so that's where the Note that the actual glicko2 implementation uses the I'm guessing what happened is I did the original implemenation, came back to it a year or two later, thought "Hey I want to look at the estimated outcome", searched the glicko2 paper and didn't find the keywords I wanted and didn't pause long enough to think about the math, meanwhile the original glicko paper had a function that sounded like what I wanted, and given my understanding that glicko and glicko2 are completely compatible with one another, just glicko2 updates faster/better, I probably said to myself, this should work just fine for crunching some simple analytics. And I assume it does, though I assume using |
Yeah I reckon eliminating it is probably a good thing. Honestly I don't know that it's useful here either, it's not immediately obvious to me whether using the value like we do produces anything meaningful. Seems like if we do keep it, we should update it though. |
Well, it's used in goratings to compute the |
Aha. I should update it more fully then before pushing. I'll make this a draft for now. |
It's not though, the main thing I was looking at was the handicap stuff at the top, it's all about those black win rates being consistent - if you've those pegged then it means your rating to ranking map is good. Everything else is just to help validate what I was seeing, maybe develop some further intuitions, that sort of stuff. So in that regard, sure might as well update it, but the main thing is optimizing for ensuring that if we have a rank difference between players, that corresponds directly to how much of a handicap they should have. |
Oh, the black win rate. I misunderstood which table you were looking at :/. (My fault... you did say the FIRST table, but I somehow was looking at the second.) |
I think cc296a6 updates it correctly / the rest of the way. This makes the math domain error come back... so now I'm not sure it really makes a difference. |
Effectively replaced this with #57 for now. |
I'm going to close this one and re-open a clean PR to consider. |
Change
expected_win_probability
to use base-e (instead of base-10), to match Glicko-2.v5_glicko2_update
was already (correctly) using base-e.This follow-up to 87c3fa8 gets handles the math domain error from tallying results on large small board handicaps. The base-10 bug made the expected win rate 1.0 (100%).
Of course, it's still possible to skip large handicap games when tallying results... but no longer necessary.
Relates to #45.