GRADING ANOMALIES

General discussions about ratings.
Roger de Coverly
Posts: 21312
Joined: Tue Apr 15, 2008 2:51 pm

Re: GRADING ANOMALIES

Post by Roger de Coverly » Fri Dec 18, 2009 2:15 pm

The philosophy of grading systems is that grade or rating is an estimate of playing strength. Let's compare and contrast Elo and ECF methods.

Both use more or less the same approach for establishing the initial rating of a new player, which is to measure performance against the universe of established players with no pre-conditions (other than Elo ignoring performances close to zero ) as to what the strength of the new player actually is.

If you don't have any established players, you can establish initial relative ratings from a set of results by using a method of recursion or the equivalent expressed as a matrix process. These processes "count" 50 points or the Elo equivalent for a win.

Elo and ECF differ in the subsequent treatment. In both cases for over-the-board chess (as distinct from server chess) you need a rating period covering several / many games. In both cases the strength estimate at the start of the period is presumed to be constant over the period. In the limit for a brand new system this would be the results from the recursion.

For a sufficiently high number of games, the ECF system will treat the performance over the current period as the new estimate of strength to apply in the following period. For insufficient number of games it will average in results from previous periods. The Elo system prefers to adjust the initial estimate by comparison of the actual performance to the expected performance and makes an adjustment to the previous estimate which can be and is varied by external factors. As a consequence, the ECF system can "forget" earlier ratings rather sooner than the Elo system. The advantage of the Elo system is that you can use a much shorter measurement period without getting distorted results. On-line servers reduce this to one game.

You could run an ECF style system on a rolling average of 30 games. This would have the disadvantage that the effect of the game just played would be to add the most recent result and remove the result of 30 games previously. In the limit if 30 games ago you drew with an IM, then your grade could fall even if you had won the most recent game.


The Robert system will never treat the performance over the current period as a suitable estimate of the strength to apply for the subsequent period, rather it prefers to average the previous estimate and the current performance to get the next estimate.
Robert Jurjevic wrote:where for current ECF grading system 'kij=kji=1' if 'i'th and 'j'th players played at least one game in the season and 'pij=f(gi-gj)' where 'f(dij=gi-gj)=50*(1 + (gi-gj)/50)' if '|dij=gi-gj|>40' and 'f(dij=gi-gj)=90' if 'dij=gi-gj > 40' and 'f(dij=gi-gj)=10' if 'dij=gi-gj < -40'.

So, ECF currently does correct 'gi' for 'Sum_j ((kij*(qij - pij))/ni) ', i.e., one's new grade 'g2i' depends on one's old grade 'gi'.


The 40 point rule is there as a fix to attempt to prevent deflation of the mean. You could also just ignore all such games.

Brian Valentine
Posts: 577
Joined: Fri Apr 03, 2009 1:30 pm

Re: GRADING ANOMALIES

Post by Brian Valentine » Fri Dec 18, 2009 2:29 pm

