Quote:
Originally Posted by Manoel
I gave it a shot. I'm not sure I implemented it correctly, but matrix A (Ax = b) always comes up with a large conditioning number - nearly singular, which means that small changes in b, or the matches results, would result in huge shifts in OPR/DPR for teams.
(snip)
I don't have prediction software implemented yet, so I can't give any estimates, so... Any ideas? Considering the matrix is ill-conditioned, I'm not sure those numbers can be trusted. It could be that my MATLAB implementation is wrong, so here's the code if anyone wants to check it out.
|
I think that you are on to something, and I do think that the +/- calculation can and would be important. I've been struggling with the following equation, trying to figure out how to implement it and do the calculation, so let me know what you all think. It is similar to Boggle's concept above, and may be essentially the same result, but can't figure out how to parse the data to actually make it happen, especially since it creates a 2N x 2N matrix...
Two equations:
1. (Xioblue + Xjoblue + Xkoblue) - (Xldred + Xmdred + Xndred) = Score
blue
2. (Xlored + Xmored + Xnored) - (Xidblue + Xjdblue + Xkdblue) = Score
red
Where ...
............X
..............io (Team
i - OPR)
................blue (Alliance)
and likewise,
id would represent Team
i - DPR.
You would have to solve for both the OPR and DPR for each team.
For the DC regional, which had 65 teams, it would be a 130x130 matrix * {x} = Bio or Bid, which would allow you to then solve for the separate OPR and DPR values. I don't have a good way to parse this, much less see if the results actually mean anything, but the concept came from a friend of mine - Kenneth Massey, who developed one of the BCS algorithms (
www.masseyratings.com) so I think it has merit.
For the DC regional, I did the following simple calculation to try and get a similar estimated value for how tough the match was:
AVG[((TotalMatchPoints/TotalAlliancePoints)*TeamOffensivePoints) + (TeamOffensivePoints – TeamDefensivePoints)]
MATCH_ID ALLIANCE_ID TEAM_ID OFF_POINTS DEF_POINTS
.....1................1................1.......... ...20...............10
.....1................1................2.......... ...10...............10
.....1................1................3.......... ...15................5
.....1................2................4.......... ....0................10
.....1................2................5.......... ...10...............20
.....1................2................6.......... ...20...............20
Example:
Total Match Points = SUM(OFF_POINTS), GROUP BY MATCH_ID
Total Alliance Points = SUM(OFF_POINTS), GROUP BY MATCH_ID, ALLIANCE_ID
Team 1
((75/45)*20 + (20 – 10)) = 43.33
Team 2
16.66
Team 3
35
Team 4
((75/30)*0 + (0 – 10)) = -10
Team 5
15
Team 6
50
Alliance 1 43.33 + 16.66 + 35 = 95
Alliance 2 (-10) + 15 + 50 = 55
Alliance 1/Alliance 2 = 1.72 – Alliance 1 72% stronger