I believe I have rather simple question but I would like to make it right.
I have already asked question, however I am not sure whether I did everything correct or there is a mistake in the answer (probably the first one, but still I cannot find it).
To make it short: I would like to check how well my model predicts outcome of a game between two players - and that is why I am trying to calculate R^2. What I have done is based on this answer.
Firstly, I calculate ESS:
ess = 0 for each game in my database: ess += (predictedOutcome - realOutcome)^2
The real outcome is either 1 (if win), 0.5 (if draw) or 0 (if lose). To calculate what was the average real outcome, I do:
averageRealOutcome = (wins + 1/2*draws)/(wins + draws + loses)
The result is always about 0.5 And then for each game I do a loop
tss = 0; for each win tss += (1 - averageRealOutcome)^2 for each draw tss += (0.5 - averageRealOutcome)^2 for each lose tss += (averageRealOutcome)^2
Then, once more according to the previous answer, I try to calculate R^2:
R^2 = ESS/TSS
Unfortunately the value that I get is above 1, while I believe it should be between 0 (very bad) to 1 (cool). Adjusting R^2 does not do the trick and i can see no difference at all.
- Does it in general make sense what I try to do?
- If it does, where is my mistake? Or maybe my interpretation is bad? If not, can you provide and resources where I can read what should I do?