Sky ratings as per JFC - Racing Talk - Racehorse TALK harm-plan harm-plan

Racehorse TALK



Sky ratings as per JFC - Racing Talk - Racehorse TALK

Author Topic: Sky ratings as per JFC  (Read 654 times)

0 Members and 1 Guest are viewing this topic.

Offline usernametaken2

  • class1
  • User 2579
  • Posts: 13
O.P. « 2021-Jun-05, 05:24 PM »
Hi JFC, I would love to see an expansion of the ratings method mentioned on the other thread.
A word of warning though, I am starting off a very low base.
:-)

Online jfc

  • Group 1
  • User 723
  • Posts: 7490
« 2021-Jun-05, 08:13 PM Reply #1 »
About 3 hours ago I was in a great mood, and began my reply.

I looked for a simple youtube to illustrate some key principles, but they've vanished! And I'm wasted.

So until my disposition returns to a less discontented state, how about someone else start the ball rolling by explaining what convolution has to do with determining performance distributions.

Offline JWesleyHarding

  • Group 1
  • User 231
  • Posts: 21318
« 2021-Jun-05, 08:53 PM Reply #2 »

Offline wily ole dog

  • Group 1
  • User 218
  • Posts: 28398
« 2021-Jun-06, 09:29 AM Reply #3 »
Hi JFC, I would love to see an expansion of the ratings method mentioned on the other thread.
A word of warning though, I am starting off a very low base.
:-)

You think youíre on a low base😆😆😆 I didnít understand a single word of it :no: :no: :no:

Online jfc

  • Group 1
  • User 723
  • Posts: 7490
« 2021-Jun-06, 06:23 PM Reply #4 »

  1 2 1
1
2
1

Populate a spreadsheet with the above.

Name the top row Row
Name 1st column Col

In B2 enter
=Row*Col

Propagate that into a 3*3 array producing:

1 2 1
2 4 2
1 2 1


Rotate the data 45o right (or your head 45o left) to  get:

    1
  2   2
1   4   1
  2   2
    1


Add the columns producing:

1 4 6 4 1

Congratulations you have convoluted 1,2,1 with 1,2,1

Note that both the source and the result are rows of the well known Pascal's Triangle (aka Binomial coefficients).

Repeat that for any 2 Pascal Triangle Rows to always get another Pascal Triangle Row for the result.

Offline usernametaken2

  • class1
  • User 2579
  • Posts: 13
« 2021-Jun-07, 12:37 PM Reply #5 »
Try as I might jfc, I can't even get past the first step. A screen shot or more info required for me I'm afraid.
I may wait until my young fella comes around tomorrow night and get him to have a crack at it.
Am keen to learn more though if you can put up with the lack of excel/computer skills.
:-)

Offline PoisonPen7

  • Group 1
  • User 55
  • Posts: 23152
« 2021-Jun-07, 06:17 PM Reply #6 »


Is this the marijuana smoker's thread? I am looking for the marijuana smoker's thread.

This must be it with Bob Marley videos and jfc talking like he is experimenting with magic mushrooms.


Online jfc

  • Group 1
  • User 723
  • Posts: 7490
« 2021-Jun-08, 06:06 PM Reply #7 »
If 2 Normal Distributions have a Variance of V

Then their Difference Distribution is also Normal with a Variance of 2 V.

This is a key principle that I will be using once I finish working through my calculations.

https://mathworld.wolfram.com/NormalDifferenceDistribution.html

I will also be referring to the tables in this. But it is impossible for me to read the article because it has no mathematical integrity.

https://www.championbets.com.au/betting-education/framing-market-basis-value-betting/


Online jfc

  • Group 1
  • User 723
  • Posts: 7490
« 2021-Jun-09, 10:44 AM Reply #8 »
I actually watched most of the video inside that market framing link, because I had a glimpse of some overlapping Normal Distributions in it.

And now I remembered that there was something similar in the exceedingly boring Benter video, at the 27:21 mark.

https://www.youtube.com/watch?v=YOVrZrJ-wtc&t=1641s



In essence both pose the same problem, but conveniently forget to provide the solution.

