Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Rules/Strategy (http://www.chiefdelphi.com/forums/forumdisplay.php?f=6)
-   -   Best way to predict match outcomes (http://www.chiefdelphi.com/forums/showthread.php?t=117102)

ThunderChief 31-05-2013 17:56

Re: Best way to predict match outcomes
 
Re: predictions at IRI (NOT)
This is a different BEAST.

There are a lot more variables. Teams will try out new drivers in the Qualifying matches, then have the graduating experts take over in the Eliminations. Or maybe not. The expert drivers who played on Einstein may be long gone. Old robot parts will break and new ones will not have been tested or refined yet.

Modifications will be made as an experiment so performance will be wildly different than you last saw. (Both better and worse.)
IRI is a time for fun and trying out new ideas. The finals are really rough and tumble. Strategies will be everything you have seen plus wild counter-strategies that have been thought up. :ahh:

Observational Scouting will be very important to learn the real facts.
In 2003, my first year at IRI (with Team 980 ThunderBots) we had not been picked at the World Championship Elims, but ended up #5 alliance captain. We had improved our drive train and fixed the less-than-robust-arm parts. The next year we were the first pick on the winning IRI alliance after being Galileo #2 alliance captain, but losing in the Quarterfinals.

Expect the unexpected. Disk-by-disk counting is not enough. I will bring my "Velcro" Ranking system that I use to fluidly move teams up & down depending how I feel they are doing. :yikes:

runneals 31-05-2013 22:48

Re: Best way to predict match outcomes
 
Quote:

Originally Posted by brennonbrimhall (Post 1278015)
While your scouting system on your website goes into detail about how you collect your data, it's a bit more vague on what you do with the data you've collected. Can you elaborate on how you arrive at your predictions?

We only used our own scouting data to compute results in Minneapolis, otherwise we just use our scouting sheets for selecting alliance partners based on our notes. We mainly pulled our data from the scouting app (generated from TBA) for use in our formula.

We arrived at our predictions through using averages from Friday's matches, using our secret Neutrino formula to arrive to this. Note that I only included a few sample matches.

Andrew Schreiber 01-06-2013 10:10

Re: Best way to predict match outcomes
 
Quote:

Originally Posted by brennonbrimhall (Post 1277956)
Very interesting. I'd love to see what you and your team came up with!



Could you explain what an ELO Chess model is?

More or less it boiled down to the assertion that a team that found a way to win in their previous matches will do so again. I started off every team with a .5 chance to win a given match. (So predictions until we have a few matches are worthless) From there I set a "wager" for each match. The winning teams got the wager added to their chance to win (or maybe I multiplied it, I don't recall) and the losers got it subtracted (or divided).

It ended up about on par with OPR for predictions in 2012 (which is to say, kind of worthless). I have a handful of knobs I could tweak in the model and a bunch of features I could add in to see if it got more accurate. I just never got around to it.

It was inspired by the ranking system used in Chess. Their's is a lot more complicated since they actually have far more information that we do including repeated plays between users. I've been researching how LoL does their rankings since they face similar problems to us: Alliance of multiple skill partners, single play, low data on actual performance in match. It took second fiddle to actually building a robot and doing the other billion things I seem to do. Maybe if there's interest I can release something workable, my existing run script is pretty much an evil amalgamation of python , R, and shell scripts to pull things together meant just to see what it gave me.

brennonbrimhall 07-06-2013 20:06

Re: Best way to predict match outcomes
 
1 Attachment(s)
I've done some more research about the Elo chess ranking model, and I'm pretty impressed. As a programmer, of course, I couldn't resist seeing how the predictions stack up, so I added the rankings to a scouting application I've been developing.

Quote:

Originally Posted by Andrew Schreiber (Post 1278080)
It ended up about on par with OPR for predictions in 2012 (which is to say, kind of worthless). I have a handful of knobs I could tweak in the model and a bunch of features I could add in to see if it got more accurate. I just never got around to it.

Using a k-value of 48 (a little high, I know), I have yet to find any matches that aren't predicted correctly. :D However, I've yet to actually sit down and have it predict with a set of test data and match predictions -- the data I'm predicting is based on the actual matches.

I've included the Java application here for the enjoyment of all. Type in an event code (Ex: 2013mawo, for WPI, 2013arch for Archimedes, etc).

Navid Shafa 09-06-2013 21:09

Re: Best way to predict match outcomes
 
Quote:

Originally Posted by brennonbrimhall (Post 1278904)
Type in an event code (Ex: 2013mawo, for WPI, 2013arch for Archimedes, etc).

Would I need to have downloaded match results to the current workspace? I'm not entirely sure what it's doing, or what I should be doing.

I'm rather interested in using the ELO approach, and would love to play around with this, just not sure exactly what to do :P

brennonbrimhall 09-06-2013 21:14

Re: Best way to predict match outcomes
 
I misspoke when I was referring to the Archimedes event code. The correct code should be 2013arc (the same code that The Blue Alliance uses). For example, WPI would be 2013mawo. Waterloo would be 2013onwa. GSR would be 2013nhma. Using the wrong code will mean that no match results can be found.

Quote:

Originally Posted by Navid Shafa (Post 1279110)
Would I need to have downloaded match results to the current workspace? I'm not entirely sure what it's doing, or what I should be doing.

Type in an event code in the text field, and then press enter/click the load button. It should download match/event results automagically into your workspace for offline access, and then store them as event/team/match files. You'd need internet access, of course. And then, after scraping all the data, it should display it.

If you're having problems after going through the above directions, here's one potential problem that still might be the case. While SiK has worked on my development machine, and some other machines I've tested with, it hasn't worked on others – the loading bar will begin animating, and just won't stop. I'm still trying to figure that one out. Java's supposed to be cross-platform, right?

Navid Shafa 09-06-2013 21:47

Re: Best way to predict match outcomes
 
Quote:

Originally Posted by brennonbrimhall (Post 1279111)
I've tested with, it hasn't worked on others – the loading bar will begin animating, and just won't stop. I'm still trying to figure that one out.

I've had the persistent loading animation problem too.
Quote:

Originally Posted by brennonbrimhall (Post 1279111)
Java's supposed to be cross-platform, right?

Thought so.


All times are GMT -5. The time now is 13:46.

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