29antonioac / StarCraft-winner-prediction

Using supervised learning to predict the winner of a match
GNU General Public License v3.0
14 stars 2 forks source link

Análisis Exploratorio de los datos #22

Open deantares opened 7 years ago

deantares commented 7 years ago

Mañana lo completo, que ahora quiero seguir un rato más con la tesis.

Alguna de las cosas que me habéis dicho que podría ser interesante sacar esta mañana en la reunión:

Duración de las partidas

En minutos, si la conversación está bien hecha, a supuestos 24 fps

image

Recursos vencedores vs perdedores

image

Test de Wilcoxon entre los distintos conjutnos

Ahora, al separar por razas y por vencedores y derrotados, la cosa cambia bastante. Salvo casos concretos, no se niega la hipótesis nula. Pues vaya toalla.

RaceWinner RaceLoser testMinerals testGas testSupply
Protoss Protoss 0.3005686 0.8040968 0.2790395
Protoss Terran 0.1193757 0.7465396 0.0229483
Protoss Zerg 0.0760451 0.9820810 0.2631426
Terran Protoss 0.8249892 0.5922594 0.1195046
Terran Terran 0.2172916 0.5409155 0.1931232
Terran Zerg 0.0334323 0.1634462 0.0290632
Zerg Protoss 0.6756076 0.8162995 0.2675705
Zerg Terran 0.7892564 0.3653473 0.1087884
Zerg Zerg 0.9234059 0.7640034 0.2875859

Sin embargo, a medida que se "avanza" en la partida, si se encuentran diferencias. La siguiente tabla tiene en cuenta las diferencias después del primer minuto:

RaceWinner RaceLoser testMinerals testGas testSupply
Protoss Protoss 0.9294250 0.4462405 0.5865939
Protoss Terran 0.0111914 0.7295356 0.6968443
Protoss Zerg 0.4593534 0.6948111 0.8669605
Terran Terran 0.0727649 0.2432542 0.7455362
Terran Zerg 0.9419386 0.9102137 0.1171189
Zerg Zerg 0.2772246 0.8660730 0.5119689
Terran Protoss 0.0153982 0.7543610 0.7618770
Zerg Protoss 0.8770007 0.7241758 0.3238536
Zerg Terran 0.0687996 0.2437049 0.0000561

Y esta transcurridos 10 minutos de partida

RaceWinner RaceLoser testMinerals testGas testSupply
Protoss Protoss 0.0282649 0.6197243 0.0566920
Protoss Terran 0.0869141 0.7536947 0.0000130
Protoss Zerg 0.0304109 0.7980964 0.0159139
Terran Terran 0.6767973 0.0953369 0.0049216
Terran Zerg 0.0646613 0.1224948 0.0000110
Zerg Zerg 0.9444826 0.5716316 0.5757664
Terran Protoss 0.4108415 0.0137418 0.0016548
Zerg Protoss 0.7913229 0.9490187 0.0561253
Zerg Terran 0.6954664 0.1233133 0.0117432

Cómo digo, y esto son con los valores absolutos de los recursos, si saco un rato me gustaría hacerlo para valores totales y ratios. Y además, hacerlo con los X últimos minutos.

Ejemplo de una victoria, en el caso de Protoss contra Protoss

image

Ejemplo de una derrota, en el caso de Protoss contra Protoss

image

JJ commented 7 years ago

Genial :-)

deantares commented 7 years ago

Vale, a lo largo del día entre ratos he podido hacer lo mismo pero mirando "desde atrás", es decir, en lugar desde de que comienza la partida, desde que termina la partida hasta 15 minutos antes de que termine.

image

image

He corrido también el test de Wilcoxon entre los distintos valores para cada pares de raza e instante de tiempo. En la siguiente gráfica se ven los p-values.

image

image

Os dejo la tablas. Ya me diréis que podemos hacer con esto.

0 minutos antes de que termine la partida

RaceWinner RaceLoser testMinerals testGas testSupply
95 Protoss Protoss 0.0008360 0.0140208 0
11107 Protoss Terran 0.0000000 0.4953608 0
42034 Terran Terran 0.0049329 0.0371265 0
47973 Terran Zerg 0.0005318 0.4705391 0
60255 Zerg Zerg 0.6391756 0.9920038 0
11091 Terran Protoss 0.0000000 0.7957796 0
47984 Zerg Terran 0.0020327 0.2740851 0

1 minutos antes de que termine la partida