I'll give those interested some time to study them, before revealing my solution as a simple spreadsheet.

Now for those who find such spreadsheets too daunting, I suspect some of you didn't even make an effort to open a spreadsheet.

And my bet is some don't know how to manage names in spreadsheets. If so you should make an effort to learn. It's not that hard. If you're stuck then use Help, google or call a friend.

Once you master that that will open up more options in quantifying decisions in everyday life.


Offline fours

  • Group 1
  • User 704
  • Posts: 7868
« 2021-Jun-09, 11:10 AM Reply #9 »
Alternatively,

Just judge the range of performances in the race and the inherent variance in the potential result and bet accordingly.

Low variance and little depth means a very different bet required to a race with high variance and great depth.

Lots of value in what jfc is going into but hopefully many of you can do this with a glance at the field if you have been following the form - or even just look at what the late marekt tells you.

Fours

Offline carey

  • Group3
  • User 2519
  • Posts: 877
« 2021-Jun-09, 01:59 PM Reply #10 »
I actually watched most of the video inside that market framing link, because I had a glimpse of some overlapping Normal Distributions in it.

And now I remembered that there was something similar in the exceedingly boring Benter video, at the 27:21 mark.

https://www.youtube.com/watch?v=YOVrZrJ-wtc&t=1641s



In essence both pose the same problem, but conveniently forget to provide the solution.

I'll give those interested some time to study them, before revealing my solution as a simple spreadsheet.

Now for those who find such spreadsheets too daunting, I suspect some of you didn't even make an effort to open a spreadsheet.

And my bet is some don't know how to manage names in spreadsheets. If so you should make an effort to learn. It's not that hard. If you're stuck then use Help, google or call a friend.

Once you master that that will open up more options in quantifying decisions in everyday life.

as regards spreadsheets......guilty as charged.
i can code though!

Offline wily ole dog

  • Group 1
  • User 218
  • Posts: 28398
« 2021-Jun-09, 02:37 PM Reply #11 »
I actually watched most of the video inside that market framing link, because I had a glimpse of some overlapping Normal Distributions in it.

And now I remembered that there was something similar in the exceedingly boring Benter video, at the 27:21 mark.


In essence both pose the same problem, but conveniently forget to provide the solution.


I'll give those interested some time to study them, before revealing my solution as a simple spreadsheet.

Now for those who find such spreadsheets too daunting, I suspect some of you didn't even make an effort to open a spreadsheet.

And my bet is some don't know how to manage names in spreadsheets. If so you should make an effort to learn. It's not that hard. If you're stuck then use Help, google or call a friend.

Once you master that that will open up more options in quantifying decisions in everyday life.

I watched it but sadly all that stuff is way over my head. I simply canít compute it and how to even go about making it a practicality for myself

Aside from paying for the formula and blindly following it😆

As to the highlighted section. Are you referring to his statement about Predicted times?  To me there seems to be so many variations to that component itís impossible to predict without making a lot of adjustments to any formula on a given race

Offline fours

  • Group 1
  • User 704
  • Posts: 7868
« 2021-Jun-09, 03:00 PM Reply #12 »
wiley,

Lots of punters do this anyway without realising they are doing this. It is simply what they do put into a mathematical form.

Most good punters simply dont need to do the maths. Like anything else doing it will show up a few things you would not have notcied without doing it.

Fours

Online jfc

  • Group 1
  • User 723
  • Posts: 7490
« 2021-Jun-10, 05:56 PM Reply #13 »
This spreadsheet will help you understand the problem, and lead to the solution

Create these Named Columns and formulas in a spreadsheet:

RunnerRatingSTDRanScorePosition
Dulcify7670.6=NORMINV(Ran,Rating,STD)=ROW()-1

Ran is a number between 0 & 1.

Note when Ran is 0.5 Score equals Rating. Above 0.5 Score will be higher, below that, lower.

STD is Standard Deviation (default 7). Raise that and Score will rise.

If you don't know what NORMINV does, google "Inverse Normal"


Once you are comfortable with the above add a few more rows.

Sort the table by descending Score and the rows will shift accordingly. And the positions will be correct.

