|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
|
|
Thread Tools | Rate Thread | Display Modes |
|
|
|
#1
|
||||
|
||||
|
Accounting for breaches/captures in OPR
Inspiration from this post.
I don't think that there is going to be any fix that is quite so easy to implement as the one used in 2012, but I think improvements could be made. If we do implement corrections though, we need to be very careful with our terminology. Corrections like this should only be used for elimination round matches. 2 potential modifications I can think of could be: 1: Increase the value of each crossing to be 5 points + (20 points/breach)/(8 crossings/breach) = 7.5 points, and increase the value of each ball scored by (25 points/capture)/(8 scored boulders/capture) = 3.125 additional points per scored boulder. A potential drawback to this approach is that doing more than the minimum required for crossing/breaching would be over-valued. For example, 10 successful scored crossings will net 75 points, instead of the 70 that this would actually be worth. 2: Using the data on breaches and captures, compute the OPR contribution by team for these. Take (OPR breach) * (20 points/breach) and (OPR capture) * (25 points/capture) and add these onto the team's nominal OPR. A big disadvantage to this is that captures happen incredibly infrequently in qualifications, which will make this correction almost negligible for most teams, even though they may actually be able to contribute to capturing once they have better partners in elims. |
|
#2
|
||||
|
||||
|
Re: Accounting for breaches/captures in OPR
I had a similar idea. I decided to write a program that calculates the OPRs, and for each match score I simply add 20/25 for breach/capture. Here are some results:
Code:
GTRE # Old New(cap+breach) 2056 77.16 99.25 1114 57.41 73.32 118 56.85 69.96 2013 48.66 66.19 1241 46.11 58.63 610 43.7 60.95 1305 36.43 47.19 5807 34.76 43.8 4476 33.27 45.98 3117 32.88 39.04 5596 32.78 40.99 4618 31.23 42.07 1547 30.39 37.5 296 30.38 42.91 5031 30.12 38.59 5036 29.24 34.46 4783 27.57 37.13 4976 27.33 39.1 4732 25.61 31.4 1325 25.3 32.7 2634 24.64 28.16 4939 23.83 21.89 2935 23.51 27.61 2340 22.82 22.18 4308 22.8 25.2 1285 22.79 30.11 6125 22.72 23.46 2228 22.33 27.98 4704 22.14 28.82 746 22.04 29.9 4525 21.7 20.95 2185 18.55 22.47 4248 18.17 23.21 4343 17.75 21.06 1075 17.18 20.06 3710 16.59 15.24 5580 15.94 14.99 6141 15.38 12.72 5428 13.33 13.04 4252 13.23 18.36 4015 11.12 13.24 6140 11.04 6.14 6046 10.69 9.15 1246 9.98 8.54 6070 9.52 10.16 2198 9.45 12.64 3541 9.37 8.04 5076 6.43 5.78 5094 -0.51 -5.58 |
|
#3
|
||||
|
||||
|
Re: Accounting for breaches/captures in OPR
I have just uploaded a scouting database which contains component calculated contributions. Since component OPRs seem to have the property of linearity (although I don't fully understand why), it should be easy for anyone to play around with these. Currently, I calculate eOPR using method 1 described in my original post. That is, eOPR = (total points) + 3.125*(subtracted tower strength) + 2.5*(cross defense count).
|
|
#4
|
|||
|
|||
|
Re: Accounting for breaches/captures in OPR
This is some pretty awesome data Caleb! I have been working on my own script to pull down the match data, organize it, and run various calculations on it. This is not exactly simple stuff, but it's given me the chance to practice my (not-so-great) scripting skills, refresh on some linear algebra, and of course play with ROBOT DATA in JMP.
I think using the real match data (microbuns method) to add the +20 for a breach and +25 for a capture to Qual matches is the best way to calculate this new OPR (I call it "Modified OPR"). It's also a pretty simple modification to my OPR calculation script since I already have the data columns there for breach and capture. Obviously I only add this to the final score if the match is not an elims match. This is most accurate to how elims matches are truly scored. I prefer to let the calculated contribution to tower weakening and defense breaching speak for itself in the analysis of those columns by themselves. Code:
(if breach=='true')score+=20;} if(capture=='true'){score+=25;}
.One thing I would like to hear opinions on is if eliminations match data should be use in OPR calculations. My results change significantly when I factor in elims data for my Modified OPR and Regular OPR. See below (sorted by 'Mod OPR Qual'). OPRs tend to drop for robots in elims, probably due to the "cap" for breach points, the alliance partnership with two other good teams, and the fact that defense is a bigger factor in elims. Perhaps someone who attended this regional could comment which OPR more accurately reflects true robot performance (specifically looking at 2013, 610, 1241 and 1305 in this list since they change rank depending on which OPR I rank by). Code:
Team Mod OPR ALL OPR ALL Mod OPR Qual OPR Qual 2056 87.76 69.46 99.25 77.16 1114 76.15 59.84 73.32 57.41 118 59.85 49.83 69.96 56.85 2013 54.16 41.92 66.19 48.66 610 48.24 36.67 60.95 43.7 1241 58.48 46.65 58.63 46.11 1305 52.56 38.84 47.19 36.43 4476 49.78 36.59 45.98 33.27 5807 46.69 35.65 43.8 34.76 296 43.15 31.33 42.91 30.38 4618 42.65 32.17 42.07 31.23 5596 28.24 25.83 40.99 32.78 4976 36.67 26.41 39.1 27.33 3117 38.74 33.71 39.04 32.88 5031 34.44 28.27 38.59 30.12 1547 37.79 30.53 37.5 30.39 4783 31.54 24.96 37.13 27.57 5036 39.98 32.47 34.46 29.24 1325 38.05 27.82 32.7 25.3 4732 34.1 27.2 31.4 25.61 1285 30.56 23.24 30.11 22.79 746 30.8 22.05 29.9 22.04 4704 31.71 23.86 28.82 22.14 2634 21.9 20.42 28.16 24.64 2228 27.65 22.06 27.98 22.33 2935 27.59 23.73 27.61 23.51 4308 24.77 22.28 25.2 22.8 6125 23.34 22.21 23.46 22.72 4248 23.54 18.12 23.21 18.17 2185 22.2 18.32 22.47 18.55 2340 22.77 23.04 22.18 22.82 4939 21.37 23.62 21.89 23.83 4343 16.26 15.33 21.06 17.75 4525 21.85 22.16 20.95 21.7 1075 22.49 18.58 20.06 17.18 4252 19.4 13.59 18.36 13.23 3710 23.6 21.57 15.24 16.59 5580 12.24 14.17 14.99 15.94 4015 13.23 11.04 13.24 11.12 5428 12.75 14.08 13.04 13.33 6141 18.76 18.79 12.72 15.38 2198 12.85 9.32 12.64 9.45 6070 12.56 10.67 10.16 9.52 6046 11.9 12.28 9.15 10.69 1246 11.73 11.87 8.54 9.98 3541 7.99 9.23 8.04 9.37 6140 6.63 11.06 6.14 11.04 5076 6.73 6.92 5.78 6.43 5094 -4.85 0.26 -5.58 -0.51 Last edited by sastoller : 23-03-2016 at 14:43. |
|
#5
|
||||
|
||||
|
Re: Accounting for breaches/captures in OPR
Quote:
1) There were quite a few years where the scoring during qualification rounds and elimination/playoff rounds are different, some years more than others. Adjusting the scores for qualification rounds or elimination/playoff rounds in order to combine these different matches together to calculate OPR of both rounds is artificial and lead to potential unnecessary arguments how the adjustment should be made. 2) The motivation for teams in qualification rounds and elimination/playoff rounds are very different. The higher ranked teams want to rank as high as possible by winning a match and earning as many ranking points as possible that is used for tiebreak. Lower ranked teams want to showcase their strength and winning is not the highest priority except for their obligations to their alliance partners. In elimination rounds, the goal is to advance by winning and not necessary by scoring as many points as possible. In playoff rounds, the goal is to score high to advance and winning may not be the top priority. 3) Alliance partners in Qualification rounds are randomly selected. That is not the case for elimination/playoff rounds. In some games, with better partners, teams in elimination/playoff rounds are limited in number of points each of them can score which can hurt their OPR. 4) In the calculations of OPR, if we use elimination/playoff matches also, there may be some undesirable effect when some teams play more matches than others. More data points may not be better when the data represents something different due to what I explained above. However I am all for teams who want to modify OPR to rank teams based on what they feel is more important. 2012 was the only year that I published a modified OPR. There was a general consensus on CD to give 5 points for each coop point. I made it so that teams can easily use a number different from 5 if they chose to. Due to all the above reasons, I strongly oppose changing the fundamental way how OPR is calculated. If anyone wants to change it, make sure you call it something else so that the community is not confused with what you are publishing. |
|
#6
|
||||
|
||||
|
Re: Accounting for breaches/captures in OPR
Quote:
My guess is that my eOPR1 would do better than eOPR2/modified OPR at predicting playoff scores at weaker events like this, although I have not done a thorough investigation. Quote:
|
|
#7
|
||||
|
||||
|
Re: Accounting for breaches/captures in OPR
Quote:
Having been at GTRE myself, from the list of 2013,610,1241 and 1305, I'd probably give a ranking of 1241>2013>610>1305 in quals matches. 1241's high goaling is fantastic, and building a strategy around them, feeding them balls and letting them score is a surefire way to do well in quals matches, making them even stronger with good planning. By themselves, they're also a quality defense crosser and cycler. 2013's overall a strong robot that can work independently of their alliance partners in quals, and their high goal shot is monstrously accurate when dialed in and firing from a consistent spot, which is pretty likely given the general lack of defensive play in quals matches. 610 is a low goal and defense crossing specialist, and we can ideally function independently of alliance partners in quals, but we suffered at GTRE from some robot issues and lack of high goal shot. 1305 is another strong independent robot, similar to 2013, but I think that 2013's a little bit stronger. It can also be noted that 1305's schedule had them playing with 2056,5807,4476,1241 and 610 in quals matches, among other notably strong teams. |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|