RaceWinner RaceLoser testMinerals testGas testSupply
95 Protoss Protoss 0.0000000 0.0137341 0.000000
11107 Protoss Terran 0.0000000 0.0007643 0.000000
42034 Terran Terran 0.0000030 0.0003848 0.000000
47973 Terran Zerg 0.0000000 0.1088396 0.000000
60255 Zerg Zerg 0.3429452 0.6701627 0.007035
11091 Terran Protoss 0.0000000 0.0104332 0.000000
47984 Zerg Terran 0.0006217 0.0189428 0.000000

2 minutos antes de que termine la partida

RaceWinner RaceLoser testMinerals testGas testSupply
95 Protoss Protoss 0.0000129 0.4973695 0.0000000
11107 Protoss Terran 0.0000000 0.0163237 0.0000000
42034 Terran Terran 0.0006301 0.0362269 0.0000000
47973 Terran Zerg 0.0000054 0.0043003 0.0000000
60255 Zerg Zerg 0.2360809 0.2105142 0.0437701
11091 Terran Protoss 0.0000000 0.0345354 0.0000000
47984 Zerg Terran 0.0026917 0.0361980 0.0000000

3 minutos antes de que termine la partida

RaceWinner RaceLoser testMinerals testGas testSupply
95 Protoss Protoss 0.0002980 0.3499719 0.000000
11107 Protoss Terran 0.0000000 0.0420210 0.000000
42034 Terran Terran 0.0001179 0.0172454 0.000000
47973 Terran Zerg 0.0029313 0.0324052 0.000000
60255 Zerg Zerg 0.3598816 0.3965333 0.164731
11091 Terran Protoss 0.0000000 0.0021261 0.000000
47984 Zerg Terran 0.0497427 0.4231662 0.000000

4 minutos antes de que termine la partida

RaceWinner RaceLoser testMinerals testGas testSupply
95 Protoss Protoss 0.0000682 0.9263152 0.0000002
11107 Protoss Terran 0.0000000 0.1003951 0.0000000
42034 Terran Terran 0.0303079 0.2599264 0.0000000
47973 Terran Zerg 0.0069709 0.0104311 0.0000000
60255 Zerg Zerg 0.6072172 0.2324977 0.4175059
11091 Terran Protoss 0.0000004 0.0132567 0.0000000
47984 Zerg Terran 0.1036714 0.4994505 0.0000000

5 minutos antes de que termine la partida

RaceWinner RaceLoser testMinerals testGas testSupply
95 Protoss Protoss 0.0236829 0.6029698 0.0000697
11107 Protoss Terran 0.0000000 0.2270506 0.0000000
42034 Terran Terran 0.0199345 0.1941236 0.0000091
47973 Terran Zerg 0.4378476 0.0615410 0.0000127
60255 Zerg Zerg 0.5774969 0.6079679 0.4522776
11091 Terran Protoss 0.0000175 0.2489366 0.0000000
47984 Zerg Terran 0.0412821 0.5507313 0.0000133

6 minutos antes de que termine la partida

RaceWinner RaceLoser testMinerals testGas testSupply
95 Protoss Protoss 0.0225072 0.6877558 0.0019166
11107 Protoss Terran 0.0000040 0.4900031 0.0000000
42034 Terran Terran 0.0269345 0.3172460 0.0004334
47973 Terran Zerg 0.0565096 0.0146185 0.0006897
60255 Zerg Zerg 0.5899853 0.9822847 0.5539623
11091 Terran Protoss 0.0000038 0.1022740 0.0000328
47984 Zerg Terran 0.2537213 0.3955235 0.0005112

7 minutos antes de que termine la partida

RaceWinner RaceLoser testMinerals testGas testSupply
95 Protoss Protoss 0.0047925 0.2503528 0.0157437
11107 Protoss Terran 0.0004971 0.6056057 0.0000017
42034 Terran Terran 0.5247129 0.4938329 0.0032432
47973 Terran Zerg 0.2392334 0.0159620 0.0047446
60255 Zerg Zerg 0.6776857 0.9339619 0.6413328
11091 Terran Protoss 0.0030936 0.1628926 0.0014891
47984 Zerg Terran 0.4620249 0.3220543 0.0029310

8 minutos antes de que termine la partida

RaceWinner RaceLoser testMinerals testGas testSupply
95 Protoss Protoss 0.4413327 0.1038655 0.0575086
11107 Protoss Terran 0.0023715 0.5916839 0.0002756
42034 Terran Terran 0.1667332 0.3476355 0.0275717
47973 Terran Zerg 0.4891162 0.0964563 0.0272878
60255 Zerg Zerg 0.7537727 0.7298593 0.7977178
11091 Terran Protoss 0.2050455 0.6456966 0.0077452
47984 Zerg Terran 0.1164410 0.1505753 0.0175412