Note that unlike the 2 videos which only seem to consider the winner, this calculates all positions.

Now all you have to do is find someone to program it to run through several 100,000 iterations.

Except RAN now has to be a generated random number.

And after each iteration update a table of Runners X Positions by adding 1 into the appropriate position for each runner.

So at the end you have ~probabilities for every Runner and their Positions. Hence Odds.

I've done similar things for other sports, including Golf with (say) 156 players, and it works fine and fast.

Beats me why Benter didn't do that.



Offline bascoe

  • Open
  • User 2568
  • Posts: 152
« 2021-Jun-11, 03:20 PM Reply #14 »
Ok the spreadsheet part is simple:  Here is one iteration

TabNo     Rating   STD   Rand()           Score          Position
1          100             7   0.439728975   98.93840523   1
4          50             7   0.028932513   36.7229665   2
7          40             7   0.158895514   33.00694708   3
6          10             7   0.784290475   15.50735972   4
5          5             7   0.658050135   7.85003181   5

My question is on the generation of the Monte Carlo sim - what do you mean "after each iteration update a table of Runners X Positions by adding 1 into the appropriate position for each runner" ?

I create a new table - simple - and say I run it 100,000 times - store the all values for Position 1, 2 and so on?

I have 100,000 different Score values for each position, how do I derive a price for each runner from that table? 

I will be doing this in code rather than Excel -

bascoe
« Last Edit: 2021-Jun-11, 03:36 PM by bascoe »

Online jfc

  • Group 1
  • User 723
  • Posts: 7490
« 2021-Jun-11, 04:19 PM Reply #15 »
N = 100,000 (Number of trials)

If I understand you correctly, you have accumulated a 5*5 table where :

All Rows sum to N
All Columns sum to N
The peak of each Row is near enough to Runner's Ranking.

e.g.
#1's Peak ~=Column for 1st Pos
#4's Peak ~= Column for 2nd Pos
#7's Peak ~= Column for 3rd Pos
#6's Peak ~= Column for 4th Pos
#5's Peak ~= Column for 5th Pos

Then probabilities for any of the 25 sums (t) = t/N
And Odds = N/t

e.g. if the sum for #1 finishing 1st is 60,000

Prob = 60%
Odds = ~1.666666666667

Simple!


Offline carey

  • Group3
  • User 2519
  • Posts: 877
« 2021-Jun-11, 06:36 PM Reply #16 »
using bascoe's numbers have i got it?
can't do spreadsheets, but think the quick code job has it correct?



Offline bascoe

  • Open
  • User 2568
  • Posts: 152
« 2021-Jun-11, 07:01 PM Reply #17 »
Thanks jfc

A really value added contribution - worth visiting back here after a while missing the usual repetitive stammering from PM

You suggest "several 100,000 iterations" - the only issue is time - there must be a point of diminishing returns??  Have you found an optimum or best fit number of iterations?

bascoe

Offline carey

  • Group3
  • User 2519
  • Posts: 877
« 2021-Jun-11, 07:08 PM Reply #18 »
if i have it right you could do 100000 *10 in a couple of seconds, but it won't be changing much anyway.
if you do 1000 *1 or 1000000 * 10 i don't think would make much difference.
will try it now and see what happens

Online jfc

  • Group 1
  • User 723
  • Posts: 7490
« 2021-Jun-11, 07:19 PM Reply #19 »
Carey,

You seem to have the 1st part right.

But then you get the tallying wrong.

Looks I need to explain that better, as Bascoe also had issues with what I meant.

Essentially you need to tally into a 5 x 5 Array.

Ist Dimension is Rating Rank - 0 for Top Rater thru' to 4 for Bottom Rater
2nd Dimension is Position Rank - 0 for 1st ... 4 for Last

and the data is the count of how often Rater x finished in Position p.

I'll try and explain better when I'm in the right frame of mind.

Also I reiterate that this is a solution for the theoretical. The theories are from Scott, Cameron and Benter.

I remain to be anywhere near convinced the theories are sound.
« Last Edit: 2021-Jun-11, 07:23 PM by jfc »