Robert,
Here is the translator:
You use n where I use y
Your vector n_ is trying to do the same as my diagonal matrix D
Your g_ is my P0
Your g2_ is my P1
Your Q is nearly my W (the variation is that where matches are played the wij+wji= games played(i,j)
Your P is a more generalised form of Dg-Mg

I'm not sure about this but I think my (inverse D) is doing the job of your k/n, but I don't see why you want to add a complication.

Hence in your terms my fundamental formula (for pre-rated players)
P1= N.p0+ S1
become:
g2- = (inverse J)H + S1

where J is your n_ fitting in a diagonal matrix; H is my M

Your formula: g2i = gi + Sum_j ((kij*(qij - pij))/ni) differs in one key way from ecf. The ecf system does not know the true strength of the players and is trying to estimate these grades (my note introduces g, remembering your g is my p). Your more general approach substitutes in the prior grades as an estimate for these true grades. This is a practical solution, but causes problems if the prior grade is a poor estimate of true strength.

Brian Valentine
Posts: 577
Joined: Fri Apr 03, 2009 1:30 pm

Re: GRADING ANOMALIES

Post by Brian Valentine » Fri Dec 18, 2009 2:42 pm

Just to try to clarify something in my last post - lost in the naming conventions. The ecf method has an expected,but unknown, expectation of results of (D-M)g whereas Robert's formula effectively uses (D-M)p - using my definitions, as Robert has not yet used the equivalent of my g.

User avatar
Robert Jurjevic
Posts: 207
Joined: Wed May 16, 2007 1:31 pm
Location: Surrey

Re: GRADING ANOMALIES

Post by Robert Jurjevic » Fri Dec 18, 2009 2:49 pm

Hello all,

The 'matrix' model

Restrictions:

o I will assume that we are grading only players who played at least 30 games in the season (later I may lift this restriction, but for the moment I would wish to have it so that the main idea is expressed as clear as possible)

Definitions:

o 'n' is the total number of players in the system

o 'n_' is game number vector where 'ni' is a number of games 'i'th player played in the season

o 'g_' is a grade vector where 'gi' is grade from previous season of 'i'th player

o 'g2_' is a new grade vector where 'g2i' is a new grade for the season of 'i'th player (player's new grade for the season is calculated using the player's game results in the season and the player's and the player's opposition grades from previous season)

o 'Q_' 'is nxn' matrix where 'qij' is actual performance of 'i'th player against 'j'th player (if the players 'i' and 'j' played one game only then 'qij' is 0 if 'i'th player lost, 50 if 'i'th player drew and 100 if 'i'th player won, if the players 'i' and 'j' played more than one game than '0<=qji<=100', note that 'qij' and 'qji' are related, i.e., if 'qij=0' then 'qji=100','if 'qij=50' then 'qji=50', if 'qij=100' then 'qji=0', etc.), note that 'qij+qji=100' if 'i'th and 'j'th players played at least one game in the season, note that 'qij = qji = 0' if 'i=j' or if 'i'th and 'j'th player did not play each other in the season, 'Q_' is actual performance matrix

o 'P_' is 'nxn' matrix where 'pij=f(gi-gj)' is expected performance of 'i'th player in the game against 'j'th player, note that ECF is using 'f(dij=gi-gj)=50*(1 + (gi-gj)/50)' if '|dij=gi-gj|<=40' and 'f(dij=gi-gj)=90' if 'dij=gi-gj>40' and 'f(dij=gi-gj)=10' if 'dij=gi-gj<-40', FIDE logistic equivalent is 'f(dij=gi-gj)=100/(1 + 10^(-(gi-gj)/50))', note that if 'gi=gj' then 'f(gi-gj)=50', note that 'pij+pji=100', 'P_' is expected performance matrix

o 'K_' is 'nxn' matrix where 'kij' are 'k' factors used in calculation of new grades for the season, 'kij=kji=0' if 'i=j' or if 'i'th and 'j'th player did not play each other in the season, 'kij+kji=k', where 'k>0' is a constant, if 'i'th and 'j'th players played at least one game in the season, 'K_' is 'k' factors matrix

o 'S_' is 'nxn' matrix where 'sij' are terms used in calculation of new grades for the season, 'S_' is Brian's matrix

New grades in the season are calculated as follows (this is a generic formula covering a number of grading systems including the current ECF one, what makes the grading systems different is a choice of matrices 'K_' and 'P_')

Code: Select all

g2i = gi + Sum_j ((kij*(qij - pij))/ni)
where for current ECF grading system 'kij=kji=1' if 'i'th and 'j'th players played at least one game in the season and 'pij=f(gi-gj)' where 'f(dij=gi-gj)=50*(1 + (gi-gj)/50)' if '|dij=gi-gj|<=40' and 'f(dij=gi-gj)=90' if 'dij=gi-gj>40' and 'f(dij=gi-gj)=10' if 'dij=gi-gj<-40'.

Brian's formula for calculating new grades in the season I understand is

Code: Select all

g2i = gi + Sum_j (sij*gj)
where 'sij' are elements of Brian's matrix 'S_' which can be solved from

Code: Select all

Sum_j ((kij*(qij - pij))/ni) = Sum_j (sij*gj) 
Roger de Coverly wrote:The 40 point rule is there as a fix to attempt to prevent deflation of the mean. You could also just ignore all such games.
If one can be more accurate in grading games where '|dij=gi-gj|>30' why one would not be? I think that switching from current ECF f(dij=gi-gj), 'f(dij=gi-gj)=50*(1 + (gi-gj)/50)' if '|dij=gi-gj|<=40' and 'f(dij=gi-gj)=90' if 'dij=gi-gj>40' and 'f(dij=gi-gj)=10' if 'dij=gi-gj<-40', to FIDE logistic equivalent, 'f(dij=gi-gj)=100/(1 + 10^(-(gi-gj)/50))', should be a logical step forward. (Roger, I assume that you are well aware of the fact that the 40 point rule is an attempt to approximate FIDE's logistic relationship between 'pij' and 'dij=gi-gj'.)
Roger de Coverly wrote:The Robert system will never treat the performance over the current period as a suitable estimate of the strength to apply for the subsequent period, rather it prefers to average the previous estimate and the current performance to get the next estimate.

Well, all I am asking is to try to asses how GS would change if instead 'kij+kji=k=2' one would use 'kij+kji=k=1', I strongly suspect that changing 'k>0' from 2 to 1 would be equivalent to switching to a fundamentally different grading system.

Roger and Brian, if you are willing to study the nomenclature of "the 'matrix' model", and if you agree with it, I would be delighted to enter with you into 'k=1' vs 'k=2' discussion. (I feel that we may be close to either confirm or reject may hypothesis about requirement that 'kij+kji=k=1'.)

Also, a discussion (but we can do that later) about variable 'k' factors may be beneficial (as it may result in an ECF system better than the current FIDE rating system).

(Brian, I'll answer your posts latter.)

(P.S. Have a good weekend.)

Kind regards,
Last edited by Robert Jurjevic on Fri Dec 18, 2009 9:36 pm, edited 1 time in total.
Robert Jurjevic
Vafra

Roger de Coverly
Posts: 21312
Joined: Tue Apr 15, 2008 2:51 pm

Re: GRADING ANOMALIES

Post by Roger de Coverly » Fri Dec 18, 2009 3:22 pm

Brian Valentine wrote:Your more general approach substitutes in the prior grades as an estimate for these true grades. This is a practical solution, but causes problems if the prior grade is a poor estimate of true strength.
Which is of course why it copes badly with a player whose strength has change but whose grade (estimate of strength) has yet to catch up.
Robert Jurjevic wrote:If one can be more accurate in grading games where '|dij=gi-gj|>30' why one would not be?
For the practical reason that it makes the system more complex if you need a set of statistical tables to use it.
Robert Jurjevic wrote:

Well, all I am asking is to try to asses how GS would change if instead 'kij+kji=k=2' one would use 'kij+kji=k=1', I strongly suspect that changing 'k>0' from 2 to 1 would be equivalent to switching to a fundamentally different grading system.

Players whose strength had changed or whose initial grade estimate was just wrong would be corrected even more slowly than in the current system.

If you had to summarise your system without using mathematics is it not

New grade equals average of old grade and performance over the previous year?

By contrast for the "active " players in an ECF style system

New grade equals performance over the previous year.

and for less active players

New grade equals weighted average of performance over previous years and performance over current year.
In some circumstances "performance over previous years" is actually "old grade" thereby demonstrating a parallel between your system and the ECF one.

It's a not unexpected result that the mathematics is different if the philosophy is different. Lag in the system is bad enough with the current design, let alone increasing it. In fact if the ECF were to propose a switch to an Elo style system, the treatment of improving players would be one of the sticking points in whether the change was accepted (by the ECF Council for instance)

User avatar
Robert Jurjevic
Posts: 207
Joined: Wed May 16, 2007 1:31 pm
Location: Surrey

Re: GRADING ANOMALIES

Post by Robert Jurjevic » Fri Dec 18, 2009 3:26 pm

Hello Brian,
Brian Valentine wrote:Your formula: 'g2i = gi + Sum_j ((kij*(qij - pij))/ni)' differs in one key way from ECF. The ecf system does not know the true strength of the players and is trying to estimate these grades (my note introduces 'g', remembering your 'g' is my 'p').
I have checked many times (you should be able to check that too) that the formula

Code: Select all

g2i = gi + Sum_j ((kij*(qij - pij))/ni)
corresponds to the current ECF calculation method if:

'kij=kji=1' if 'i'th and 'j'th players played at least one game in the season and 'pij=f(gi-gj)' where 'f(dij=gi-gj)=50*(1 + (gi-gj)/50)' if '|dij=gi-gj|<=40' and 'f(dij=gi-gj)=90' if 'dij=gi-gj>40' and 'f(dij=gi-gj)=10' if 'dij=gi-gj<-40'
Brian Valentine wrote:The ECF system does not know the true strength of the players and is trying to estimate these grades (my note introduces 'g', remembering your 'g' is my 'p').
Well, I think you will agree with me that regardless of the fact that ECF is trying to estimate the grades (as does FIDE is trying to estimate the ratings), new grades 'g2i' are a function of game results 'qij' and grades from previous season 'gi'. The fact that 'gi' may not represent the true strengths should not matter in the formula which merely describes how one uses game results 'qij' and grades from previous season 'gi' in order to calculate new grads 'g2i', the formula is simply a formula describing the calculation method, it does not involve statistical analysis and none of the variables in it is a random variable with some assumed distribution, etc.
Brian Valentine wrote:Your more general approach substitutes in the prior grades as an estimate for these true grades. This is a practical solution, but causes problems if the prior grade is a poor estimate of true strength.
!
Note that the ECF's choice of matrix 'P_' in the above formula is such that 'g2i' becomes independent of 'gi' (as 'gi' when combined with current ECF 'pij' becomes 'gj' where 'j/=i'), but say if one would chose a FIDE equivalent for 'pij' then 'g2i' would be a function of 'gi', so at least according to the general formula new grades should depend on old grades. FIDE corrects ratings too, so I assume that a new FIDE ratings should depend on old FIDE ratings. In general new grades 'g2i' are calculated by adding correction 'Sum_j ((kij*(qij - pij))/ni)' to old grades 'gi'.

Kind regards,
Last edited by Robert Jurjevic on Fri Dec 18, 2009 9:39 pm, edited 2 times in total.
Robert Jurjevic
Vafra

User avatar
Robert Jurjevic
Posts: 207
Joined: Wed May 16, 2007 1:31 pm
Location: Surrey

Re: GRADING ANOMALIES

Post by Robert Jurjevic » Fri Dec 18, 2009 3:43 pm

Roger de Coverly wrote:
Robert Jurjevic wrote:If one can be more accurate in grading games where '|dij=gi-gj|>30' why one would not be?
For the practical reason that it makes the system more complex if you need a set of statistical tables to use it.
Why would you use the tables, calculate the table values using the following formula: 'pij=100/(1 + 10^(-(gi-gj)/50))'.
:)
Roger de Coverly wrote:Players whose strength had changed or whose initial grade estimate was just wrong would be corrected even more slowly than in the current system.
That is the point, as I think it is possible that the grades now charge too fast or to be more precise for too much (which may be the cause of 'grade stretching'). My system would not necessarily cause grade lag as I do not require that 'kij=kji=1/2' (which is assumed in AGS3) but rather that 'kij+kji=k=1', which gives you freedom to change grades of improving (or worsening) players as fast as now and yet not (what it may be the case now) over-penalize (or over-reward) their opposition (though I admit that the system with variable 'k' factors where one would need an algorithm of assessing which players improved and which worsened may not be simple).
Robert Jurjevic
Vafra

Roger de Coverly
Posts: 21312
Joined: Tue Apr 15, 2008 2:51 pm

Re: GRADING ANOMALIES

Post by Roger de Coverly » Fri Dec 18, 2009 4:49 pm

Robert Jurjevic wrote: Why would you use the tables, calculate the table values using the following formula: 'pij=100/(1 + 10^(-(gi-gj)/50))'.
:)
Personally I find it difficult to do fractional exponentiation in my head. Your mileage may vary. If for the sake of argument I score 50% in a tournament against 140, 230, 180,190,180 then all I have to do is add up -40 + 40 -6 +4 -6 giving 8. Divide this by 5 and it's a marginally below par score.
Robert Jurjevic wrote:
That is the point, as I think it is possible that the grades now charge too fast or to be more precise for too much (which may be the cause of 'grade stretching').
Stretching is the alleged effect of the ends moving apart from the middle. If you introduce an artificial constraint on how high the top player's grade can go ( or how low the bottom player can go) then you will keep the ends closer to the middle. But so what - if all the rankings in between are wrong as a consequence.

Those involved with junior development were always griping that the grades are always out of date (and too low) , so I think they would not consider that the existing system was either "too fast" or "too much".

Try a thought experiment. Boot both systems with no existing grades whatsoever. Am I right in thinking that you would populate the first rating list with the results of a +50 recursion or matrix and thus you would get the identical results as an ECF system booted in similar circumstances? The results would then start to diverge in the second and subsequent lists particularly for players whose strength and results varied over time. I think I demonstrated a while ago, that under a +25 system a player who consistently scored at least 75% against all comers could never actual get 25 points above everyone else.

User avatar
Robert Jurjevic
Posts: 207
Joined: Wed May 16, 2007 1:31 pm
Location: Surrey

Re: GRADING ANOMALIES

Post by Robert Jurjevic » Fri Dec 18, 2009 6:05 pm

Hello Roger,
Roger de Coverly wrote:
Robert Jurjevic wrote:Why would you use the tables, calculate the table values using the following formula: 'pij=100/(1 + 10^(-(gi-gj)/50))'.
Personally I find it difficult to do fractional exponentiation in my head. Your mileage may vary. If for the sake of argument I score 50% in a tournament against 140, 230, 180,190,180 then all I have to do is add up -40 + 40 -6 +4 -6 giving 8. Divide this by 5 and it's a marginally below par score.
I assumed that the calculation would be done by a computer program on a computer. Calculation by 'hand' would still be possible with a calculator which besides addition, subtraction, multiplication and division can raise a number to a power. The 'p=f(d)' table for '0<=d<=120' with grade difference step of 1 grading point follows:

Code: Select all

-----------------------
           p = f(d)           
    d    curr.   FIDE  
         ECF     equiv.
-----------------------
    0    50.0    50.0  
    1    51.0    51.2  
    2    52.0    52.4  
    3    53.0    53.5  
    4    54.0    54.6  
    5    55.0    55.8  
    6    56.0    56.9  
    7    57.0    58.0  
    8    58.0    59.2  
    9    59.0    60.3  
   10    60.0    61.4  
   11    61.0    62.5  
   12    62.0    63.5  
   13    63.0    64.6  
   14    64.0    65.6  
   15    65.0    66.7  
   16    66.0    67.7  
   17    67.0    68.7  
   18    68.0    69.7  
   19    69.0    70.6  
   20    70.0    71.6  
   21    71.0    72.5  
   22    72.0    73.4  
   23    73.0    74.3  
   24    74.0    75.2  
   25    75.0    76.0  
   26    76.0    76.9  
   27    77.0    77.7  
   28    78.0    78.5  
   29    79.0    79.2  
   30    80.0    80.0  
   31    81.0    80.7  
   32    82.0    81.4  
   33    83.0    82.1  
   34    84.0    82.8  
   35    85.0    83.4  
   36    86.0    84.0  
   37    87.0    84.7  
   38    88.0    85.2  
   39    89.0    85.8  
   40    90.0    86.4  
   41    90.0    86.9  
   41    90.0    87.4  
   43    90.0    87.9  
   44    90.0    88.4  
   45    90.0    88.9  
   46    90.0    89.3  
   47    90.0    89.8  
   48    90.0    90.2  
   49    90.0    90.6  
   50    90.0    91.0  
   51    90.0    91.3  
   52    90.0    91.7  
   53    90.0    92.0  
   54    90.0    92.4  
   55    90.0    92.7  
   56    90.0    93.0  
   57    90.0    93.3  
   58    90.0    93.6  
   59    90.0    93.9  
   60    90.0    94.1  
   61    90.0    94.4  
   62    90.0    94.6  
   63    90.0    94.8  
   64    90.0    95.1  
   65    90.0    95.3  
   66    90.0    95.5  
   67    90.0    95.7  
   68    90.0    95.9  
   69    90.0    96.0  
   70    90.0    96.2  
   71    90.0    96.4  
   72    90.0    96.5  
   73    90.0    96.7  
   74    90.0    96.8  
   75    90.0    97.0  
   76    90.0    97.1  
   77    90.0    97.2  
   78    90.0    97.4  
   79    90.0    97.5  
   80    90.0    97.6  
   81    90.0    97.7  
   82    90.0    97.8  
   83    90.0    97.9  
   84    90.0    98.0  
   85    90.0    98.1  
   86    90.0    98.2  
   87    90.0    98.3  
   88    90.0    98.3  
   89    90.0    98.4  
   90    90.0    98.5  
   91    90.0    98.6  
   92    90.0    98.6  
   93    90.0    98.7  
   94    90.0    98.7  
   95    90.0    98.8  
   96    90.0    98.9  
   97    90.0    98.9  
   98    90.0    99.0  
   99    90.0    99.0  
  100    90.0    99.1  
  101    90.0    99.1  
  102    90.0    99.1  
  103    90.0    99.2  
  104    90.0    99.2  
  105    90.0    99.3  
  106    90.0    99.3  
  107    90.0    99.3  
  108    90.0    99.4  
  109    90.0    99.4  
  110    90.0    99.4  
  111    90.0    99.5  
  112    90.0    99.5  
  113    90.0    99.5  
  114    90.0    99.5  
  115    90.0    99.6  
  116    90.0    99.6  
  117    90.0    99.6  
  118    90.0    99.6  
  119    90.0    99.6  
  120    90.0    99.7  
-------------------------------------------
where 'p' is expected performance and 'd' grade difference.
Roger de Coverly wrote:
Robert Jurjevic wrote:That is the point, as I think it is possible that the grades now charge too fast or to be more precise for too much (which may be the cause of 'grade stretching').
Stretching is the alleged effect of the ends moving apart from the middle. If you introduce an artificial constraint on how high the top player's grade can go ( or how low the bottom player can go) then you will keep the ends closer to the middle. But so what - if all the rankings in between are wrong as a consequence.
Recently I've realized that comparing standard deviations of the grade distributions is probably not a good method of assessing if one grading system 'stretches' grades in respect to the other, the reason is that (at least in theory) one can have two different grading systems each producing histograms with the same number of bins and the same number of players in each bin (then the standard deviations would be approximately equal) and the only thing in what they differ is which players are put in the bins (say in one grading system you and me can be put in bins which would be further apart than in other grading system).
Roger de Coverly wrote:Am I right in thinking that you would populate the first rating list with the results of a +50 recursion or matrix and thus you would get the identical results as an ECF system booted in similar circumstances? The results would then start to diverge in the second and subsequent lists particularly for players whose strength and results varied over time. I think I demonstrated a while ago, that under a +25 system a player who consistently scored at least 75% against all comers could never actual get 25 points above everyone else.
Yes, a player who consistently scored at least 75% against all comers could never actually get 25 points above everyone else if graded with AGS3, for which it holds that 'kij=kji=1/2', but there should be possible to advise a grading system, for which it holds that 'kij+kji=1', in which the player would score 25 points above everyone else just in one season (though I admit that such a system with variable 'k' factors where one would need an algorithm of assessing which players improved and which worsened and for how much may not be at all simple).

I think that instead of a priori assuming that 'kij+kji=2' is right and the only possibility one might give a little bit more though to the possibility that in fact 'kij+kji=1' might be better.

At the moment I see more arguments in favour of 'kij+kji=1' (and even 'kij=kji=1/2') than 'kij=kji=1':

o 'kij=kji=1': changes grades of improvers and worseners faster than 'kij=kji=1/2' but not necessarily faster than 'kij+kji=1', but it is possible that it penalizes and rewards the opposition for too much, i.e., it is possible that it 'stretches' the grades

o 'kij+kji=1' ('kij=kji=1/2'): deals better with 'lighthouse keepers' and in general with two player matches than 'kij=kji=1', and, what is more important, it is possible that it does not 'stretch' the grades, 'kij=kji=1/2' changes grades of improvers and worseners slower than 'kij=kji=1'

Kind regards,
Last edited by Robert Jurjevic on Fri Dec 18, 2009 8:46 pm, edited 5 times in total.
Robert Jurjevic
Vafra

Peter Rhodes
Posts: 246
Joined: Thu Aug 20, 2009 10:53 pm

Re: GRADING ANOMALIES

Post by Peter Rhodes » Fri Dec 18, 2009 7:04 pm

Roger de Coverly wrote:
Personally I find it difficult to do fractional exponentiation in my head. Your mileage may vary. If for the sake of argument I score 50% in a tournament against 140, 230, 180,190,180 then all I have to do is add up -40 + 40 -6 +4 -6 giving 8. Divide this by 5 and it's a marginally below par score.
Are you suggesting that one of the decisive factors in choice of grading systems is the ability for players to perform mental calculations in their head ?

With the amount of calculators, laptops, and online conversion resources on the internet - I consider this line of argument weak.
Chess Amateur.

Roger de Coverly
Posts: 21312
Joined: Tue Apr 15, 2008 2:51 pm

Re: GRADING ANOMALIES

Post by Roger de Coverly » Fri Dec 18, 2009 7:39 pm

Peter Rhodes wrote: Are you suggesting that one of the decisive factors in choice of grading systems is the ability for players to perform mental calculations in their head ?
With the amount of calculators, laptops, and online conversion resources on the internet - I consider this line of argument weak.
Historically the ease of calculation was an issue favouring the ECF system. Even today, if you are standing looking at a wall chart in a tournament your phone is OFF so you'd have to calculate it in your head.

Ease of calculation is not a show-stopper and a necessary sacrifice if you went for an Elo style system, but an argument against minor tampering with a system originally designed to not require technology beyond mechanical adding and division machines.

User avatar
Robert Jurjevic
Posts: 207
Joined: Wed May 16, 2007 1:31 pm
Location: Surrey

Re: GRADING ANOMALIES

Post by Robert Jurjevic » Fri Dec 18, 2009 10:31 pm

Hello Brian,

I think that I managed to relate your matrix 'W_' described in document "ecfratingOnBiasInfluence.pdf" at http://www.ecforum.org.uk/viewtopic.php ... 143#p21121 with my matrices and vectors in "the 'matrix' model" described below. You can see at the end of this post that 'wij = (kij*(qij - pij))/ni'. My understanding is that you are interested in assessing "bias, positive or negative, which exists when the grade, an estimate of player’s strength, differs from true strength." and that you take elements of matrix 'W_' for granted. I am interested how 'wij' is defined and 'wij = (kij*(qij - pij))/ni' is a generic formula covering definition for a number of grading systems. For current ECF grading system 'wij = (kij*(qij - pij))/ni' where 'kij=kji=1' if 'i'th and 'j'th players played at least one game in the season and 'pij=f(gi-gj)' where 'f(dij=gi-gj)=50*(1 + (gi-gj)/50)' if '|dij=gi-gj|<=40' and 'f(dij=gi-gj)=90' if 'dij=gi-gj>40' and 'f(dij=gi-gj)=10' if 'dij=gi-gj<-40'. I am arguing that there is a possibility that systems for which it holds that 'kij+kji=k=2' may 'stretch' the grades and that it is possible that the requirement for a grading system not to 'stretch' the grades is that it holds that 'kij+kji=k=1'.

The 'matrix' model

Restrictions:

o I will assume that we are grading only players who played at least 30 games in the season (later I may lift this restriction, but for the moment I would wish to have it so that the main idea is expressed as clear as possible)

Definitions:

o 'n' is the total number of players in the system

o 'n_' is game number vector where 'ni' is a number of games 'i'th player played in the season

o 'g_' is a grade vector where 'gi' is grade from previous season of 'i'th player

o 'g2_' is a new grade vector where 'g2i' is a new grade for the season of 'i'th player (player's new grade for the season is calculated using the player's game results in the season and the player's and the player's opposition grades from previous season)

o 'Q_' 'is nxn' matrix where 'qij' is actual performance of 'i'th player against 'j'th player (if the players 'i' and 'j' played one game only then 'qij' is 0 if 'i'th player lost, 50 if 'i'th player drew and 100 if 'i'th player won, if the players 'i' and 'j' played more than one game than '0<=qji<=100', note that 'qij' and 'qji' are related, i.e., if 'qij=0' then 'qji=100','if 'qij=50' then 'qji=50', if 'qij=100' then 'qji=0', etc.), note that 'qij+qji=100' if 'i'th and 'j'th players played at least one game in the season, note that 'qij = qji = 0' if 'i=j' or if 'i'th and 'j'th player did not play each other in the season, 'Q_' is actual performance matrix

o 'P_' is 'nxn' matrix where 'pij=f(gi-gj)' is expected performance of 'i'th player in the game against 'j'th player, note that ECF is using 'f(dij=gi-gj)=50*(1 + (gi-gj)/50)' if '|dij=gi-gj|<=40' and 'f(dij=gi-gj)=90' if 'dij=gi-gj>40' and 'f(dij=gi-gj)=10' if 'dij=gi-gj<-40', FIDE logistic equivalent is 'f(dij=gi-gj)=100/(1 + 10^(-(gi-gj)/50))', note that if 'gi=gj' then 'f(gi-gj)=50', note that 'pij+pji=100', 'P_' is expected performance matrix

o 'K_' is 'nxn' matrix where 'kij' are 'k' factors used in calculation of new grades for the season, 'kij=kji=0' if 'i=j' or if 'i'th and 'j'th player did not play each other in the season, 'kij+kji=k', where 'k>0' is a constant, if 'i'th and 'j'th players played at least one game in the season, 'K_' is 'k' factors matrix

o 'S_' is 'nxn' matrix where 'sij' are terms used in calculation of new grades for the season, 'S_' is Brian's matrix

New grades in the season are calculated as follows (this is a generic formula covering a number of grading systems including the current ECF one, what makes the grading systems different is a choice of matrices 'K_' and 'P_')

Code: Select all

g2i = gi + Sum_j ((kij*(qij - pij))/ni)
where for current ECF grading system 'kij=kji=1' if 'i'th and 'j'th players played at least one game in the season and 'pij=f(gi-gj)' where 'f(dij=gi-gj)=50*(1 + (gi-gj)/50)' if '|dij=gi-gj|<=40' and 'f(dij=gi-gj)=90' if 'dij=gi-gj>40' and 'f(dij=gi-gj)=10' if 'dij=gi-gj<-40'.

Brian's formula for calculating new grades in the season is

Code: Select all

g2i = gi + Sum_j (wij)
where 'wij' are elements of Brian's matrix 'W_' which can be solved from

Code: Select all

Sum_j ((kij*(qij - pij))/ni) = Sum_j (wij) 
(P.S. Have a good weekend.)

Kind regards,
Robert Jurjevic
Vafra

Brian Valentine
Posts: 577
Joined: Fri Apr 03, 2009 1:30 pm

Re: GRADING ANOMALIES

Post by Brian Valentine » Sat Dec 19, 2009 8:13 am

Robert,
The W is your Q, not the formula you give. Your Q-P would be W.1-D.g+Mg where the g's are true not observed strength, recognising you are attempting a universal formula whereas mine imitates the ecf iteration approach.

On reflection at present, we are trying to explore different things. You are essentially investigating how to correct the output when the grades in a generic method are out of synch (true and estimate strength are wrong). I am looking at ways the ecf system might get out of synch in the first place. Primarily you are looking at fixing one player's grade, whereas I am looking at systemic faults. At present, I have nothing to add to what RdC has been explaining to you on your project.

User avatar
Robert Jurjevic
Posts: 207
Joined: Wed May 16, 2007 1:31 pm
Location: Surrey

Re: GRADING ANOMALIES

Post by Robert Jurjevic » Sun Dec 20, 2009 12:03 pm

Brian Valentine wrote:The W is your Q, not the formula you give. Your Q-P would be W.1-D.g+Mg where the g's are true not observed strength, recognising you are attempting a universal formula whereas mine imitates the ecf iteration approach.
Okay, I can't follow the details, but it could be that as

Code: Select all

D_.p1_ = M_.p*_ + W_.1_
p1_ = D_^(-1).(M_.p*_) + D_^(-1).(W_.1_)
it may be that my 'g2i' corresponds to yours 'p1', my 'gi' to yours 'D_^(-1).(M_.p*_)' and my '(kij*(qij - pij))/ni' to yours 'D_^(-1).(W_.1_)', but as our aims are different, it may not be so important to establish the exact relationship between yours and mine matrices and vectors.
Brian Valentine wrote:On reflection at present, we are trying to explore different things. You are essentially investigating how to correct the output when the grades in a generic method are out of synch (true and estimate strength are wrong). I am looking at ways the ecf system might get out of synch in the first place. Primarily you are looking at fixing one player's grade, whereas I am looking at systemic faults. At present, I have nothing to add to what RdC has been explaining to you on your project.
Okay, thanks.
Robert Jurjevic
Vafra

User avatar
Robert Jurjevic
Posts: 207
Joined: Wed May 16, 2007 1:31 pm
Location: Surrey

Re: GRADING ANOMALIES

Post by Robert Jurjevic » Sun Dec 20, 2009 1:41 pm

Dear all,

A new idea for ECF and an old one for FIDE...

Let us in the formula

Code: Select all

g2i = gi + Sum_j ((kij*(qij - pij))/ni)
replace 'ni' with 'n0>0', then one gets

Code: Select all

g2i = gi + Sum_j ((kij*(qij - pij))/n0)
where 'n0>0' is some constant number of games.

Replacing 'ni' with 'n0' has a direct implication on the status of 'kij' factors, as now the rate of grade change per season does not depend solely on the choice of 'kij' factors, but also on the choice of 'n0', say a grading system with 'kij=kji=1' and 'n0=30' would change grades equally rapidly as the system with 'kij=kji=1/2' and 'n0=15'.

The FIDE-like 'matrix' model...

Restrictions:

(none)

Definitions:

o 'n0' is some constant number of games, 'n0>0', note that if 'kij=kji=1' if 'i'th and 'j'th players played at least one game in the season and 'kij=kji=0' if 'i=j' or if 'i'th and 'j'th player did not play each other in the season, then 'n0' is a number of games after which a player's new grade would equal his or her actual performance,

o 'm' is the total number of players in the system, 'm>0'

o 'n_' is game number vector where 'ni' is a number of games 'i'th player played in the season

o 'g_' is a grade vector where 'gi' is grade from previous season of 'i'th player

o 'g2_' is a new grade vector where 'g2i' is a new grade for the season of 'i'th player (player's new grade for the season is calculated using the player's game results in the season and the player's and the player's opposition grades from previous season)

o 'Q_' 'is 'mxm' matrix where 'qij' is actual performance of 'i'th player against 'j'th player (if the players 'i' and 'j' played one game only then 'qij' is 0 if 'i'th player lost, 50 if 'i'th player drew and 100 if 'i'th player won, if the players 'i' and 'j' played more than one game than '0<=qji<=100', note that 'qij' and 'qji' are related, i.e., if 'qij=0' then 'qji=100','if 'qij=50' then 'qji=50', if 'qij=100' then 'qji=0', etc.), note that 'qij+qji=100' if 'i'th and 'j'th players played at least one game in the season, note that 'qij = qji = 0' if 'i=j' or if 'i'th and 'j'th player did not play each other in the season, 'Q_' is actual performance matrix

o 'P_' is 'mxm' matrix where 'pij=f(gi-gj)' is expected performance of 'i'th player in the game against 'j'th player, note that ECF is using 'f(dij=gi-gj)=50*(1 + (gi-gj)/50)' if '|dij=gi-gj|<=40' and 'f(dij=gi-gj)=90' if 'dij=gi-gj>40' and 'f(dij=gi-gj)=10' if 'dij=gi-gj<-40', FIDE logistic equivalent is 'f(dij=gi-gj)=100/(1 + 10^(-(gi-gj)/50))', note that if 'gi=gj' then 'f(gi-gj)=50', note that 'pij+pji=100', 'P_' is expected performance matrix

o 'K_' is 'mxm' matrix where 'kij' are 'k' factors used in calculation of new grades for the season, 'kij=kji=0' if 'i=j' or if 'i'th and 'j'th player did not play each other in the season, 'kij+kji=k', where 'k>0' is a constant, if 'i'th and 'j'th players played at least one game in the season, 'K_' is 'k' factors matrix

New grades in the season are calculated as follows (this is a generic formula covering a number of grading systems including the current ECF one, what makes the grading systems different is a choice of matrices 'K_' and 'P_')

Code: Select all

g2i = gi + Sum_j ((kij*(qij - pij))/n0)
where for a grading system matching the current one may have 'kij=kji=1' if 'i'th and 'j'th players played at least one game in the season, 'kij=kji=0' if 'i=j' or if 'i'th and 'j'th player did not play each other in the season, 'pij=f(gi-gj)' where 'f(dij=gi-gj)=50*(1 + (gi-gj)/50)' if '|dij=gi-gj|<=40' and 'f(dij=gi-gj)=90' if 'dij=gi-gj>40' and 'f(dij=gi-gj)=10' if 'dij=gi-gj<-40' and 'n0=30'.

New FIDE-like ECF grading systems proposed...

I propose a new FIDE-like ECF grading system FGS (FIDE-like Grading System) which is based on "The FIDE-like 'matrix' model" where 'kij=kji=1' if 'i'th and 'j'th players played at least one game in the season, 'kij=kji=0' if 'i=j' or if 'i'th and 'j'th player did not play each other in the season, 'pij=f(dij=gi-gj)' where 'f(dij=gi-gj)=100/(1 + 10^(-(gi-gj)/50))' and 'n0=30'.

FGS would change players' grades per season equally rapidly as GS (current Grading System) for players who played 30 games in the season, less rapidly than GS for players who played less than 30 games in the season, and more rapidly than GS for players who played more than 30 games in the season.

One would not need to grade at least 30 games, taking games from previous season or seasons if necessary, i.e., one would simply grade the games a player did play in the season, one or even zero games played in the season would be just fine.

FGS should help with the "junior problem" assuming that fast improving juniors play a lot, say 60is or more games per season, as then their grades would change more rapidly than now.

One could set 'kij=0' and 'kji=1' if 'i'th and 'j'th players played at least one game in the season and if 'i'th player is graded and 'j'th player is ungraded.

To further help with the "junior problem" one could set 'kij=1' and 'kji>1' if 'i'th and 'j'th players played at least one game in the season and if 'i'th player is not a junior and 'j'th player is a junior.

The lighthouse keeper example would be dealt as follows, say that the grades of the lighthouse keepers are 100 and 120 respectively and that the keepers drew all of their games in the season, if they played 15 games in the season their new grades would be 110 each, if they played 30 games in the season their grades would swap (as now), etc.

The best would be if one could grade (but not publish the grades) after every game, but I guess this may be impractical, though all one would need is date and time when each game finished.

One could fine-tune 'n0' and choose a value different from 30.

Thanks

Yours sincerely,
Robert Jurjevic
Vafra