|
United States12607 Posts
WTF Is This?
About an hour ago I was watching the 3set of Canata-JD (fun game, btw) and saw MBCGame's usual "predict the winner" poll pop on to the screen (it read 77%-23% in favor of Jaedong). I began to wonder whether MBC's voters were smarter than TL's Liquibetting population, and then if Korean StarCraft fans in general were smarter than TL's (predominantly non-Korean) memberbase. The relative massiveness of Korea's SC fanbase must have two competing effects on its collective ability to predict game winners: on one hand, BW's popularity means Korean fans have easier access to interviews, statistics, professional-quality game analysis, and VODs; on the other, BW's mainstream-ness means the average Korean fan is probably less zealous than the average non-Korean Liquibetter.
After some poking around I was delighted to find that YGosu, TL's Korean sister site of sorts, has a voting system (which I think is called Lotto, based on its url) sort of similar to Liquibet (most importantly for my purpose, both systems incentivize "unbiased" voting by recognizing — or boosting the reputation of — accurate predictors).
I decided to pit TeamLiquid's Liquibetters against YGosu's Lottoers by comparing each group's collective predictive capability over the entire Bacchus OSL 2009 Ro16. The results of this little competition substantiate some interesting theories about the Korean and foreign SC fanbases and their perceptions of various OSL players — you can read those below, under "Conclusion".
Results
Here is the grand Liquibet vs. Lotto showdown's results (out of curiosity I decided to include my somewhat sorry LB history, in that third column on the right):
+ Show Spoiler [Graph Description] +Columns on the right display the percent of the voting population (Liquibetters, Lotto players, me) that correctly predicted the result of the set listed at left. To make the graph easier to read, I've highlighted these cells to indicate prediction accuracy: the more green a cell is, the more accurate (closer to 1) its prediction was; the more red a cell is, the more inaccurate (closer to 0) its prediction was. The sets are ranked according to the success of TL's prediction of their winners. As the above graph shows, TL just barely edges out YGosu in predictive capability over the OSL Ro16 — but neither site's voting population demonstrated itself to be significantly more intelligent than a monkey (perfectly random voter). Uhhh...let's preserve our dignity by chalking that up to this Ro16's many upsets.
Oh yes, and, of course, I spanked both TL and YGosu with a whopping 54% accuracy. FINGER BOOM!
Conclusion
Liquibets are consistently more one-sided than Lotto votes. I think this is due to a combination of two factors: - Because TL is much smaller than YGosu, Liquibet is both easier to win and its winners probably receive more (local) prestige. Thus, Liquibetters are less likely to vote along fan lines. Less voting along fan lines means more uneven votes, because underdogs' total votes are less inflated by devoted (stupid) fans.
- When Liquibetters do vote along fan lines, they are much more likely to do so in unison than are Lottoers. I think our (foreign fans') relatively narrow exposure to the Korean BW scene has made us much more monolithic than Korean SC fans. Because we only have a few sources of independent news analysis (and these sources are deeply involved in, and thus influenced by, the foreign BW community) and we only have access to in-depth interviews and coverage of certain players, we tend to both favor mega-stars (favorites) and ignore new and seemingly personality-less players (underdogs) more than Korean fans.
Liquibetters' weakness: underestimating Yarnc. Two of TL's three most inaccurate predictions are Yarnc wins. YGosu didn't call these games right, either — but at least they were closer. This one makes sense, given Yarnc's recent results: we grossly underestimated him in Group A. (Honorable mention for this category goes to overestimating Kwanro, who Liquibetters incorrectly predicted to win both vs. hero and Canata.)
Lottoers' weakness: underestimating fantasy. YGosu just isn't as enamored with Fantasy as we are here at TL, and it hurt them here. Stork had a 46% chance against Fantasy's TvP? BackHo 26%? Come on.
Liquibetters' strength: go.go hate. Hot damn do we hate go.go...Liquibetters overwhelmingly picked him to lose in each of his three games, and hit the jackpot when he actually did (vs. ZerO, one of two games that TL called right but YGosu did not).
Lottoers' strength: type-b love. Holy crap, Lottoers actually picked Type-b to win two Ro16 games — and they were right both times. What did Korean fans know about Type-b that we didn't??
Fun facts:
- According to Liquibetters, the OSL Ro16's biggest upset was Yarnc > Jaedong. According to Lottoers, it was go.go > Bisu.
- According to Liquibetters, the OSL Ro16's most lopsided win was Fantasy > Type-b. According to Lottoers, it was Fantasy > BackHo. (So: according to both, Fantasy is a monster.)
- Despite having a slightly worse overall prediction record, Lottoers actually called one more Ro16 game correctly (14/24) than Liquibetters (13/24) did. (TL's strength seems to be more overwhelmingly sticking to heavy favorites.)
- Everyone overrated Hwasin. I think Zero > Hwasin was a pretty easy call, and was really surprised to see both TL and YGosu about 70% in favor of the Red Sniper. I guess people put too much stock in his TvZ?
|
Wow sick write up o_o Cool. Thanks!
|
woah insane. you have way to much time on your hands jwd.
|
Spenguin
Australia3316 Posts
That was a really interesting read thanks for the work :D
5/5
|
United States12607 Posts
On July 31 2009 18:00 cunninglinguists wrote: woah insane. you have way to much time on your hands jwd. Actually, I have no idea why I chose to do this over the many more important things I needed to take care of tonight. Good news is, it only took me a small fraction of the time it takes to write one news post or PR.
|
Hah, this is pretty cool.
I wonder if we could go back and analyze previous seasons?
Thanks for the infos.
|
Melbourne5338 Posts
Isn't YGosu's betting system based on betting points much like GG.net's gosubet system?
|
A pretty good write-up JWD, thanks for the info
feels good to be smarter than the koreans
|
United States17042 Posts
very nice information. I'm impressed. Good job tl, for having better voting percentages ^^ (barely...)
|
United States12607 Posts
On July 31 2009 18:23 pachi wrote: Isn't YGosu's betting system based on betting points much like GG.net's gosubet system? Actually I think you're right — there are mentions of Minerals on YGosu's voting pages. If it's bizarre or complex this format could mess with my ideas about YGosu's voting habits...
|
Intresting
How does this comparison look compared to GG.net?
|
Hong Kong20321 Posts
i voted for TyPe B HYAHA!! :D:DD
i never knew there waas this lotto thing before
|
very cool seeing the comparison between the korean and foreign fan communities also cool to see KT's new name being put to good use FINGER *BOOOOM*
|
Hmm, I thought this was a showmatch or something but definitely surprised me... we're not that bad though.
|
How did they know about type-b's skill? I really didn't think he would come up but he's already one game up on Leta @.@ And Leta isn't using 2port against him either, so he must have played so many times against it in practice that Leta is scared to use it.
I wonder why we hate go.go He's not a bad player at all, even if he cheeses and bad manners often.
Thanks for this JWD, it was pretty interesting.
|
United States12607 Posts
On July 31 2009 19:29 SilverSkyLark wrote: Hmm, I thought this was a showmatch or something but definitely surprised me... we're not that bad though. Not that bad? .7% above 50% is pretty bad but I suppose if YGosu scored worse than us, we look alright.
|
hot damn these are some ineteresting statistics. good job.
|
Roffles
Pitcairn19291 Posts
Best part was definitely Finger Boom!
But nice dig up on stats. Now to find those who drag down TLs polling %.
|
Thanks for this, I really enjoyed it
|
On August 01 2009 00:49 JWD wrote:Show nested quote +On July 31 2009 19:29 SilverSkyLark wrote: Hmm, I thought this was a showmatch or something but definitely surprised me... we're not that bad though. Not that bad? .07% above 50% is pretty bad but I suppose if YGosu scored worse than us, we look alright.
This just shows how upset prone pro-gaming actually is. We're betting only .07% better than a coin flip right now.
|
Lol, i was actually wondering about this and how other sc sites do their voting. I always wanted to do a comparison like this but you beat me to it, nice data and post.
EDIT: Are there any plans for a TL V. yGosu rematch?! I would love to see this since i missed the last one, was out of town i do believe.
|
It's true, I do hate gogo. CCs in your nats.
|
Interesting read. TL just never fails to deliver, huh?
Thanks for sharing JWD. ^^
|
I think this is empirical evidence that TL is full of fanboys and anti-fans
|
On August 01 2009 01:40 clazziquai wrote: Interesting read. TL just never fails to deliver, huh?
Thanks for sharing JWD. ^^ on the flip side, you could consider our liquibet stats to be a huge failure to deliver. I'm really surprised we're so barely over 50%....i thought we'd be better than that :/
|
Lottoers' strength: type-b love. Holy crap, Lottoers actually picked Type-b to win two Ro16 games — and they were right both times. What did Korean fans know about Type-b that we didn't??
Didn't Boxer say in one of his interviews that type-b was going to rise to glory sometime soon? Similar to his prediction about Stork.
|
United States12607 Posts
On August 01 2009 02:05 Railz wrote:Show nested quote +Lottoers' strength: type-b love. Holy crap, Lottoers actually picked Type-b to win two Ro16 games — and they were right both times. What did Korean fans know about Type-b that we didn't?? Didn't Boxer say in one of his interviews that type-b was going to rise to glory sometime soon? Similar to his prediction about Stork. Oh? Do you remember anything else about the interview? I tried searching for "boxer type-b interview" but didn't turn up anything useful.
|
Wow that's really interesting. Thanks for the research JWD~
I didn't even know YGosu had a betting option.
|
On August 01 2009 02:53 Grobyc wrote: Wow that's really interesting. Thanks for the research JWD~
I didn't even know YGosu had a betting option.
Yeah, I mostly go there for the pictures.
|
sitting at 66% on LB I feel pretty good right now.
|
On August 01 2009 02:34 JWD wrote:Show nested quote +On August 01 2009 02:05 Railz wrote:Lottoers' strength: type-b love. Holy crap, Lottoers actually picked Type-b to win two Ro16 games — and they were right both times. What did Korean fans know about Type-b that we didn't?? Didn't Boxer say in one of his interviews that type-b was going to rise to glory sometime soon? Similar to his prediction about Stork. Oh? Do you remember anything else about the interview? I tried searching for "boxer type-b interview" but didn't turn up anything useful. No, he said by.hero. My guess it would be in the bonjwa talk interview with Savior, but I'm not quite sure.
|
I think a big factor of us not having very good predictability is that pro StarCraft can be full of upsets, and we've been seeing a lot of them in the past few months
Edit
Also, I've been a Type-B fan since I saw him play against.. I think it was Kal or somebody and another Protoss in... Was it MSL or OSL? Idk. I liked the way he used the mineral jumping on Holy World to really mess people up. Yeah it was a gimmicky win but still. Anyways yeah, since then I've had my eye on Type-B so that's why I've been voting for him
|
Lottoers' strength: (Z)type-b love. Holy crap, Lottoers actually picked Type-b to win two Ro16 games — and they were right both times. What did Korean fans know that we didn't?? I don't know, English?
Fucking noobs. You're all fooled by Type-B throwing away one game against Fantasy, which was really a pretty obvious move to take people off the scent that he's abusing paranormal powers.
|
interesting read, i 'm also curious about type-b predictions
|
do they get odds or is it 1:1?
|
Katowice25012 Posts
|
United States20661 Posts
I thought we were bigger than ygosu
though ofc I may be wrong.
|
This is pretty interesting. I heard somewhere that TL had the most users out of any Starcraft website Korean or not. Guess not?
|
type-b is a good player though :|
I am proud to say I voted for him!!
|
|
United States12607 Posts
On August 01 2009 10:08 Roxen000 wrote: This is pretty interesting. I heard somewhere that TL had the most users out of any Starcraft website Korean or not. Guess not? TL may have more users than YGosu, but I am pretty sure (based on the YGosu Lotto numbers) that YGosu's betting population is larger than TL's.
(Keep in mind that size/members is not the same as voters.)
|
konadora
Singapore66060 Posts
Wow that was interesting haha
Glad to see 0.570 for type-b > Stork though (although it's for YGosu)
|
This is actually really cool to see. I wonder how big the YGosu community is though?
|
I would love to see more of this type of stuff, It is beyond interesting to see who everyone picks.
|
YGoSu, My gf love read this website XD
|
On August 01 2009 01:14 Athos wrote:Show nested quote +On August 01 2009 00:49 JWD wrote:On July 31 2009 19:29 SilverSkyLark wrote: Hmm, I thought this was a showmatch or something but definitely surprised me... we're not that bad though. Not that bad? .07% above 50% is pretty bad but I suppose if YGosu scored worse than us, we look alright. This just shows how upset prone pro-gaming actually is. We're betting only .07% better than a coin flip right now.
It's .507... which means it's 50.7%... which means it's .7% not .07%.
Although still bad. :p
|
Nice work dude
|
Hahah I don't hate go.go, I think he has a "role" in the progamer scene: out of so many mannered guys, one HAD to be the asshole hahaha...
But I do think he's a pretty shitty player. I still can't get over his win vs. Bisu.
|
On August 01 2009 02:34 JWD wrote:Show nested quote +On August 01 2009 02:05 Railz wrote:Lottoers' strength: type-b love. Holy crap, Lottoers actually picked Type-b to win two Ro16 games — and they were right both times. What did Korean fans know about Type-b that we didn't?? Didn't Boxer say in one of his interviews that type-b was going to rise to glory sometime soon? Similar to his prediction about Stork. Oh? Do you remember anything else about the interview? I tried searching for "boxer type-b interview" but didn't turn up anything useful.
I'm sorry to say I searched 10 minutes to find the interview again. All I can remember is the context in which the interview was given was it was about a month or two before Boxer's service was over and they were asking about what he thought about the current status of the PL. The picture that was in the thread, unassociated with the interview was boxer holding a "I Love TL.net" sign. =/ u_u Sorry I couldn't be of more use finding it.
|
United States12607 Posts
On August 01 2009 17:12 Railz wrote:Show nested quote +On August 01 2009 02:34 JWD wrote:On August 01 2009 02:05 Railz wrote:Lottoers' strength: type-b love. Holy crap, Lottoers actually picked Type-b to win two Ro16 games — and they were right both times. What did Korean fans know about Type-b that we didn't?? Didn't Boxer say in one of his interviews that type-b was going to rise to glory sometime soon? Similar to his prediction about Stork. Oh? Do you remember anything else about the interview? I tried searching for "boxer type-b interview" but didn't turn up anything useful. I'm sorry to say I searched 10 minutes to find the interview again. All I can remember is the context in which the interview was given was it was about a month or two before Boxer's service was over and they were asking about what he thought about the current status of the PL. The picture that was in the thread, unassociated with the interview was boxer holding a "I Love TL.net" sign. =/ u_u Sorry I couldn't be of more use finding it. I think you could be referring to this? It's in the (heavily underrated) Articles forum. However, that interview is pretty old and in it Boxer names Savior and Sea as good up-and-comers...
Thanks for looking, anyway!
|
wow man, what a write-up and nice graph too!
|
Hmmm reading this entire thread and actually enjoying it made me realise how big a nerd I am ^^
|
Hong Kong20321 Posts
On August 01 2009 17:16 JWD wrote:Show nested quote +On August 01 2009 17:12 Railz wrote:On August 01 2009 02:34 JWD wrote:On August 01 2009 02:05 Railz wrote:Lottoers' strength: type-b love. Holy crap, Lottoers actually picked Type-b to win two Ro16 games — and they were right both times. What did Korean fans know about Type-b that we didn't?? Didn't Boxer say in one of his interviews that type-b was going to rise to glory sometime soon? Similar to his prediction about Stork. Oh? Do you remember anything else about the interview? I tried searching for "boxer type-b interview" but didn't turn up anything useful. I'm sorry to say I searched 10 minutes to find the interview again. All I can remember is the context in which the interview was given was it was about a month or two before Boxer's service was over and they were asking about what he thought about the current status of the PL. The picture that was in the thread, unassociated with the interview was boxer holding a "I Love TL.net" sign. =/ u_u Sorry I couldn't be of more use finding it. I think you could be referring to this? It's in the (heavily underrated) Articles forum. However, that interview is pretty old and in it Boxer names Savior and Sea as good up-and-comers... Thanks for looking, anyway!
o wow boxer called stork and savior and he was fuckin rightttttt O___O
upset prone progaming hmm.. sometimes i wonder why i follow sc progaming xD
|
Didn't Type-B have a really decent ZvP before? Its pretty much the only reason I LB'd him over stork (either he did or I had a premonition =O)
Type-B over Leta though... O_o
|
i was thiniking exactly the same when i saw the results:
neither site's voting population demonstrated itself to be significantly more intelligent than a monkey (perfectly random voter)
|
Belgium2115 Posts
Great article, very interesting to read.
|
Indeed, a very entertaining article.
However... monkey (perfectly random voter) this is incorrect. A monkey's actions are anything but random. I don't have the article here, but in a study of the infamous "give x monkeys typewriters and infinite time... and eventually they'll reproduce Shakespeare's works" misconception the monkeys produced lots of written text... consisting of nothing but exactly the same letter over and over again.
Coin flips on the other hand are usually pretty close to randomness.
Then again, humans are monkeys.
And here is why.
Ironically, seeing the voting data... I would have to tentatively conclude that monkeys *are* perfectly random voters. It's just that I think it's due to a floor effect (only 2 choices, even if you click on the same button forever you'll probably get 50%, can you do a check on how often option 1/2 won?)
|
There would be much less variance if you analyzed a lot more games, regardless of the population size. There's no way you can say TL is more accurate when changing one game could potentially flip the results by 2*(difference)*1/16 = .125*difference, assuming everyone votes. Let's say effort beat Jaedong like in GOM, then the difference is .819-.635=.184, and now YGosu goes up by .025.
Let's assume TL has godlike knowledge of the odds, but not the outcome (since God plays dice). summing p[ i ]*(1-p[ i ]) gives us the total variance of 2.9, or a standard deviation of 1.7. They will average 70% success rate with a 10% standard deviation.
And of course we usually accept results within 2 standard deviations (in fact this comes close to proving within 95% certainty that TL does not have godlike knowledge). Finally if we don't assume TL has godlike knowledge and merely comparing accuracy, the results of one series of 16 will have to differ by ~.3 to be meaningful.
And YG's results: + Show Spoiler + would average .58 correct with an s.d. of 1.2. YG's odds have more variance, thereby exhibiting a less extreme betting pattern.
|
United States12607 Posts
On August 02 2009 12:38 igotmyown wrote: There would be much less variance if you analyzed a lot more games, regardless of the population size. There's no way you can say TL is more accurate when changing one game could potentially flip the results by 2*(difference)*1/16 = .125*difference, assuming everyone votes. Of course it's blatantly obvious that I cannot conclude, based on a sample size of 24 games, that the .01% difference in accuracy between TL and YGosu voters is statistically significant. Are you suggesting that somewhere I said "TL is more accurate"?...I'm not sure what you're getting at.
|
United States12607 Posts
On August 02 2009 11:45 Dagobert wrote:Indeed, a very entertaining article. However... this is incorrect. A monkey's actions are anything but random. haha are you serious??
|
On August 02 2009 12:45 JWD wrote:Show nested quote +On August 02 2009 12:38 igotmyown wrote: There would be much less variance if you analyzed a lot more games, regardless of the population size. There's no way you can say TL is more accurate when changing one game could potentially flip the results by 2*(difference)*1/16 = .125*difference, assuming everyone votes. Of course it's blatantly obvious that I cannot conclude, based on a sample size of 24 games, that the .01% difference in accuracy between TL and YGosu voters is statistically significant. Are you suggesting that somewhere I said "TL is more accurate"?...I'm not sure what you're getting at.
I decided to pit TeamLiquid's Liquibetters against YGosu's Lottoers by comparing each group's collective predictive capability over the entire Bacchus OSL 2009 Ro16.
As the above graph shows, TL just barely edges out YGosu in predictive capability over the OSL Ro16 — but neither site's voting population demonstrated itself to be significantly more intelligent than a monkey (perfectly random voter). Uhhh...let's preserve our dignity by chalking that up to this Ro16's many upsets.
I dunno I kind of assumed predictive capability implied accuracy. That and all the WOOT we're slightly better! replies. Also if you look into the numbers, it's really hard to "bet" accurately your chance of winning is probably less than 60%. I'm sure there's some system that uses ranking odds.
I am saying that looking at a huge number of games (even if it meant looking at a smaller pool of voters) would been better.
|
United States12607 Posts
On August 02 2009 13:48 igotmyown wrote:Show nested quote +On August 02 2009 12:45 JWD wrote:On August 02 2009 12:38 igotmyown wrote: There would be much less variance if you analyzed a lot more games, regardless of the population size. There's no way you can say TL is more accurate when changing one game could potentially flip the results by 2*(difference)*1/16 = .125*difference, assuming everyone votes. Of course it's blatantly obvious that I cannot conclude, based on a sample size of 24 games, that the .01% difference in accuracy between TL and YGosu voters is statistically significant. Are you suggesting that somewhere I said "TL is more accurate"?...I'm not sure what you're getting at. Show nested quote +I decided to pit TeamLiquid's Liquibetters against YGosu's Lottoers by comparing each group's collective predictive capability over the entire Bacchus OSL 2009 Ro16. Show nested quote +As the above graph shows, TL just barely edges out YGosu in predictive capability over the OSL Ro16 — but neither site's voting population demonstrated itself to be significantly more intelligent than a monkey (perfectly random voter). Uhhh...let's preserve our dignity by chalking that up to this Ro16's many upsets. I dunno I kind of assumed predictive capability implied accuracy. That and all the WOOT we're slightly better! replies. Also if you look into the numbers, it's really hard to "bet" accurately your chance of winning is probably less than 60%. I'm sure there's some system that uses ranking odds. I am saying that looking at a huge number of games (even if it meant looking at a smaller pool of voters) would been better. Oh I agree more games would have been better...but also much more work Notice "over the entire Bacchus OSL 2009 Ro16" and "over the OSL Ro16"...I'm qualifying my statement that TL was more accurate by limiting its scope to just the OSL Ro16.
And I think you're misunderstanding something, because it is totally legitimate to say that TL was more accurate at predicting the OSL Ro16. That's a simple fact, as long as we define accuracy as % correct votes (...not that it could really mean anything else...). This isn't an issue of statistical significance because I am not extrapolating upon test results to make a statement about a larger population.
|
I think the korean votes were very weird... Are you sure they weren't getting odds to vote for the underdog?
|
i think it would be worthwhile to compare tl and ygosu over a longer period (imo atleast a year) to see if this .1% difference is a fluke or consistent.
|
Using TL's listed ELO ranks (the only reasonable way to statistically calculate odds) and a handy php script:
ELO predictions + Show Spoiler + Fantasy vs Typeb: 0.681321835166 Effort vs Yarnc: 0.56440049024 Fantasy vs Backho: 0.730245413297 Bisu vs Hwasin: 0.718756829899 Leta vs Hero: 0.579899760358 Leta vs Canata: 0.534483944727 Jaedong vs Effort: 0.58968350314 Zero vs Gogo: 0.582701884964 Stork vs Backho: 0.555890961117 Fantasy vs Stork: 0.683816314194 Jaedong vs Flash: 0.515824985265 Flash vs Effort: 0.574280203655 Canata vs Hero: 0.54592192278 Hero vs Kwanro: 0.502878199575 Canata vs Kwanro: 0.54877433586 Typeb vs Backho: 0.558731369325 Zero vs Hwasin: 0.531618297828 Gogo vs Hwasin: 0.448376452689 Kwanro vs Leta: 0.417298115036 Typeb vs Stork: 0.502878199575 Zero vs Bisu: 0.30753660742 Yarnc vs Flash: 0.363923100312 Gogo vs Bisu: 0.241305379853 Yarnc vs Jaedong: 0.349395372066
So the ELO approach predicted 18 out of 24. Averaging the odds gets 12.63 correct, or 0.526 with a SD of 0.1.
php code unintegrated with tlpd + Show Spoiler + <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>ELO odds</title> </head>
<body> <form name="elo_odds" method="post" action="elo_odds.php"> Enter player 1 <select name = "player1"> <option value = "Jaedong">Jaedong</option> <option value = "Bisu">Bisu</option> <option value = "Flash">Flash</option> <option value = "Fantasy">Fantasy</option> <option value = "Effort">Effort</option> <option value = "Leta">Leta</option> <option value = "Yarnc">Yarnc</option> <option value = "Canata">Canata</option> <option value = "Zero" >Zero </option> <option value = "Kwanro" >Kwanro </option> <option value = "Gogo" >Gogo </option> <option value = "Backho" >Backho </option> <option value = "Typeb" >Typeb </option> <option value = "Hwasin" >Hwasin </option> <option value = "Hero" >Hero </option> <option value = "Stork" >Stork </option> </select> <!-- <input type = "text" name = "player1"> --> <br /> Enter player 2 <select name = "player2"> <option value = "Jaedong">Jaedong</option> <option value = "Bisu">Bisu</option> <option value = "Flash">Flash</option> <option value = "Fantasy">Fantasy</option> <option value = "Effort">Effort</option> <option value = "Leta">Leta</option> <option value = "Yarnc">Yarnc</option> <option value = "Canata">Canata</option> <option value = "Zero" >Zero </option> <option value = "Kwanro" >Kwanro </option> <option value = "Gogo" >Gogo </option> <option value = "Backho" >Backho </option> <option value = "Typeb" >Typeb </option> <option value = "Hwasin" >Hwasin </option> <option value = "Hero" >Hero </option> <option value = "Stork" >Stork </option> </select> <br /> <input type="submit" value="Process it!" /> <span style="color:#0000FF"><?php echo $alert ?></span> </form> <hr /> </body> </html>
<?php
if ( $_POST['player1'] && $_POST['player2'] ) { //echo $_POST['player1'] . $_POST['player2']; echo $_POST['player1'] . " vs ". $_POST['player2'] . ":\n" . odds( $_POST['player1'], $_POST['player2'] ); }
function odds( $player1, $player2 ) { $ELO[ Jaedong ]=2285;$ELO[Bisu]=2286;$ELO[Flash]=2274;$ELO[Fantasy]=2257; $ELO[ Effort ]=2222;$ELO[Leta]=2177;$ELO[Yarnc]=2177;$ELO[Canata]=2153; $ELO[Zero]=2145;$ELO[Kwanro]=2119;$ELO[Gogo]=2087;$ELO[Backho]=2084; $ELO[Typeb]=2125;$ELO[Hwasin]=2123;$ELO[Hero]=2121;$ELO[Stork]=2123; //print_r($ELO);
//echo $ELO[ $player1 ]; $Q1 = pow(10,($ELO[ $player1 ] / 400 )); $Q2 = pow(10,($ELO[ $player2 ] / 400 )); // echo $Q1 . $Q2; return ( $Q1/($Q1+$Q2) ); } /* $predictions = array(0.681321835166, 0.56440049024, 0.730245413297, 0.718756829899, 0.579899760358, 0.534483944727, 0.58968350314, 0.582701884964, 0.555890961117, 0.683816314194, 0.515824985265, 0.574280203655, 0.54592192278, 0.502878199575, 0.54877433586, 0.558731369325, 0.531618297828, 0.448376452689, 0.417298115036, 0.502878199575, 0.30753660742, 0.363923100312, 0.241305379853, 0.349395372066); $mean = 0; $variance = 0; foreach ( $predictions as $game ) { $mean += $game; $variance += $game * ( 1 - $game ); } echo "\n" . $mean . "\n" . sqrt( $variance ); */ ?>
|
On August 02 2009 16:50 igotmyown wrote:Using TL's listed ELO ranks (the only reasonable way to statistically calculate odds) and a handy php script: ELO predictions + Show Spoiler + Fantasy vs Typeb: 0.681321835166 Effort vs Yarnc: 0.56440049024 Fantasy vs Backho: 0.730245413297 Bisu vs Hwasin: 0.718756829899 Leta vs Hero: 0.579899760358 Leta vs Canata: 0.534483944727 Jaedong vs Effort: 0.58968350314 Zero vs Gogo: 0.582701884964 Stork vs Backho: 0.555890961117 Fantasy vs Stork: 0.683816314194 Jaedong vs Flash: 0.515824985265 Flash vs Effort: 0.574280203655 Canata vs Hero: 0.54592192278 Hero vs Kwanro: 0.502878199575 Canata vs Kwanro: 0.54877433586 Typeb vs Backho: 0.558731369325 Zero vs Hwasin: 0.531618297828 Gogo vs Hwasin: 0.448376452689 Kwanro vs Leta: 0.417298115036 Typeb vs Stork: 0.502878199575 Zero vs Bisu: 0.30753660742 Yarnc vs Flash: 0.363923100312 Gogo vs Bisu: 0.241305379853 Yarnc vs Jaedong: 0.349395372066
So the ELO approach predicted 18 out of 24. Averaging the odds gets 12.63 correct, or 0.526 with a SD of 0.1. php code unintegrated with tlpd + Show Spoiler + <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>ELO odds</title> </head>
<body> <form name="elo_odds" method="post" action="elo_odds.php"> Enter player 1 <select name = "player1"> <option value = "Jaedong">Jaedong</option> <option value = "Bisu">Bisu</option> <option value = "Flash">Flash</option> <option value = "Fantasy">Fantasy</option> <option value = "Effort">Effort</option> <option value = "Leta">Leta</option> <option value = "Yarnc">Yarnc</option> <option value = "Canata">Canata</option> <option value = "Zero" >Zero </option> <option value = "Kwanro" >Kwanro </option> <option value = "Gogo" >Gogo </option> <option value = "Backho" >Backho </option> <option value = "Typeb" >Typeb </option> <option value = "Hwasin" >Hwasin </option> <option value = "Hero" >Hero </option> <option value = "Stork" >Stork </option> </select> <!-- <input type = "text" name = "player1"> --> <br /> Enter player 2 <select name = "player2"> <option value = "Jaedong">Jaedong</option> <option value = "Bisu">Bisu</option> <option value = "Flash">Flash</option> <option value = "Fantasy">Fantasy</option> <option value = "Effort">Effort</option> <option value = "Leta">Leta</option> <option value = "Yarnc">Yarnc</option> <option value = "Canata">Canata</option> <option value = "Zero" >Zero </option> <option value = "Kwanro" >Kwanro </option> <option value = "Gogo" >Gogo </option> <option value = "Backho" >Backho </option> <option value = "Typeb" >Typeb </option> <option value = "Hwasin" >Hwasin </option> <option value = "Hero" >Hero </option> <option value = "Stork" >Stork </option> </select> <br /> <input type="submit" value="Process it!" /> <span style="color:#0000FF"><?php echo $alert ?></span> </form> <hr /> </body> </html>
<?php
if ( $_POST['player1'] && $_POST['player2'] ) { //echo $_POST['player1'] . $_POST['player2']; echo $_POST['player1'] . " vs ". $_POST['player2'] . ":\n" . odds( $_POST['player1'], $_POST['player2'] ); }
function odds( $player1, $player2 ) { $ELO[ Jaedong ]=2285;$ELO[Bisu]=2286;$ELO[Flash]=2274;$ELO[Fantasy]=2257; $ELO[ Effort ]=2222;$ELO[Leta]=2177;$ELO[Yarnc]=2177;$ELO[Canata]=2153; $ELO[Zero]=2145;$ELO[Kwanro]=2119;$ELO[Gogo]=2087;$ELO[Backho]=2084; $ELO[Typeb]=2125;$ELO[Hwasin]=2123;$ELO[Hero]=2121;$ELO[Stork]=2123; //print_r($ELO);
//echo $ELO[ $player1 ]; $Q1 = pow(10,($ELO[ $player1 ] / 400 )); $Q2 = pow(10,($ELO[ $player2 ] / 400 )); // echo $Q1 . $Q2; return ( $Q1/($Q1+$Q2) ); } /* $predictions = array(0.681321835166, 0.56440049024, 0.730245413297, 0.718756829899, 0.579899760358, 0.534483944727, 0.58968350314, 0.582701884964, 0.555890961117, 0.683816314194, 0.515824985265, 0.574280203655, 0.54592192278, 0.502878199575, 0.54877433586, 0.558731369325, 0.531618297828, 0.448376452689, 0.417298115036, 0.502878199575, 0.30753660742, 0.363923100312, 0.241305379853, 0.349395372066); $mean = 0; $variance = 0; foreach ( $predictions as $game ) { $mean += $game; $variance += $game * ( 1 - $game ); } echo "\n" . $mean . "\n" . sqrt( $variance ); */ ?>
The ELOs have probably changed a bit since the matches were played.
|
You are an Oracle of sorts with that kind of foresight. Tried the commodities market?
|
Awesome write-up!
About Fantasy - Stork, I think koreans are more aware of the races and the slight favoring of different races over others. In this case meaning that Stork is protoss playing terran in this game afterall. Any terran can loose games to worse toss users on a given day, and we all know this. Even at pro level.
I also think TL idolizes players more and many times our judgement seems quite clouded. Some players are hated upon; gogo, BackHo, Hiya etc and this bias makes us bet against these players due to emotional reasons.
Also type-b vs stork is an example of knowing the particular matchup in depth. It's ZvP, and while Stork is awesome in long, out-drawn PvZ:s, zerg always has a slight upper hand in this matchup. Same thing as in PvT. Also I think TL bets on Stork here because he is "famous" and type-b isn't.
Let's not forget there are ALOT of noobs on TL too, like really new players. On yGosu maybe everyone voting isn't super gosu but many of the voters are likely to be pretty good players themselves and are probably very aware of how the different matchups work. Also they have starcraft on TV with in depth commentating.
Also I honestly think that alot of foreign people here who never have used the terran race, aren't aware of just how much that goes into playing a good TvP at pro level. Or a good ZvT. People take big names for granted, and while they suck themselves (obviously they are using protoss), they fail to see how strong protoss is in PvT for example. Same with ZvP newbies who suck and even think protoss is stronger PvZ, which is ridiculous. Anyways, these players will easily vote Terran over protoss, and protoss over zerg, based on their own understanding and not understanding that their bad skills is making it seem like the matchup is balanced against their favor, when in fact it's the other way around (PvT, ZvP, TvZ).
|
On August 02 2009 17:04 MannerMan wrote: The ELOs have probably changed a bit since the matches were played. They even changed while I was coding.
I just thought about it, and using probabilities to win only works if the system, aka liquibet, gives you odds. Like 1 out of 40 people are picking someone to win vs Jaedong, you should be earning 40x points. Statistically there's no point in picking underdogs if you don't get a bigger payoff, there's no line to bet off of like in sports, and using small correlation statistics ("he plays well on mondays") is pointless vs larger ones (ELO). I'm guessing people are far worse off than if they picked by Kespa rank or ELO, and success is statistical outliers.
Regardless, for anyone interested here's some php code so you can see the odds of a series. For example the OSL quarterfinals day 2 predictions (admittedly after it happened so the ELO's are probably affected)
Screenshot: + Show Spoiler + The code for elo_predict.php. You have to host it unfortunately. + Show Spoiler + <?php $url = "http://www.teamliquid.net/tlpd/players/detailed-elo"; $ch = curl_init(); curl_setopt( $ch, CURLOPT_RETURNTRANSFER, TRUE); curl_setopt( $ch, CURLOPT_URL, $url); curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, TRUE); $tlpd = curl_exec( $ch ); curl_close( $ch ); //Captures table id="tblt_table, no subtables allowed preg_match( '/<table id="tblt_table"(.*?)<\/table>/si', $tlpd, $data); preg_match( '/<tr>\s+<td.*/si', $data[1], $table ); //Searches for individual players by "/tlpd/players...<" preg_match_all( '/\/tlpd\/players[^<]*/si', $table[0], $players );
//Creates array ELO indexed by the player names on the first page of TLPD's detailed_elo page. Entries are indexed ELO, vsT, vsZ, and vsP. //Uses html format to find data, so will not work if ELO is not " number ", and vsT, vsZ, and vsP are not ">number</span" foreach ($players[0] as $player) { $name = preg_replace( '/[^>]*?>/is', '', $player);
preg_match( '/>' . preg_quote( $name ) . '<.*?<\/tr>/is', $table[0], $details); preg_match( '/\s\s(\d+)\s\s/', $details[0], $temp ); $ELO[ $name ][ "ELO" ] = $temp[1]; unset( $temp ); preg_match_all( '/>(\d+)<\/span/', $details[0], $temp ); $ELO[ $name ][ "vsT"] = $temp[1][0]; $ELO[ $name ][ "vsZ"] = $temp[1][1]; $ELO[ $name ][ "vsP"] = $temp[1][2]; unset( $temp ); } unset( $player ); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>ELO_predict.php</title> </head>
<body> <form name="elo_predict.php" method="post" action="elo_predict.php"> Enter number of matches <input type= "int" name="matches" <? if ($_POST['matches']) { echo " value = " . $_POST['matches'] ; } echo '> <br/> <br/>'; for ( $i = 1; $i <= $_POST['matches']; $i++) { echo "Game $i"; echo '<br/> Enter player 1 <select name = "player1[]">';
foreach ( array_keys( $ELO ) as $name ) { echo '<option value = "' . $name . '" '; if ( $_POST['player1'][ $i-1 ] == $name ) { echo 'selected = "yes" '; } echo '>' . $name . '</option>\n'; } unset( $player); echo'</select> Enter player 2 <select name = "player2[]">'; foreach ( array_keys( $ELO ) as $name ) { echo '<option value = "' . $name . '" '; if ( $_POST['player2'][ $i-1 ] == $name ) { echo 'selected = "yes" '; } echo '>' . $name . '</option>\n';
} unset( $player);
echo '</select> <br />'; } ?>
<input type="submit" value="Process it!" /> <span style="color:#0000FF"><?php echo $alert ?></span> </form> <hr /> </body> </html>
<? //Print out odds if user has submitted player names if ( $_POST['matches'] && $_POST[ 'player1' ] && $_POST[ 'player2' ] ) { for ( $j = 0; $j < $_POST[ 'matches' ]; $j++ ) { echo $_POST[ 'player1'][ $j ] . " vs ". $_POST[ 'player2' ][ $j ] . ": " . odds( $_POST['player1'][ $j ], $_POST['player2'][ $j ] ); echo '<br />'; }
}
//Calculates odds of player 1 winning vs player 2 function odds( $player1, $player2 ) { global $ELO; $Q1 = pow(10,($ELO[ $player1 ][ "ELO" ] / 400 )); $Q2 = pow(10,($ELO[ $player2 ][ "ELO" ] / 400 )); return ( $Q1/($Q1+$Q2) ); }
?>
|
this is somewhat inaccurate because u didn't take into account the actual number of votes. Averaging the percent corrects doesn't give u the actual average. lets say 100 out of 100 people got one game correctly (100%) and 0 out of 1 person got another game correctly (0%). are you gonna average those two and say that they're 50%? no, of course not, it's 100 out of 101, which is 99% accuracy
|
|
|
|