Offline carey

  • Group3
  • User 2519
  • Posts: 877
« 2021-Jun-11, 07:29 PM Reply #20 »
no surprise, math is not my strong point, my expertise lay elsewhere.
i'll see if i can fix the tallying



Offline carey

  • Group3
  • User 2519
  • Posts: 877
« 2021-Jun-11, 07:47 PM Reply #21 »
if i have it right you could do 100000 *10 in a couple of seconds, but it won't be changing much anyway.
if you do 1000 *1 or 1000000 * 10 i don't think would make much difference.
will try it now and see what happens

i know i have tallied it wrongly now, but i had already done this.......
if i did it correctly would it show similar variance depending on iterations jfc?
column a is how many iterations done.
code was less than 2 seconds to do the lot.



Online jfc

  • Group 1
  • User 723
  • Posts: 7490
« 2021-Jun-12, 09:37 AM Reply #22 »
This is my attempt to explain the Tallying process.
In C# (as I ruled out Klingon)


        public class rr // Ratings Record
        {
            int rk;
            double Score;
            public static void Tally(List<rr> l, int[,] PosCount)
            {
                int Radix = l.Count;
                l.Sort(ByScore);
                for (int Pos = 0; Pos < Radix; ++Pos)
                    ++PosCount[l[Pos].rk, Pos];
            }
            public static int ByScore(rr a, rr b)
            {
                return b.Score.CompareTo(a.Score);
            }
        }

The class rr is Ratings Record, containing all the fields in the spreadsheet row.

To declutter I've intentionally left that out, bar Score which is needed here.

Radix is my term for Field Size (5 in Bascoe's case)

rk is an extra field holding the Rating Rank - 0 for Best, Radix-1 for worst

The Tally function first sorts the records by descending Score.

PosProb is a Radix x Radix array holding the counts for each position for each Runner

++ is C#'s cute way of adding 1 to a cell

So the ++ expression inside the loop
Adds 1 to the Top Scorer's cell for 1st
Ditto for middle Scorers
Adds 1 to the Bottom Scorer's cell for Last


Carey, you need to try and do the equivalent in your program.

Bascoe you have a 50 point gap between your Top and 2nd Runner.
The Odds for yourTop Pick is probably well below 1.001!
So you need to squash them up considerably to inject some realism.

Offline carey

  • Group3
  • User 2519
  • Posts: 877
« 2021-Jun-12, 09:55 AM Reply #23 »
This is my attempt to explain the Tallying process.
In C# (as I ruled out Klingon)


        public class rr // Ratings Record
        {
            int rk;
            double Score;
            public static void Tally(List<rr> l, int[,] PosCount)
            {
                int Radix = l.Count;
                l.Sort(ByScore);
                for (int Pos = 0; Pos < Radix; ++Pos)
                    ++PosCount[l[Pos].rk, Pos];
            }
            public static int ByScore(rr a, rr b)
            {
                return b.Score.CompareTo(a.Score);
            }
        }

The class rr is Ratings Record, containing all the fields in the spreadsheet row.

To declutter I've intentionally left that out, bar Score which is needed here.

Radix is my term for Field Size (5 in Bascoe's case)

rk is an extra field holding the Rating Rank - 0 for Best, Radix-1 for worst

The Tally function first sorts the records by descending Score.

PosProb is a Radix x Radix array holding the counts for each position for each Runner

++ is C#'s cute way of adding 1 to a cell

So the ++ expression inside the loop
Adds 1 to the Top Scorer's cell for 1st
Ditto for middle Scorers
Adds 1 to the Bottom Scorer's cell for Last


Carey, you need to try and do the equivalent in your program.

Bascoe you have a 50 point gap between your Top and 2nd Runner.
The Odds for yourTop Pick is probably well below 1.001!
So you need to squash them up considerably to inject some realism.

yes, i knew what i had to do, but was having problems figuring how to do it!
thanks for above.

Offline fours

  • Group 1
  • User 704
  • Posts: 7868
« 2021-Jun-12, 11:45 AM Reply #24 »



Fours


BACK TO ALL TOPICS
Sitemap