Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   General Forum (http://www.chiefdelphi.com/forums/forumdisplay.php?f=16)
-   -   Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting (http://www.chiefdelphi.com/forums/showthread.php?t=75272)

JesseK 10-03-2009 19:27

Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
 
Quote:

At first I thought that it would be unsolvable (each equation has 6 unknowns, and you'd end up with 2N unknowns and only N equations), until today I had the fairly-obvious brainwave that each match would give you two equations (one OPRred - DPRblue = scorered for red, one OPRblue - DPRred = scoreblue for blue). This approach seems like it would be more predictive of robot performance than simply doing OPR and DPR separately*. I'm going to try to implement it tonight, but if someone wants to try it themselves and report back, that'd be great
You would want to have (blueScore = blueOPR + redDPR) and vice versa. Remember, you having a low DPR is better for you, hence you want your opponents to have a high DPR. If you subtract the opponent's DPR then you're lowering your own score just because the opponents are easier to score on ... which doesn't make sense when the opponent's DPR is positive (which is pretty bad).

Some simulation data to come tonight; I have an idea for a quick and dirty Match Prediction method.

<edit> Quick match prediction using the formula above for the DC Quarterfinals:
Code:

blueScore = blueOPR - redDPR:
Teams: (RED) 234, 45, & 620 vs. (BLUE) 1111, 122, 768
Predicted Scores: Red = 43, Blue = 6
Actual Scores: Red = 126, Blue = 100


blueScore = blueOPR + redDPR:
Teams: (RED) 234, 45, & 620 vs. (BLUE) 1111, 122, 768
Predicted Scores: RED=101 BLUE=80
Actual Scores: Red = 126, Blue = 100

Note that the prediction for their second match was identical even when the new match data was added, so predicting the outcome of the second QF match when the scores are that close is nearly impossible. Predictions also don't take into account adjustments for strategy, which is probably why it's best to leave the actual statistics for Qualification Matches only.

Ed Law 10-03-2009 21:52

Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
 
Quote:

Originally Posted by JesseK (Post 834373)
You would want to have (blueScore = blueOPR + redDPR) and vice versa. Remember, you having a low DPR is better for you, hence you want your opponents to have a high DPR. If you subtract the opponent's DPR then you're lowering your own score just because the opponents are easier to score on ... which doesn't make sense when the opponent's DPR is positive (which is pretty bad).

Some simulation data to come tonight; I have an idea for a quick and dirty Match Prediction method.

<edit> Quick match prediction using the formula above for the DC Quarterfinals:
Code:

blueScore = blueOPR - redDPR:
Teams: (RED) 234, 45, & 620 vs. (BLUE) 1111, 122, 768
Predicted Scores: Red = 43, Blue = 6
Actual Scores: Red = 126, Blue = 100


blueScore = blueOPR + redDPR:
Teams: (RED) 234, 45, & 620 vs. (BLUE) 1111, 122, 768
Predicted Scores: RED=101 BLUE=80
Actual Scores: Red = 126, Blue = 100

Note that the prediction for their second match was identical even when the new match data was added, so predicting the outcome of the second QF match when the scores are that close is nearly impossible. Predictions also don't take into account adjustments for strategy, which is probably why it's best to leave the actual statistics for Qualification Matches only.

Hi Jesse,

I think the general consensus in the CD community agrees that OPR should be calculated with qualifying matches only. The extra matches by some teams who made it to elimination round will bias the results if they are used.

Ed

DanDon 10-03-2009 22:44

Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
 
Hey y'all...

Can anyone run the program for the NYC regional and post the results?
I reformatted and haven't gotten a chance to install VMWare Fusion on my mac again.

Thanks a bunch!
Dandon

Vikesrock 10-03-2009 22:50

Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
 
Here's the NYC results sorted by +/-

Code:

New York City
New York City data retrieved from local HTML file
01.    Team 1155        W:6        L:1        OPR:40.13        DPR:7.71        PMR:32.43
02.    Team 0694        W:5        L:1        OPR:48.45        DPR:16.43        PMR:32.02
03.    Team 2753        W:5        L:2        OPR:40.41        DPR:10.78        PMR:29.63
04.    Team 2344        W:6        L:1        OPR:37.71        DPR:11.32        PMR:26.39
05.    Team 0354        W:5        L:2        OPR:30.65        DPR:5.93        PMR:24.72
06.    Team 0371        W:5        L:2        OPR:24.19        DPR:0.05        PMR:24.14
07.    Team 0271        W:6        L:1        OPR:33.62        DPR:10.62        PMR:23.00
08.    Team 0056        W:6        L:1        OPR:34.82        DPR:13.50        PMR:21.32
09.    Team 1396        W:5        L:2        OPR:16.90        DPR:-1.69        PMR:18.59
10.    Team 3059        W:4        L:3        OPR:16.46        DPR:-0.88        PMR:17.34
11.    Team 0395        W:4        L:2        OPR:34.57        DPR:17.66        PMR:16.90
12.    Team 1302        W:5        L:2        OPR:19.31        DPR:3.41        PMR:15.90
13.    Team 0335        W:5        L:2        OPR:19.48        DPR:3.61        PMR:15.87
14.    Team 0555        W:4        L:3        OPR:31.73        DPR:16.13        PMR:15.60
15.    Team 0743        W:3        L:4        OPR:28.15        DPR:13.62        PMR:14.53
16.    Team 2265        W:3        L:4        OPR:13.59        DPR:0.03        PMR:13.56
17.    Team 2933        W:4        L:3        OPR:27.06        DPR:14.36        PMR:12.70
18.    Team 1807        W:6        L:1        OPR:23.10        DPR:10.70        PMR:12.40
19.    Team 0358        W:2        L:5        OPR:9.30        DPR:-3.01        PMR:12.31
20.    Team 0237        W:5        L:2        OPR:27.48        DPR:16.54        PMR:10.93
21.    Team 0270        W:4        L:3        OPR:16.16        DPR:6.91        PMR:9.25
22.    Team 0806        W:5        L:2        OPR:16.18        DPR:7.07        PMR:9.12
23.    Team 0041        W:3        L:4        OPR:29.08        DPR:20.49        PMR:8.58
24.    Team 1660        W:6        L:1        OPR:25.19        DPR:16.74        PMR:8.45
25.    Team 3017        W:4        L:3        OPR:9.20        DPR:1.35        PMR:7.85
26.    Team 1796        W:4        L:3        OPR:24.28        DPR:17.44        PMR:6.84
27.    Team 1257        W:3        L:4        OPR:18.69        DPR:12.12        PMR:6.57
28.    Team 1211        W:5        L:2        OPR:14.03        DPR:7.46        PMR:6.57
29.    Team 2681        W:5        L:2        OPR:14.22        DPR:8.45        PMR:5.77
30.    Team 0375        W:7        L:0        OPR:28.39        DPR:22.82        PMR:5.57
31.    Team 1881        W:3        L:4        OPR:14.22        DPR:10.59        PMR:3.62
32.    Team 0527        W:4        L:3        OPR:16.86        DPR:13.26        PMR:3.60
33.    Team 1237        W:2        L:4        OPR:12.71        DPR:9.29        PMR:3.42
34.    Team 1156        W:3        L:4        OPR:12.07        DPR:9.84        PMR:2.23
35.    Team 2285        W:3        L:3        OPR:23.47        DPR:21.81        PMR:1.66
36.    Team 2601        W:3        L:4        OPR:18.98        DPR:17.41        PMR:1.57
37.    Team 2070        W:3        L:4        OPR:7.30        DPR:6.57        PMR:0.73
38.    Team 0640        W:2        L:5        OPR:8.66        DPR:11.47        PMR:-2.81
39.    Team 1230        W:5        L:2        OPR:11.28        DPR:15.17        PMR:-3.89
40.    Team 0369        W:5        L:2        OPR:9.11        DPR:13.57        PMR:-4.45
41.    Team 2579        W:3        L:4        OPR:5.34        DPR:12.70        PMR:-7.36
42.    Team 1862        W:2        L:4        OPR:-0.63        DPR:6.93        PMR:-7.56
43.    Team 0333        W:2        L:5        OPR:7.73        DPR:16.31        PMR:-8.58
44.    Team 1563        W:1        L:6        OPR:22.48        DPR:31.97        PMR:-9.50
45.    Team 2577        W:3        L:4        OPR:20.45        DPR:30.12        PMR:-9.67
46.    Team 3111        W:2        L:4        OPR:12.75        DPR:22.44        PMR:-9.69
47.    Team 1989        W:3        L:4        OPR:2.76        DPR:13.64        PMR:-10.88
48.    Team 1600        W:3        L:4        OPR:11.61        DPR:23.95        PMR:-12.34
49.    Team 1520        W:1        L:6        OPR:2.07        DPR:14.43        PMR:-12.37
50.    Team 2205        W:2        L:5        OPR:11.63        DPR:24.03        PMR:-12.40
51.    Team 0329        W:4        L:3        OPR:-3.86        DPR:9.24        PMR:-13.10
52.    Team 2573        W:2        L:5        OPR:6.82        DPR:19.95        PMR:-13.13
53.    Team 1880        W:0        L:7        OPR:3.65        DPR:19.53        PMR:-15.88
54.    Team 0263        W:2        L:5        OPR:20.96        DPR:37.03        PMR:-16.07
55.    Team 3053        W:2        L:5        OPR:9.44        DPR:26.20        PMR:-16.76
56.    Team 1340        W:1        L:6        OPR:10.14        DPR:28.07        PMR:-17.93
57.    Team 2554        W:3        L:4        OPR:4.92        DPR:24.93        PMR:-20.00
58.    Team 0759        W:4        L:3        OPR:2.52        DPR:22.78        PMR:-20.26
59.    Team 0380        W:2        L:5        OPR:0.99        DPR:21.58        PMR:-20.59
60.    Team 0421        W:5        L:2        OPR:1.94        DPR:25.20        PMR:-23.26
61.    Team 3004        W:1        L:6        OPR:6.56        DPR:30.20        PMR:-23.65
62.    Team 1635        W:2        L:5        OPR:8.29        DPR:35.37        PMR:-27.08
63.    Team 2895        W:3        L:4        OPR:2.33        DPR:31.59        PMR:-29.26
64.    Team 3112        W:1        L:6        OPR:0.70        DPR:33.29        PMR:-32.59
65.    Team 0334        W:1        L:6        OPR:-6.96        DPR:32.80        PMR:-39.76
66.    Team 1698        W:0        L:7        OPR:-1.64        DPR:39.21        PMR:-40.86


Manoel 10-03-2009 23:24

Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
 
1 Attachment(s)
Quote:

Originally Posted by Bongle (Post 834235)
I just had an idea, which might resolve to CCWM/PMR, but I don't think it will.

It ends up with a 2N x 2N matrix (for a regional with N teams)

sum[team's scores] = weighted sum of OPRs of alliance members minus weighted sum of DPRs of opponents.

At first I thought that it would be unsolvable (each equation has 6 unknowns, and you'd end up with 2N unknowns and only N equations), until today I had the fairly-obvious brainwave that each match would give you two equations (one OPRred - DPRblue = scorered for red, one OPRblue - DPRred = scoreblue for blue). This approach seems like it would be more predictive of robot performance than simply doing OPR and DPR separately*. I'm going to try to implement it tonight, but if someone wants to try it themselves and report back, that'd be great.

*The problem with the current approach to OPR and DPR, especially in a game like lunacy, is that they assume that a alliance's score comes ENTIRELY from its teams' offensive powers, or ENTIRELY from its opponent's lack of mobility. This proposed new equation seems like it would balance the two, and hopefully give more accurate results.

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.

Anyway, here are my results for the NY Regional:

OPR:
Code:

            1        1155      32.277
            2          694      31.639
            3          56      29.308
            4          395      24.951
            5        3059      23.105
            6        2344      22.331
            7        1600      22.075
            8          743      21.927
            9        2753      21.897
          10        1257      18.944
          11        1302      16.873
          12        2554      16.547
          13          335      13.228
          14          237      11.405
          15        1796      10.521
          16        1660      10.011
          17        1156      9.9718
          18        3004        9.263
          19        1881      9.2177
          20        2681      8.3132
          21        1862      7.8608
          22        2265        6.898
          23          375      6.6255
          24          270      6.5267
          25        1807      6.2078
          26        1230        5.148
          27        1396      4.5395
          28          527      2.2106
          29          371      1.8905
          30          555      1.7473
          31          41      0.72257
          32          354      0.4532
          33          271    -0.89414
          34        2601      -1.8199
          35          421      -2.437
          36          369      -2.7544
          37        2933      -4.2083
          38        1340      -4.8236
          39        1880      -5.2459
          40          358      -5.4201
          41          263      -6.2038
          42        1563      -6.389
          43        2285      -7.0976
          44        3111      -8.2768
          45        2577      -8.5896
          46          806      -10.413
          47          333      -10.934
          48        3053      -11.506
          49          640      -11.515
          50        1520      -12.58
          51          759      -12.655
          52        2895      -13.538
          53        1237      -13.924
          54        1989      -14.043
          55        2070      -14.541
          56        3017      -14.922
          57        2573      -15.48
          58        1698      -16.094
          59        2205      -16.962
          60        2579      -17.403
          61        1635      -17.776
          62        1211      -18.224
          63          380      -19.378
          64          329      -20.404
          65        3112      -22.538
          66          334      -32.883

DPR:
(and note that now this is how many points on average your presence on an alliance takes points away from the opponent - a negative number indicates you're likely to increase your opponent's score)

Code:

            1        1862      19.379
            2          640        12.14
            3        1155      10.869
            4        1257      8.4759
            5        1396      8.1218
            6        1807      4.3868
            7          56      1.2983
            8        1600      0.60363
            9        2070      0.29453
          10          395    -0.96611
          11        2601      -1.051
          12        1237      -1.2811
          13          270      -1.4666
          14          371      -1.8914
          15        1520      -1.9435
          16        3059      -4.2095
          17        1156      -4.3151
          18        1302      -4.5479
          19        2265      -5.5535
          20        2554      -6.1296
          21          358      -7.8337
          22          380      -9.532
          23        3004      -9.8214
          24          237      -10.27
          25        2344      -10.662
          26          329      -13.279
          27        2753      -13.602
          28        1340      -14.952
          29        2933      -15.027
          30        1230      -15.604
          31        1880      -15.936
          32        3017      -16.672
          33          333      -17.101
          34          527      -17.291
          35        2681      -17.463
          36        1660      -17.746
          37        1989      -18.37
          38          421      -20.028
          39          335      -20.761
          40        1796      -21.286
          41        1881      -21.618
          42          743      -21.675
          43          806      -22.481
          44        2577      -23.904
          45          759      -25.582
          46          271      -25.939
          47        3111      -26.223
          48        1211        -26.5
          49          694      -26.53
          50          369      -26.648
          51          263      -26.796
          52        2895      -27.583
          53        3053      -28.046
          54          354      -28.105
          55          41      -29.584
          56        1563      -30.406
          57        3112      -31.288
          58        2573      -32.228
          59        1698      -32.62
          60          375      -32.85
          61          334      -33.248
          62        1635      -33.382
          63        2205      -33.423
          64          555      -36.653
          65        2579      -37.541
          66        2285      -45.508

+/-:
(just occurred me to calculate that, haven't given it much thought but I don't think it indicates anything)

Code:

            1          694      58.169
            2          743      43.602
            3          375      39.475
            4        2285      38.411
            5          555      38.401
            6        2753      35.499
            7          335      33.989
            8        2344      32.993
            9        1796      31.807
          10        1881      30.836
          11          41      30.307
          12          354      28.558
          13          56      28.009
          14        1660      27.757
          15        3059      27.315
          16          395      25.917
          17        2681      25.776
          18          271      25.045
          19        1563      24.017
          20          369      23.894
          21        2554      22.677
          22          237      21.675
          23        1600      21.471
          24        1302      21.421
          25        1155      21.408
          26        1230      20.752
          27          263      20.592
          28        2579      20.139
          29          527      19.501
          30        3004      19.084
          31        3111      17.946
          32          421      17.591
          33        2573      16.748
          34        3053        16.54
          35        1698      16.526
          36        2205        16.46
          37        1635      15.606
          38        2577      15.314
          39        1156      14.287
          40        2895      14.045
          41          759      12.927
          42        2265      12.451
          43          806      12.069
          44        2933      10.819
          45        1880        10.69
          46        1257      10.468
          47        1340      10.128
          48        3112      8.7504
          49        1211      8.2755
          50          270      7.9933
          51          333      6.1671
          52        1989      4.3263
          53          371      3.7819
          54          358      2.4136
          55        1807        1.821
          56        3017      1.7499
          57          334      0.36525
          58        2601    -0.76893
          59        1396      -3.5823
          60          329      -7.1252
          61          380      -9.846
          62        1520      -10.636
          63        1862      -11.518
          64        1237      -12.643
          65        2070      -14.836
          66          640      -23.656

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.

SteveGPage 11-03-2009 15:15

Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
 
Quote:

Originally Posted by Manoel (Post 834552)
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) = Scoreblue
2. (Xlored + Xmored + Xnored) - (Xidblue + Xjdblue + Xkdblue) = Scorered

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

Manoel 11-03-2009 23:32

Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
 
Quote:

Originally Posted by SteveGPage (Post 834765)
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) = Scoreblue
2. (Xlored + Xmored + Xnored) - (Xidblue + Xjdblue + Xkdblue) = Scorered

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.

OK, so either your idea is identical to Bongle's, or I misunderstood him, because what you explained above is exactly what I implemented. Bongle's been away from the topic for a while, hopefully he'll see this and let us know if that's what he meant.

Bongle 12-03-2009 08:14

Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
 
Quote:

Originally Posted by Manoel (Post 834949)
OK, so either your idea is identical to Bongle's, or I misunderstood him, because what you explained above is exactly what I implemented. Bongle's been away from the topic for a while, hopefully he'll see this and let us know if that's what he meant.

Steve's idea appears to be the same as mine, or at least his two equations are. I tried to implement it on tuesday, but it had bugs and I haven't had to time to get back to it. It is unfortunate that the matrix comes out as somewhat ill-conditioned, but I guess that isn't that terribly surprising since the amount of data we're processing is fairly small.

I'll try again to implement this new matrix tonight, and I'll plug it into my prediction code to see if it is any better than the more basic OPR/DPR stats.

We need to come up with a name for this more-complex stat: how about OPR+ and DPR+?

SteveGPage 12-03-2009 10:18

Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
 
Quote:

Originally Posted by Bongle (Post 835039)
Steve's idea appears to be the same as mine, or at least his two equations are. I tried to implement it on tuesday, but it had bugs and I haven't had to time to get back to it. It is unfortunate that the matrix comes out as somewhat ill-conditioned, but I guess that isn't that terribly surprising since the amount of data we're processing is fairly small.

I'll try again to implement this new matrix tonight, and I'll plug it into my prediction code to see if it is any better than the more basic OPR/DPR stats.

We need to come up with a name for this more-complex stat: how about OPR+ and DPR+?

I figured as much, and am glad you have had more success in implementing it than I have! I tried to get my son, a senior in college - Comp Sci/Math Major to help me ... but "NO" he didn't have time to help me with my "homework'! :) I like the idea of OPR+ and DPR+ to indicate the additional complexity of the stat. I'd love to see what you are able to do, as well as how predictive the resulting values are. Thanks for all your hard work and your efforts! If there is anything I can do to assist or push this along, just let me know!

Steve

Jared Russell 12-03-2009 10:31

Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
 
This is starting to get seriously cool guys...the Sabremetrician in me is very happy.

How about a VORR stat (Value over replacement robot)?

DISS (Defense independent scoring statistics)?

Pythagorean W-L expectations?

Win shares?

The possibilities are endless...

SteveGPage 12-03-2009 10:34

Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
 
Quote:

Originally Posted by Bongle (Post 835039)
Steve's idea appears to be the same as mine, or at least his two equations are. I tried to implement it on tuesday, but it had bugs and I haven't had to time to get back to it. It is unfortunate that the matrix comes out as somewhat ill-conditioned, but I guess that isn't that terribly surprising since the amount of data we're processing is fairly small.

I'll try again to implement this new matrix tonight, and I'll plug it into my prediction code to see if it is any better than the more basic OPR/DPR stats.

We need to come up with a name for this more-complex stat: how about OPR+ and DPR+?

One other thing, then I'll go back to my day job ... When I was talking to Kenneth Massey (the BCS guy) he also suggested something, that would modify these equations just a bit - but would require team by team scouting. The red or blue score would NOT be the final score as published, but would first, obviously, not include penalties - so we are really measuring "capabilities" not just performance; and secondly, if you were to have added MR to your own alliance - so as to avoid <G22>, the points that you scored on a alliance partner would be removed from the opposing alliance's score. How much of an effect would this cause in the long run, I don't think much - but if we are basing the OPR+ and DPR+ on a limited number of matches, then it could very likely be significant.

Steve

Bongle 12-03-2009 11:22

Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
 
Quote:

Originally Posted by SteveGPage (Post 835077)
One other thing, then I'll go back to my day job ... When I was talking to Kenneth Massey (the BCS guy) he also suggested something,

A good idea (it would certainly increase accuracy), but my goal (for my program, at least), is to try and provide the most accurate scouting-independent ranking possible using only match data.

As for implementation of OPR+/DPR+, how I arranged my matrix was:

Odd Rows (for row i): "Team i/2's total score is equal to the weighted sum of the team i/2's alliance OPRs minus the weighted sum of team i/2's opponents' DPRs"
  • Constant: team i/2's total score
  • Coefficients: Alternating
    • Odd columns (col j): # of times team i/2 played with team j/2 (positive)
    • Even columns (col j): # of times team i/2 played against team j/2 (negative)

Even Rows (for row i): "Team i's opponents' score is equal to the weighted sum of the opponents' alliance OPRs minus the weighted sum of team i's alliance's DPRs"
  • Constant: team i/2's opponents' total score
  • Coefficients: Alternating
    • Odd columns (col j): # of times team i/2 played against team j/2 (positive)
    • Even columns (col j): # of times team i/2 played with team j/2 (negative)

For verification, I'm pretty sure that the sum of the absolute values of each row should equal the number of matches that team played times 6.

SteveGPage 12-03-2009 16:45

Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
 
Quote:

Originally Posted by Bongle (Post 835092)
A good idea (it would certainly increase accuracy), but my goal (for my program, at least), is to try and provide the most accurate scouting-independent ranking possible using only match data.

As for implementation of OPR+/DPR+, how I arranged my matrix was:

...

I think that is a great goal to have that level of information! Certainly, we will continue to do scouting, and would never expect a particular algorithm to tell us who or who not to select. This is a tool to use in that over all process. My scouts will continue to do pit scouting, as well as individual match scouting, and I think we will be looking at the OPR+/DPR+ type of values to help us find those teams down in the noise of the competition, that may have a very low ranking, but have the qualities we are looking for in an alliance.

I would love to see how you finally implement this, since it is questionable that I will be able to put in my database between now and next weekend, especially since I am using a datawarehouse and a Business Intelligence tool to create the reports. The data interface is still lagging!

The methodology you described is exactly what I was looking doing as well, and I believe it has merit! Good luck with getting it debugged! Good luck at your competitions!

If anyone else is working on these concepts, and will be at the Chesapeake Regional next week, I would love to chat with you there!

Steve

SteveGPage 13-03-2009 08:59

Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
 
Quote:

Originally Posted by Bongle (Post 835039)

...
I'll try again to implement this new matrix tonight, and I'll plug it into my prediction code to see if it is any better than the more basic OPR/DPR stats.

...

Just heard my Comp Sci/Math Major son is coming home for the weekend. He was excited to hear what we were working on and wants to help me get something up and running this weekend. If you would like, we could work on any issues you may be having and perhaps get something up to the CD community prior to next week's competitions.

Steve

Killraine 13-03-2009 12:09

Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
 
Quote:

Originally Posted by SteveGPage (Post 835431)
Just heard my Comp Sci/Math Major son is coming home for the weekend. He was excited to hear what we were working on and wants to help me get something up and running this weekend. If you would like, we could work on any issues you may be having and perhaps get something up to the CD community prior to next week's competitions.

Steve

So in time for Chesapeake?


All times are GMT -5. The time now is 00:38.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi