Closed matttrenary closed 1 year ago
It appears that right now all ties result in +0 ratings, which is wrong.
Here is our error:
When there is a tie, margin is 0, so margin_coef = log(abs(margin) + 1) = log(1) = 0
.
This cancels out the entire ratings update.
I think the Northwestern guy actually made the same mistake!
My Solution
Remove the margin_coef from calculations when there is a tie. This is the same as artificially setting margin_coef to 1. If you do that:
It really just depends on what we want. It doesn't seem like the margin formula is set in stone and that 538 just made it up (and didn't account for ties either). Further reading: https://fivethirtyeight.com/methodology/how-our-nfl-predictions-work/ https://stats.stackexchange.com/questions/168047/accounting-for-autocorrelation-in-margin-based-elo-ratings
I guess I'd say the value using 2 looks good for ties, and fits in well with using 1 for the rest of the margins.
I implemented using margin+2 for ties. It's operational though arbitrary.
This is all great. It seems like it's okay to close this issue.
I hadn't included the home field coefficient in the auto correlation math. With that added, spot checked results are matching results calculated outside of the system. Reposting results and closing.
West Chester v Maryland on 10/1/22. A tie, but a big ratings difference. Both teams are +0. Is that right?