9 minutos antes de que termine la partida

RaceWinner RaceLoser testMinerals testGas testSupply
95 Protoss Protoss 0.0156323 0.8349596 0.0933265
11107 Protoss Terran 0.0004577 0.2104828 0.0018319
42034 Terran Terran 0.2649610 0.2729112 0.0567453
47973 Terran Zerg 0.9290876 0.1672127 0.0347842
60255 Zerg Zerg 0.1229468 0.4366678 0.8518107
11091 Terran Protoss 0.1428669 0.7184610 0.0359575
47984 Zerg Terran 0.1193149 0.7797895 0.0755507

10 minutos antes de que termine la partida

RaceWinner RaceLoser testMinerals testGas testSupply
95 Protoss Protoss 0.9898777 0.6080195 0.2364231
11107 Protoss Terran 0.0234068 0.5073641 0.0114475
42034 Terran Terran 0.6770375 0.6946028 0.1206882
47973 Terran Zerg 0.3091471 0.7808485 0.0651129
60255 Zerg Zerg 0.7754906 0.7260656 0.6806227
11091 Terran Protoss 0.4794465 0.7708552 0.0391567
47984 Zerg Terran 0.6813083 0.1771599 0.1067530

11 minutos antes de que termine la partida

RaceWinner RaceLoser testMinerals testGas testSupply
95 Protoss Protoss 0.0351230 0.9295491 0.4234359
11107 Protoss Terran 0.0119511 0.3761005 0.0885104
42034 Terran Terran 0.8829303 0.7204346 0.2661030
47973 Terran Zerg 0.8664213 0.7689169 0.0999517
60255 Zerg Zerg 0.8725767 0.4645155 0.7172122
11091 Terran Protoss 0.0274038 0.6501042 0.1106777
47984 Zerg Terran 0.4440877 0.5654574 0.1720412

12 minutos antes de que termine la partida

RaceWinner RaceLoser testMinerals testGas testSupply
95 Protoss Protoss 0.7797360 0.6129011 0.4807739
11107 Protoss Terran 0.1561807 0.7230219 0.2429577
42034 Terran Terran 0.8950489 0.2192697 0.4493191
47973 Terran Zerg 0.6284384 0.5127993 0.2136227
60255 Zerg Zerg 0.8132470 0.7879576 0.8674177
11091 Terran Protoss 0.1950933 0.6251894 0.1700252
47984 Zerg Terran 0.7836043 0.4012337 0.2403364

13 minutos antes de que termine la partida

RaceWinner RaceLoser testMinerals testGas testSupply
95 Protoss Protoss 0.3406235 0.7818130 0.4492685
11107 Protoss Terran 0.5764187 0.3719522 0.4860935
42034 Terran Terran 0.7395374 0.6503106 0.5235448
47973 Terran Zerg 0.2191453 0.9497085 0.4259919
60255 Zerg Zerg 0.8956187 0.6857046 0.9577429
11091 Terran Protoss 0.5261177 0.5369677 0.2830487
47984 Zerg Terran 0.5942207 0.9276757 0.2628677

14 minutos antes de que termine la partida

RaceWinner RaceLoser testMinerals testGas testSupply
95 Protoss Protoss 0.0175834 0.2932983 0.6114117
11107 Protoss Terran 0.1842076 0.8219729 0.3642063
42034 Terran Terran 0.5864890 0.5845871 0.5711948
47973 Terran Zerg 0.1230686 0.9779441 0.5478402
60255 Zerg Zerg 0.9109972 0.6166190 0.7234548
11091 Terran Protoss 0.3875856 0.2272093 0.3733767
47984 Zerg Terran 0.7913238 0.7709760 0.4488954

15 minutos antes de que termine la partida

RaceWinner RaceLoser testMinerals testGas testSupply
95 Protoss Protoss 0.7474027 0.1362038 0.7213831
11107 Protoss Terran 0.4349421 0.8748803 0.5099997
42034 Terran Terran 0.2729950 0.6976438 0.6997657
47973 Terran Zerg 0.3079509 0.8710662 0.6030011
60255 Zerg Zerg 0.5839494 0.8685249 0.8177058
11091 Terran Protoss 0.7680007 0.2478542 0.3254254
47984 Zerg Terran 0.7466936 0.9926019 0.5798965
JJ commented 7 years ago

Genial, Antonio. Por lo pronto subir los scripts. Lo hablamos si acaso el lunes que viene.