MySportsAI
Colt
I was reading an old thread on here today about oddsline creation so I thought I would start a fresh thread with a different twist to an old idea. Steve Tilley wrote a smartSig article some years ago about creating an oddsline from ratings. Essentially it revolved around formulating a normal distribution of ratings for a horse, think in ters of horse A has a rating of 70 but is statistically likely to run to something between 65 and 75. Randomly select a value from this range as its rating and do the same for all other horses and their range. So if horse horse A is a 65 horse with a range of 60 to 70 and randomly 70 is picked whilst randomly 65 is picked for horse A then horse B is predicted to win. Do this many thousands of times and use the win scores to create a probability for each horse.
Now with machine learning you can use regression to predict, for example, pounds beaten where pounds beaten is derived to take into account the race distance. The second step is to use the residuals of the errors on these predictions to get a range rather than an absolute prediction. OK WHOAAA what are residuals you ask. This is the difference between the prediction and the result so if horse A was predicted to be beaten 3L and it was beaten 5.5l the residual is 2.5, if on the other hand the actual is 2l then the residual is 1l
Using these derived ranges we can then perform a monte carlo simulation, thats the part that tests it all thousands of times, to get an oddsline.
It is early days but I tested this idea using Lingfield AW handicaps only to reduce the going effect on pdsBtn ranges. I trained on 2011 to 2015, calibrated the ranges using 2016 to 17 and then tested it on 2018/19
When the oddsline was less than BFSP there were 2365 bets and PL of +152.13
When the oddsline was greater than BFSP there were 1828 bets and a PL of -178.4
Now with machine learning you can use regression to predict, for example, pounds beaten where pounds beaten is derived to take into account the race distance. The second step is to use the residuals of the errors on these predictions to get a range rather than an absolute prediction. OK WHOAAA what are residuals you ask. This is the difference between the prediction and the result so if horse A was predicted to be beaten 3L and it was beaten 5.5l the residual is 2.5, if on the other hand the actual is 2l then the residual is 1l
Using these derived ranges we can then perform a monte carlo simulation, thats the part that tests it all thousands of times, to get an oddsline.
It is early days but I tested this idea using Lingfield AW handicaps only to reduce the going effect on pdsBtn ranges. I trained on 2011 to 2015, calibrated the ranges using 2016 to 17 and then tested it on 2018/19
When the oddsline was less than BFSP there were 2365 bets and PL of +152.13
When the oddsline was greater than BFSP there were 1828 bets and a PL of -178.4

????"







