Tänään on 28.03.2024, 16:35.

9.

Vedonlyöntiblogit. Pelivalintoja ja tarinaa rahapelien maailmasta ja vähän muualtakin.
Vastaa Viestiin
MarkusM
Jäsen
Viestit: 2187
Liittynyt: 23.03.2003, 16:54

Tuotto: -109.66 yks.

Palautus%: 95.74%

Panosten ka: 14.63 yks.

Vetoja: 176

Pisteitä: 76
Paikkakunta: Tampere

9.

Viesti Kirjoittaja MarkusM »

J Borowski relieved R Betancourt. 3-4
J Lugo doubled to left. 3-4
C Crisp sacrificed to third, J Lugo to third. 3-4
D Pedroia hit sacrifice fly to left, J Lugo scored. 4-4
D Ortiz singled to left. 4-4
J Ellsbury ran for D Ortiz. 4-4
M Ramirez homered to left, J Ellsbury scored. 6-4

Pisteitä

Pisteitä yhteensä: 0. Antamasi peukut: 0.

Seurantoja: MLB11PS & MLB10PS & MLB10 & MLB09PS & Muut

Minikommentit


lammpa-1
Avatar
Jäsen
Viestit: 2186
Liittynyt: 20.01.2007, 11:16

Tuotto: +96.12 yks.

Palautus%: 111.49%

Panosten ka: 2.56 yks.

Vetoja: 327

Pisteitä: 873

Viesti Kirjoittaja lammpa-1 »

Mahtava blogi :D

En ihan meinannut pysyä kärryillä, mutta näyttäisi BB:n yhdeksännen vuoroparin tapahtumilta...

Täytyy sanoa, että tällainen aloitus blogissa saa ainakin mielenkiinnon heräämään :wink:

Pisteitä

Pisteitä yhteensä: 0. Antamasi peukut: 0.

Minikommentit


MarkusM
Jäsen
Viestit: 2187
Liittynyt: 23.03.2003, 16:54

Tuotto: -109.66 yks.

Palautus%: 95.74%

Panosten ka: 14.63 yks.

Vetoja: 176

Pisteitä: 76
Paikkakunta: Tampere

Viesti Kirjoittaja MarkusM »

En ihan meinannut pysyä kärryillä
En näe tarvetta selitellä asiaa sen enempää, homman pointin joko ymmärtää tai ei. Ja vaikka ei ymmärtäisi niin eipä tässä mitään menetä.

Mikään ei tosin estä että tulevaisuudessa tänne tulisi myös alkuperäisestä ideasta poikkeavaa sisältöä mutta katsotaan nyt........

Pisteitä

Pisteitä yhteensä: 0. Antamasi peukut: 0.

Seurantoja: MLB11PS & MLB10PS & MLB10 & MLB09PS & Muut

Minikommentit


MarkusM
Jäsen
Viestit: 2187
Liittynyt: 23.03.2003, 16:54

Tuotto: -109.66 yks.

Palautus%: 95.74%

Panosten ka: 14.63 yks.

Vetoja: 176

Pisteitä: 76
Paikkakunta: Tampere

Viesti Kirjoittaja MarkusM »

FY Wood, 1-3 -> 4-3 ysissä.

Pisteitä

Pisteitä yhteensä: 0. Antamasi peukut: 0.

Seurantoja: MLB11PS & MLB10PS & MLB10 & MLB09PS & Muut

Minikommentit


MarkusM
Jäsen
Viestit: 2187
Liittynyt: 23.03.2003, 16:54

Tuotto: -109.66 yks.

Palautus%: 95.74%

Panosten ka: 14.63 yks.

Vetoja: 176

Pisteitä: 76
Paikkakunta: Tampere

Viesti Kirjoittaja MarkusM »

MLB on harvinaisen vittumainen sarja. Eilen pelattu Milwaukeeta ja johtavat 9. (lue: viimeisessä) vuorossa 6-2, Cubsilla kaksi paloa alla ja pesät tyhjänä. Lopputulos: [SPOILER]Cubs 7-6 voitto[/SPOILER] 1977 - 2006 vuosien välillä mlb:ssa on 1971 pelissä kotijoukkue ollut 4 juoksun tappiolla vastaavassa tilanteessa, näistä kolmessa kotijoukkue on noussut voittoon joten v huikea 1.5 %. tn kusemiselle.

Toki myös Tampa huormaili eilen kolmen juoksun johdon kolmen juoksun tappioksi ysissä.

Voittotodennäköisyydet tarjosi: http://winexp.walkoffbalk.com/expectancy/search

Pisteitä

Pisteitä yhteensä: 0. Antamasi peukut: 0.

Seurantoja: MLB11PS & MLB10PS & MLB10 & MLB09PS & Muut

Minikommentit


power
Jäsen
Viestit: 2536
Liittynyt: 10.12.2003, 15:41

Tuotto: -73.99 yks.

Palautus%: 97.85%

Panosten ka: 1.70 yks.

Vetoja: 2030

Pisteitä: 215

Viesti Kirjoittaja power »

Ja oli minullakin molemmille vedot (milwaukee+tampa). Kyllä vähän syletti, vielä juuri kun olin panoksia nostellut hyvin menneen kuukauden kunniaksi.

Toinen mikä on aina varma on se, että jatkovuoropareissa se oma joukkue ei KOSKAAN voita. Ei koskaan.

Pisteitä

Pisteitä yhteensä: 0. Antamasi peukut: 0.

Minikommentit


MarkusM
Jäsen
Viestit: 2187
Liittynyt: 23.03.2003, 16:54

Tuotto: -109.66 yks.

Palautus%: 95.74%

Panosten ka: 14.63 yks.

Vetoja: 176

Pisteitä: 76
Paikkakunta: Tampere

Viesti Kirjoittaja MarkusM »

Avataa beissikausi myös täällä blogin puolella. WBC:n avauspelejä takana ja toistaiseksi mennyt ok. Aasiassa joukkueet älyävät pelata oikein eli Kiina ja Taiwan nyhjäsi 4-1 pelissä helpon underin. Kiinan syöttöpeli näyttää turnaus turnaukselta paremmalta, vielä kun saisivat kehitettyä pari lyöjää niin seuraavassa arvokisaturneessa Kinukit voisi rankata johonkin muuhun kuin viimeiselle paikalle. Saattaa olla että Taiwan tippuu seuraavalla vuosikymmenellä neljäkseni aasian joukkueeksi.

Japani murskasi Korea, en mitenkään osannut odottaa noin juoksurikasta peliä mutta Korea aloittaja veti huonosti ja pallo pomppi todella selvästi Japanin suuntaan. Lohkovoitto näyttää käytänössä varmalta tämän jäljeen.

Mutta asiaa eli illan Hollanti DR peliin, Hollanti sai vähän turhan hyvän alun peliin kun parin DR:n errorin jälkeen ekassa vuorossa napsui 4 juoksua. DR:n lyöntipeli näytti todella heikolta, lineupissa on kovia nimimiehiä vaikka kuinka mutta Ponson ja muut keskikertaiset Hollannin syöttäjät pystyivät helposti pitämään DR:n kurissa. Jos tästä jotain hyvää pitää hakea niin helpottaa sentään Puerto Ricon lohkovoittoa ja sen vedon osumista.

Loppuun vielä valitusta välittäjien hitaudesta, vaikka seuraavan ottelun joukkueet ovat tiedossa niin saattaa kestää melkein puoli päivää että bookit saavat kertoimet julkaistua. Nyt kun pelejä on vielä usealla aikavyöhykeella niin menee vähän hankalaksi kun pitäisi olla koneella 24/7 että saisi vedot järkevästi sisään. Toisaalta Pinnaclella ainakin limitit kohdallaan näihin seuraavan päivän otteluihin.

Pisteitä

Pisteitä yhteensä: 0. Antamasi peukut: 0.

Seurantoja: MLB11PS & MLB10PS & MLB10 & MLB09PS & Muut

Minikommentit


MarkusM
Jäsen
Viestit: 2187
Liittynyt: 23.03.2003, 16:54

Tuotto: -109.66 yks.

Palautus%: 95.74%

Panosten ka: 14.63 yks.

Vetoja: 176

Pisteitä: 76
Paikkakunta: Tampere

Viesti Kirjoittaja MarkusM »

kai voisi sanoa että aika arpapeliä nämä kansainväliset beissiturnaukset.
Taisin olla vähän turhankin oikeassa, Aussit murskasivat Meksikon 17-7. Yhdessä pelissä syntyi yli 4 kertaa enemmän juoksuja kuin kaikissa aussien wbc peleissä edellisessä turnauksessa. En ole peliä vielä nähnyt joten hankala sanoa mitä tuolla tapahtui, Meksikolla oli kuitenkin paperilla melko vahva syöttöporukka.

Panama ei pysty tekemään juoksuja sitten millään eikä syöttöpeli näytä riittävän parempia joukkueita vastaan joten D lohko on toistaiseksi Puerto Ricon hallinnassa, DR voi toki nousta vielä voittaa viimeisessä pelissä.

Aasian-lohkon viimeinen peli tänään 11:30, toivottavasti Japani hoitaa lohkovoiton kotiin (ja lohkovoitto vedon), otteluvetoja ei tuohon löytynyt.

Pisteitä

Pisteitä yhteensä: 0. Antamasi peukut: 0.

Seurantoja: MLB11PS & MLB10PS & MLB10 & MLB09PS & Muut

Minikommentit


MarkusM
Jäsen
Viestit: 2187
Liittynyt: 23.03.2003, 16:54

Tuotto: -109.66 yks.

Palautus%: 95.74%

Panosten ka: 14.63 yks.

Vetoja: 176

Pisteitä: 76
Paikkakunta: Tampere

Viesti Kirjoittaja MarkusM »

http://koti.mbnet.fi/~markusm/mlb2009.csv
Tuossa koottu tulevan kauden otteluohjelma mlb:n, osassa peleistä kellonaikana 00:00:00 koska oikeaa otteluaikaa ei ollut vielä selvillä.

Enää tasan kolme viikkoa kauden alkuun!

Pisteitä

Pisteitä yhteensä: 0. Antamasi peukut: 0.

Seurantoja: MLB11PS & MLB10PS & MLB10 & MLB09PS & Muut

Minikommentit


power
Jäsen
Viestit: 2536
Liittynyt: 10.12.2003, 15:41

Tuotto: -73.99 yks.

Palautus%: 97.85%

Panosten ka: 1.70 yks.

Vetoja: 2030

Pisteitä: 215

Viesti Kirjoittaja power »

Tänään alkaa. Tuleeko Markukselta vihjeitä aikaisempien kausien tapaan? Itselläni meni viime kauden vihjeet penkin alle, mutta sain omat vedot plussan puolelle loppukaudella uusitun Mallin avulla, vihjeitä en enää silloin tietenkään kehdannut jaella.
Tälle kaudelle tuli hankittua Baseball Prospectus-kirja vähän auttamaan rankingeissa, mutta ei ole jaksanut pläräillä vielä läpi. Luultavasti suurimmaksi osaksi jatkan kuitenkin tilastojen pohjalta pelaamista. Pitää odotella pari kierrosta niin saa päivitetyt joukkeiden kokoonpanot. Sen jälkeen pöytälaatikkovetoja ja viime kaudesta viisastuneena vihjeitä vasta kun Malli näyttää plussaa.

Pisteitä

Pisteitä yhteensä: 0. Antamasi peukut: 0.

Minikommentit


MarkusM
Jäsen
Viestit: 2187
Liittynyt: 23.03.2003, 16:54

Tuotto: -109.66 yks.

Palautus%: 95.74%

Panosten ka: 14.63 yks.

Vetoja: 176

Pisteitä: 76
Paikkakunta: Tampere

Viesti Kirjoittaja MarkusM »

Tänään alkaa. Tuleeko Markukselta vihjeitä aikaisempien kausien tapaan?
Ainakin ensimmäinen viikko on minun osaltani hiljaista, olen noin viikon normaaleista aikatauluista jäljessä joten en saa julkaistua mitään arvioita kuin aikaisintaan tulevana viikonloppuna.

Muutenkin tulossa kiireinen kevät muiden projektien osalta eikä motivaatio ole enää kovin korkealla edellisen kausien "menestyksen" jälkeen joten päivittäin jaksan tuskin arvioita tehdä ja puskea taululle. Ehkä 2-3 kertaa viikossa.
tselläni meni viime kauden vihjeet penkin alle, mutta sain omat vedot plussan puolelle loppukaudella uusitun Mallin avulla, vihjeitä en enää silloin tietenkään kehdannut jaella.
Sinulla meni sentään oikein päin, itse olin vielä voitolla viimekaudesta ennen syyskuuta mutta sitten tulikin isolla hutia koko kuukausi. Täydellistä seurantaan en ole vielä uskaltanut päivittää mutta pakkaselle meni.

Pisteitä

Pisteitä yhteensä: 0. Antamasi peukut: 0.

Seurantoja: MLB11PS & MLB10PS & MLB10 & MLB09PS & Muut

Minikommentit


power
Jäsen
Viestit: 2536
Liittynyt: 10.12.2003, 15:41

Tuotto: -73.99 yks.

Palautus%: 97.85%

Panosten ka: 1.70 yks.

Vetoja: 2030

Pisteitä: 215

Re: 9.

Viesti Kirjoittaja power »

Ei ollut matsiin itselläni vetoja, mutta sopinee tähän blogiin. Ihan ok nousu 10-0 tappiosta.

Tampa Bay@Cleveland 10-11
4th R Garko homered to left center, M DeRosa scored. 10-2
8th M LaPorta grounded into double play, third to second to first, S Choo scored, R Garko out at second, M DeRosa to third. 10-3
8th B Francisco reached on infield single to third, M DeRosa scored. 10-4
9th S Choo grounded into fielder's choice to shortstop, G Sizemore scored on throwing error by shortstop R Brignac, J Peralta safe at third on throwing error by shortstop R Brignac. 10-5
9th R Garko homered to left, J Peralta and S Choo scored. 10-8
9th G Sizemore walked, A Cabrera scored, B Francisco to third, J Carroll to second. 10-9
9th V Martinez singled to center, B Francisco and J Carroll scored, G Sizemore to second. 10-11

Pisteitä

Pisteitä yhteensä: 0. Antamasi peukut: 0.

Minikommentit


MarkusM
Jäsen
Viestit: 2187
Liittynyt: 23.03.2003, 16:54

Tuotto: -109.66 yks.

Palautus%: 95.74%

Panosten ka: 14.63 yks.

Vetoja: 176

Pisteitä: 76
Paikkakunta: Tampere

Re: 9.

Viesti Kirjoittaja MarkusM »

All Star tauko on varmaan sopiva aika päivitellä taas 9. blogia. Muistaakseni olen viimeksi postaillut tänne arviota ~2 kuukautta sitten, normaalista poiketen huono tulos ei ole vaikuttanut arvioiden postaamiseen vaan tauko on jotunut puhtaasti muista kiireistä. Aika monen vuoden kokemuksella pitäisi jo tietää että mlb kauden läpivetäminen on normaalistikkin aika raskasta ja käytänössä täysin mahdotonta jos samalle ajanjaksolle sattuu helvetisti työkiireitä ja useita aktiivia harrastusprojekteja. Vaikka omat arviot ovat käytönössä 95% konearvioita niin lopun 5% eli loukkaantumisten, kokoonpanojen yms joukkurankkien päivitykset sekä itse otteluiden ja vetojen klikkailu vie kuitenkin liikaa aikaa.

Nykyinen mlb-koneeni on ollut melkein samassa muodossa 3-4 vuotta ja luulen että tämä kausi jää nykyisellä koneella viimeiseksi. Uuden järjestelmän suunnittelu on hyvin alustavassa vaiheessa ja on aivan varmaa että 2010 kauden alkuun mitään ei ole vielä valmista mutta ehkä joskus tuokin systeemi näkee päivänvalon. Jos innostun niin saatan blogittaa enemmänkin uuden järjestelmän suunnittelusta ja toteutuksesta, ihan pienistä teknisistä yksityiskohdista tilastollisiin tutkimuksiin. Ottaen huomioon vanhat tulokset niin kovin suurien tai tuottavien salaisuuksien paljastamista ei tarvitse pelätä.

Jos jotain hyvää pitää kaudesta löytää niin 100% konearvioilla vedetyt omat spessut ovat sentään menneet ihan hyvin, niihin pariin firmaan jotka vielä tarjoavat jonkinlaisia järkeviä erikoisvetoja ei tosin tunnu puolta kautta pitempään saavan vedää ilman että kohteet häviävät listoilta tai tilille napsuu tiukat limitit.


Liigasta voisi yleisesti sanoa että huiman tasaista on taas ollut, jokaisessa divarissa on vähintään 3 joukkuetta joilla on vielä yli 10% mahdollisuudet pudotuspeleihin. Siirtomarkkinoista on tulossa kiintoisat kun 19/30 joukkuetta yrittää parantaa asemiaan.

Pisteitä

Pisteitä yhteensä: 0. Antamasi peukut: 0.

Seurantoja: MLB11PS & MLB10PS & MLB10 & MLB09PS & Muut

Minikommentit


MarkusM
Jäsen
Viestit: 2187
Liittynyt: 23.03.2003, 16:54

Tuotto: -109.66 yks.

Palautus%: 95.74%

Panosten ka: 14.63 yks.

Vetoja: 176

Pisteitä: 76
Paikkakunta: Tampere

Re: 9.

Viesti Kirjoittaja MarkusM »

C Park relieved P Martinez. 1 0
C Blake singled to left. 1 0
J Pierre ran for C Blake. 1 0
R Belliard reached on bunt single to first, J Pierre to second. 1 0
J Pierre ran for C Blake. 1 0
R Belliard reached on bunt single to first, J Pierre to second. 1 0
J Pierre ran for C Blake. 1 0
R Belliard reached on bunt single to first, J Pierre to second. 1 0
R Martin grounded into fielder's choice to third, R Belliard out at second, J Pierre to third, J Pierre scored on throwing error by second baseman C Utley. 1 1
J Thome hit for H Kuo. 1 1
S Eyre relieved C Park. 1 1
J Thome singled to right, R Martin to third. 1 1
J Castro ran for J Thome. 1 1
R Madson relieved S Eyre. 1 1
R Furcal walked, J Castro to second. 1 1
M Kemp struck out swinging. 1 1
J Happ relieved R Madson. 1 1
A Ethier walked, R Martin scored, J Castro to third, R Furcal to second. 1 2
C Durbin relieved J Happ. 1 2
M Ramirez popped out to third. 1 2
Illan kysymysmerkit:
1. Miksi keskenkuntoinen ja yleisesti huono Park tuodaan syöttämään tuossa tilanteessa?
2. Miksi ei Utleyn kasetti taaskaan kestä paineessa vaan virheitä tulee liukuhihnalta
3. Koska Manuel oppii edes alkeellisen bp:n käytön?

Pisteitä

Pisteitä yhteensä: 0. Antamasi peukut: 0.

Seurantoja: MLB11PS & MLB10PS & MLB10 & MLB09PS & Muut

Minikommentit


MarkusM
Jäsen
Viestit: 2187
Liittynyt: 23.03.2003, 16:54

Tuotto: -109.66 yks.

Palautus%: 95.74%

Panosten ka: 14.63 yks.

Vetoja: 176

Pisteitä: 76
Paikkakunta: Tampere

Re: 9.

Viesti Kirjoittaja MarkusM »

MarkusM kirjoitti:Nykyinen mlb-koneeni on ollut melkein samassa muodossa 3-4 vuotta ja luulen että tämä kausi jää nykyisellä koneella viimeiseksi. Uuden järjestelmän suunnittelu on hyvin alustavassa vaiheessa ja on aivan varmaa että 2010 kauden alkuun mitään ei ole vielä valmista mutta ehkä joskus tuokin systeemi näkee päivänvalon. Jos innostun niin saatan blogittaa enemmänkin uuden järjestelmän suunnittelusta ja toteutuksesta, ihan pienistä teknisistä yksityiskohdista tilastollisiin tutkimuksiin. Ottaen huomioon vanhat tulokset niin kovin suurien tai tuottavien salaisuuksien paljastamista ei tarvitse pelätä.
Nyt kun aikataulut alkaa hieman helpottaa kiireisen loppuvuoden jälkeen niin voisi yrittää aktivoida tätäkin projektia. Alustavana tarkoituksena on siis lähteä kehittämään uutta mlb-konetta enemmän ja vähemmän tyhjästä ja samalla blogittaa projektin etenemisestä sekä teknisestä että vedonlyönnin näkökulmasta. Tänne kirjoittelun tarkoituksena on lähinnä asettaa edes jonkinlaista aikataulupainetta edetä projektissa sekä motivaatiota, asia sinänsä tuskin kiinnostaa kovinkaan montaa foorumin lukijaa.

Yritän pitää viestien sisällön edes suunnilleen 50/50 järjestelmän tekniikan ja varsinaisen vedonlyöntiteorian välillä. Välillä saattaa tosin tulla postauksia joissa tekniikka ottaa vallan. Etenemisjärjestys on sellainen että yritän saada melko nopeasti peruslaskennan ja järjestelmän pyörimään johon sitten ajan kanssa lisättäisiin uusia tulkintoja, lisätoimintoja ja tilastokorjauksia.

Jos aloittaisi avaamalla niitä toiminallisia vaatimuksia joita järjestelmällä on:
-Automaattinen päivittäisen data hallinta
Kaikki päivittäin muuttuva data kuten listatut syöttäjät, kertoimet, edellisien pelien tulokset ja tilastot yms. päivittyvät automaattisesti taustalla ilman että käyttäjän tarvitsee syöttää mitään arvoja käsin tai edes käynnistää noutoa.

-Pelin arvioiden laskenta automaattisesti
Pelien arviot päivittyvät automaattisesti taustalla aina kun otteluun vaikuttavat tekijät muuttuvat(Esim syöttäjät vaihto tai edellisen ottelun päättyminen). Automaattisesti tehtyjä arvioita voi tarvittaessa muokata käsin.

-Pelivalinnat ja seuranta päivitys
Pelivalinnat, pelivalintojen julkaisu, seuranta ja seurannan julkaisu päivittyvät jatkuvasti ilman käyttäjän toimia. Myös erikoistilanteet kuten syöttäjät vaihdokset, pelien peruuntuminen yms. huomioidaan

-Useiden eri laskentamallien tuki
Yksittäisen ottelun tai vetotyypin arviot voi tarvittaessa laskea usealla eri menetelmällä ja verrata näiden tuloksia. Jos uusia arviomenetelmiä toteutetaan kesken kauden niin myös historiassa olevat pelit on oltava mahdollista laskea uudestaan vertailuun.

-Tuki live-vedonlyönnin arvioiden laskemiselle

-Tuki erikoisvetojen laskemiselle

-Järjestelmän helppo laajennettavuus
Tuki esimerkiksi WebService, dll yms laajennuksille jotta kesken kauden voidaan nopeasti kehittää vaihtoehtoisia laskentamalleja, uusia erikoisvetoja yms. ilman että itse ohjelmaa tarvitsee lähteä muokkaamaan.

-Loukkaantumisten automaattinen käsittely

-Treidien ja minor-league siirtojen huomioiminen

Osa näistä on tietenkin turhan korkealentoisia eikä sellaisenaan välttämättä toteudu tai ainakaan kovin nopeasti.

Tekninen alusta tulee olemaan seuraavan, tietokantana SQL-Server 2008 Express(Kunhan tietomassat kasvavat niin tästä siirrytään sujuvasti vastaavan tuotteen kaupallisiin versioihin). Itse sovellus tulee pääasiassa olemaan selainpohjainen asp.net 3.5:lla toteuttena. Osa taustapalveluista kuten ajastettuna tapahtuvat tilastoajot yms. toteutetaan .Net 3.0 Windows serviceinä tai sovelluspalvelimella pyörivinä desktop softina.

Kertoimien hallinta ja haku tapahtuu ulkoisessa järjestelmässä jonka rajapinnan läpi haetaan kerroindataa mlb-laskennan käyttöön.

Katsotaan miten projekti lähtee liikkeelle ja kuinka ehdin/jaksan postailla tänne mutta eiköhän ainakin jotain tapahdu seuraavan parin viikon sisällä. Seuraavassa viestissä voisi avata ainakin laskentamallin perusideaa ja kantarakennetta.

Pisteitä

Pisteitä yhteensä: 0. Antamasi peukut: 0.

Seurantoja: MLB11PS & MLB10PS & MLB10 & MLB09PS & Muut

Minikommentit


power
Jäsen
Viestit: 2536
Liittynyt: 10.12.2003, 15:41

Tuotto: -73.99 yks.

Palautus%: 97.85%

Panosten ka: 1.70 yks.

Vetoja: 2030

Pisteitä: 215

Re: 9.

Viesti Kirjoittaja power »

Erittäin kiinnostava projekti.
MarkusM kirjoitti: Nyt kun aikataulut alkaa hieman helpottaa kiireisen loppuvuoden jälkeen niin voisi yrittää aktivoida tätäkin projektia. Alustavana tarkoituksena on siis lähteä kehittämään uutta mlb-konetta enemmän ja vähemmän tyhjästä ja samalla blogittaa projektin etenemisestä sekä teknisestä että vedonlyönnin näkökulmasta.
Tarkoittaako tyhjästä aloittaminen siis täysin eri menetelmiin perustuvaa laskentaa? Sinullahan on odotusarvot olleet aina melko realistisia markkinaan nähden, joten tuskin siellä mitään kovin pahasti on pielessä ollut. Lisäksi omat kokemukseni samanlaisesta projektista olivat se, että mitä monimutkaisemmiksi kehitin systeemejäni pbp-datan ja kaikkien eri osatekijöiden osalta, sitä huonompia olivat tulokset. Tosin MLB:ssä on minulla aina tulokset tulleet hirveissä putkissa, joten ehkä minulle osui vain se huono putki juuri testausvaiheissa.
-Pelivalinnat ja seuranta päivitys
Pelivalinnat, pelivalintojen julkaisu, seuranta ja seurannan julkaisu päivittyvät jatkuvasti ilman käyttäjän toimia.
Tämä olisikin kiva. Olen odotellut milloin saisit viime kauden seurannan päivitettyä. Muistaakseni loppukausi meni hyvin, joten plussalle taisi päätyä? Se ei ole mikään huono lähtökohta uudellekaan systeemille, joten ihan tyhjästä ei ehkä kannata aloittaa.
-Useiden eri laskentamallien tuki
Yksittäisen ottelun tai vetotyypin arviot voi tarvittaessa laskea usealla eri menetelmällä ja verrata näiden tuloksia. Jos uusia arviomenetelmiä toteutetaan kesken kauden niin myös historiassa olevat pelit on oltava mahdollista laskea uudestaan vertailuun.
Oletko ajatellut lähestyä laskentaa eri tulosvaihtoehtojen todennäköisyyksien kautta. Silloin saa kerralla suurimman osan vetomuodoista laskettua samalla menetelmällä ja riippuvuussuhteetkin eri vetomuotojen suhteen tulee automaattisesti otettua huomioon. Itse olen saanut simulointimallinnuksella tulosjakaumat ihan nätisti, lähtöarvoissa vaan on hiomista aika paljon.
-Loukkaantumisten automaattinen käsittely
Mitenkäs tämä onnistuu? Itselläni loukkaantumiset+kokoonpanojen tarkastelu vie selvästi eniten aikaa, ja kun matseja on 15 päivässä niin meinaa tuskastua. Varsinkaan kun ei siitä tunnu mitään hyötyä olevan, paitsi ehkä pullpenin kohdalla. Lopulliset kokoonpanoarvauksetkin menee yleensä silti pieleen ja lähes samaan pääsee, kun käyttää vain edellisen matsin rotaatiota.

Pisteitä

Pisteitä yhteensä: 0. Antamasi peukut: 0.

Minikommentit


MarkusM
Jäsen
Viestit: 2187
Liittynyt: 23.03.2003, 16:54

Tuotto: -109.66 yks.

Palautus%: 95.74%

Panosten ka: 14.63 yks.

Vetoja: 176

Pisteitä: 76
Paikkakunta: Tampere

Re: 9.

Viesti Kirjoittaja MarkusM »

power kirjoitti: Tarkoittaako tyhjästä aloittaminen siis täysin eri menetelmiin perustuvaa laskentaa? Sinullahan on odotusarvot olleet aina melko realistisia markkinaan nähden, joten tuskin siellä mitään kovin pahasti on pielessä ollut. Lisäksi omat kokemukseni samanlaisesta projektista olivat se, että mitä monimutkaisemmiksi kehitin systeemejäni pbp-datan ja kaikkien eri osatekijöiden osalta, sitä huonompia olivat tulokset. Tosin MLB:ssä on minulla aina tulokset tulleet hirveissä putkissa, joten ehkä minulle osui vain se huono putki juuri testausvaiheissa.
Menetelmät pysyvät ainakin perusidealtaa samana mutta kun aloitan puhtaalta pöydältä niin tutkin ja tarkistan kaikki laskennan välivaiheet uudestaan ilman että siirrän mitään laskennan osa-alueita vanhasta systeemistä itsestäänselvyytenä.

On mahdollista että mitä monimutkaisempi ja läpinäkymättömämpi systeemi on niin se tuottaa heikompaa tulosta tai ainakin virheiden analysointi on hankalampaa mutta pidetään ainakin toistaiseksi tavoitteet korkealla eikä lähdetä vielä yksinkertaistamaan hommaa.
Tämä olisikin kiva. Olen odotellut milloin saisit viime kauden seurannan päivitettyä. Muistaakseni loppukausi meni hyvin, joten plussalle taisi päätyä? Se ei ole mikään huono lähtökohta uudellekaan systeemille, joten ihan tyhjästä ei ehkä kannata aloittaa.
Ai niin, tuokin on unohtunut. Täytyy yrittää päivittää tässä lähiaikoina. Seurannan ja vetojen päivitys on ehkä paras esimerkki siitä minkälaisen manuaalisen työn haluan poistaa kokonaan, vanhassakin systeemissä seuranta pyöri melkein automaattisesti mutta tuossakin piti säätää syöttäjävaihdoksien, erikoisvetojen, otteluiden peruutusten yms. sälän kanssa niin että seurannan päivitys meni usein jäljessä.
Mitenkäs tämä onnistuu? Itselläni loukkaantumiset+kokoonpanojen tarkastelu vie selvästi eniten aikaa, ja kun matseja on 15 päivässä niin meinaa tuskastua. Varsinkaan kun ei siitä tunnu mitään hyötyä olevan, paitsi ehkä pullpenin kohdalla. Lopulliset kokoonpanoarvauksetkin menee yleensä silti pieleen ja lähes samaan pääsee, kun käyttää vain edellisen matsin rotaatiota.
Loukaantumiset tulee olemaan iso haaste enkä ole täysin varma miten tuo onnistuu, todennäköisesti tuo tulee menemään sillä tasolla että dl-keikat systeemi pystyy haistelemaan itse ja poimimaan todennäköisen korvaajan mutta yksittäisten päivien loukkaantumiset tai epäsäännölliset lepuutukset joutuu päivittämään käsin.

Mutta tästä tulevan pelin lineupin arvailusta paljon lisää kunhan pääsen sen tarkempaa suunnitteluun asti.
Oletko ajatellut lähestyä laskentaa eri tulosvaihtoehtojen todennäköisyyksien kautta. Silloin saa kerralla suurimman osan vetomuodoista laskettua samalla menetelmällä ja riippuvuussuhteetkin eri vetomuotojen suhteen tulee automaattisesti otettua huomioon. Itse olen saanut simulointimallinnuksella tulosjakaumat ihan nätisti, lähtöarvoissa vaan on hiomista aika paljon.
Jos et hae simuloinnilla itse pelitilanteiden mallinnusta vaan vuoroparien juoksumäärien simulointia esim koko pelin juoksuodotusarvojen kautta niin aikalailla samoilla periaateilla olen suunnitellut tekeväni lähtöarvioiden muuttamisen prosenteiksi.

Jos taas puhut varsinaisen pelinkulun simuloinnista niin ainakaan toistaiseksi tuota ei ole tarkoitus toteuttaa, joskus olen tuollaista pyöritellyt ja ehkä se tulee vaihtoehtoisena laskentatapana myöhemmin mutta ei näin alkuvaiheessa.

Tästä voisikin hyvin jatkaa kirjoittamalla pikaisen kuvauksen perusarvioiden suunnitellusta laskentalogiikasta. Otteluarvioissa muodostetaan ensin juoksuodotusarvot joukkueille joiden perusteella laskentaan ml, tasoitus, u/o yms. arviot.

Juoksuodotusarvojen laskenta tulisi yksinkertaistettuna menemään seuraavan mallin tyylisesti:
1. Muodostetaan joukkueelle lineup projektio jossa arvioituna kuinka monta PA:ta kukakin pelaaja saa ja missä tilanteissa. Lineup projektion muodostuksessa käytetään kauden alussa arvioitua joukkueen oletuslineuppia, edellisten pelien peluutuksia, mahdollista l/r matchuppia, pelaajien lepuutuksia, personal catcheraita ja loukkaantumisia. Avaan tätä vaihetta tarkemmin myöhemissä viesteissä.

2. Arvioidun lineupin perusteella muodostetaan lyöntipelaajien perusteella arvio kuinka monta juoksua joukkue tekisi liigan keskivertoa syöttäjää vastaan neutraalilla stadionilla. Lyöntipelaajien "voimalukuina" käytetään jonkin tarjoalla olevan player projection lähteen tietoja(Esim: BP, Zips, Marcel jne..) joita korjataan kauden sisällä pelaajien todellisten suoritusten mukaan. Projektioista käytetään nimenomaan stadion neutraaleja lukuja.

3. Aloittavan syöttäjän "voimaluvut" tulevat pääasiassa projectioista(Esim: BP, Zips, Marcel jne..) jota korjataan levon, mahdollisen loukkaantumisen ja kauden edeltävien pelien tilastojen mukaan. Syöttäjälle arvioidaan myös syötettyjen vuorojen määrä jossa huomioidaan vastustajat lyöntiteho, stadioni, syöttäjät historia ja sää.

4. Bullpenin tapauksessa tehdään lineup projektion kaltainen pelaajien arvioitu käyttö mutta yksinkertaistettuna. Riippuen siitä kuinka pitkälle aloittavan syöttäjän oletetaan syöttävän, onko kyseessä tasainen/epätasainen peli, koti/vieras saadaan kaikille bp:n syöttäjille arviot.

5. Yhdistetään edellisistä vaiheista saadut luvut joukkueet juoksuodotusarvoksi neutraalilla stadionilla. Yksinkertainen esimerkkikaava:
JuoksuOA = (LyöntipeliJuoksuOA / LiiganKeskiarvoJuoksumäärä) * (AloittajanJuoksuOA * (AloittajanArvioidutSyöttövuorot / 9)) + (BullpenJuoksuOA * (BullpeninArvioidutSyöttövuorot / 9)) / LiiganKeskiarvoJuoksumäärä)

6. Huomioidaan stadion korjaus. Tämän vaiheen oikeus toteuttamisessa on vielä paljon tutkittavaa, aikaisemmin olen huomioinut stadionilta päivä/ilta pelien erot, edun l/r lyöjille sekä tuuli ja lämpötilaolot mutta kuten muutkin monimutkaisemmat asiat niin park factorien käsittely täytyy tutkia ja toteuttaa täysin uudestaan tähän systeemiin jotta vanhojen järjestelmien virheistä ei jäisi turhaa painolastia.

Yksinkertaisuuden vuoksi en mieti vielä tässä vaiheessa fieldingin huomiointia sekä kaikkia muita pikku hienouksia, katsotaan myöhemmin miten nuo saadaan mukaan laskentaan.

Siihen miten juoksuodotusarvoista saadaan % arviot eri pelimuotoihin palataan myöhemmin koska kyseessä ei ole mitään erityisen simppeli juttu.

Edellisen viestin jälkeen päädyin lisäämään systeemin vaatimuksiin tuen käyttäjähallinalle. Eli tarvittaessa systeemiin voi luoda useita eri käyttäjätilejä eri oikeuksin. Subjektiivinen data kuten arviot, vedot yms. linkittyy käyttäjän alle joten usea käyttäjä voi tehdä toisista riippumattomia arviota.


Kantarakenne on vielä pahasti vaiheessa joten sitä en pääse julkaisemaan vielä ~viikkoon.

Pisteitä

Pisteitä yhteensä: 0. Antamasi peukut: 0.

Seurantoja: MLB11PS & MLB10PS & MLB10 & MLB09PS & Muut

Minikommentit


MarkusM
Jäsen
Viestit: 2187
Liittynyt: 23.03.2003, 16:54

Tuotto: -109.66 yks.

Palautus%: 95.74%

Panosten ka: 14.63 yks.

Vetoja: 176

Pisteitä: 76
Paikkakunta: Tampere

Re: 9.

Viesti Kirjoittaja MarkusM »

Kantarakenne on vielä pahasti vaiheessa joten sitä en pääse julkaisemaan vielä ~viikkoon.
Tässä linkki nykyiseen tietokantakaavioon. Tuosta ei suoraan näe mitkä kentät linkittyvät taulujen välillä mutta idea varmasti selvää kenttien nimien kautta. Jostain syystä kuvakaappaus Management Studiosta ei onnistunut virheettömästi joten kuvassa on pari "roskaa".

Karkealla tasolla taulut voisi jakaa toteutuneiden tilastojen tallentamiseen(mlb_games*), rankkien ja projektioiden käsittelyyn (projections, depth), käyttäjähallintaan ja eri laskentamallien tulosten erotteluun(users, sources, estimations, picks, lineup projections) sekä yleisiin perustietoihin (teams, players, notes jne.)

Tämä kantarakenne pitäisi ideatasolla täyttää kaikki toiminalliset vaatimukset. Jätän vielä auki aletaanko tietokantaan säilöä tilastoja yksittäisten pelitilanteiden tarkkuudella mutta kannassa on valmiudet myös tuolle. Käytännön ongelmana tuossa on tietojen parserointi, kauden sisällä tehtävissä tilastopäivityksissä pelitilanteiden tiedosto pitäisi päätellä "G Norton singled to center, G Blanco to third." tyylisistä teksteistä eikä dataa saisi valmiina koneellisessa muodossa. Kauden jälkeen pelitilanteet olisi luettavissa helposti retrosheetin event-tiedostoista.

Koska kannassa ei ole kovinkaan montaa yhteenvetotaulua niin saattaa olla osa tilastohauista game_plays ja sen alataulujen kautta menee liian hitaaksi. Tarvittaessa lisätään tuohon jokunen yhteenvetotaulu tai näkymä jonne kootaan otteluiden, pelaajien tai joukkueiden tilatoja nopeammin käsiteltävässä muodossa.


Seuraavaksi listalla on ensimmäisen boxscore lukupalikan tekeminen jotta kantaan saataisiin sen verran dataa edelliskausilta että sen päällä pystyisi testailemaan laskennan eri osa-alueita.

Pisteitä

Pisteitä yhteensä: 0. Antamasi peukut: 0.

Seurantoja: MLB11PS & MLB10PS & MLB10 & MLB09PS & Muut

Minikommentit


MarkusM
Jäsen
Viestit: 2187
Liittynyt: 23.03.2003, 16:54

Tuotto: -109.66 yks.

Palautus%: 95.74%

Panosten ka: 14.63 yks.

Vetoja: 176

Pisteitä: 76
Paikkakunta: Tampere

Re: 9.

Viesti Kirjoittaja MarkusM »

Seuraavaksi listalla on ensimmäisen boxscore lukupalikan tekeminen jotta kantaan saataisiin sen verran dataa edelliskausilta että sen päällä pystyisi testailemaan laskennan eri osa-alueita.
Pitkästä aikaa hieman tilanneraporttia, nyt alkaa toteutuneen ottelun tilastojen lukupalikka olla tarpeeksi hyvässä kunnossa jotta sen läpi voi alkaa ajamaan enemmäkin pelejä ja dataa. Lähdin liikkeelle mlb.comin datan luvusta koska täältä kautta saa edelliset pari kautta tarkassa muodossa ja tulevilla kausilla ottelun data heti pelin päättymisen jälkeen. Retrosheetin eventfiluista vastaava lukupalikka tehdään myöhemmin jotta kantaan saadaan myös vanhempia kausia mutta toistaiseksi projekti voi edetä myös ilman noita.

MLBcomin luku tulkitsee oikein 99% pelitilanteista mukaan lukien syöttö ja pbp tiedot, joillekin erikoistilanteille ei ole vielä tehty tukea mutta noilta osin täydennetään lukua myöhemmin.

Kuva

Käytännön tasolla tilastojen luku menee GameDataUpdateI interfacen läpi josta periytyvät luokat toteuttavat abstraktit metodit get_games ja read_full_game. GameDataUpdateI tarjoaa myös eri lukutoteutuksille yleisiä apumetodeita kuten checkadd_player pelaajien tarkistamiseksi/lisäämiseksi, add_msg viestien logittamiseen jne.

GameDataUpdateI sisäinen toteutus huolehtii siitä että tilastojen lukeminen onnistuu sekä uusille peleille(vanhojen kausien massaluku) että vanhoille peleille tulosten selviämisen jälkeen(luku kauden sisällä). Lukuluokat eivät itse vastaa tietojen tallentamisesta kantaan vaan se tapahtuu keskitetysti GameDataUpdateI:n sisällä, lukuluokat osaavat myös kertoa profiilin(mlb_boxscore_profile) avulla mitä tietovat ne pelistä kertovat joten samaan peliin voidaan hakea dataa useasta eri paikasta täydentäen toisiaan.

Kaikkia tietoja käsitellään ja säilötään LINQ to SQL kautta luoduissa entiteettiluokissa, koska kantarakenne on jo käytänössä valmis niin tällä tavalla sai todella helposti ja nopeasti tietoluokat oikeilla propertyilla käyttöön. Parissa tapauksessa sisäänluvussa on tarvetta laajentaa väliaikaisesti linq entiteettejä ja tämä tehtiin partial classilla, esim:

Koodi: Valitse kaikki

partical class mlb_games
{
	public string BoxUrl { get; set; }
}
Itse MLBcom luku on aika perus xml-käsittelyä ja jonkin verran regexeilla tiedon parserointia. PBP dataan lukuunottamatta kaikki tieto on luettavissa suoraan xml-rakenteesta ilman parseointia, pbp:ssa joutuu esim pelaajavaihtojen, sb/cs, errorien jne. kanssa ajaan regexin läpi että saa kaiken datan talteen.

Tässä vielä pari snipsettiä koodista jos edes yhtä lukijaa kiinnostaisi tarkemmin myös tekninen puoli.

Koodi: Valitse kaikki

MLBComC.cs:
private void read_players()
        {
            string strUrl = mGame.BoxUrl + "players.xml";

            XmlTextReader reader = new XmlTextReader(strUrl);
            reader.WhitespaceHandling = WhitespaceHandling.None;

            long iActiveTeam = 0;

            while (reader.Read())
            {
                if ((reader.Name == "team") && (reader.NodeType == XmlNodeType.Element))
                {
                    iActiveTeam = (reader.GetAttribute("type") == "away" ? mGame.Team1 : mGame.Team2);
                }

                if ((reader.Name == "player") && (reader.NodeType == XmlNodeType.Element))
                {
                    mlb_player player = checkadd_player(reader.GetAttribute("id"),"MLBCOM",reader.GetAttribute("first"),reader.GetAttribute("last"),"MLBCOM",reader.GetAttribute("position"),(reader.GetAttribute("position") == "P" ? reader.GetAttribute("rl") : ""),(reader.GetAttribute("position") != "P" ? reader.GetAttribute("rl") : ""));
                    player.BoxName = reader.GetAttribute("boxname");
                    player.Team = iActiveTeam;
                    mPlayers.Add(player);
                }

                if ((reader.Name == "coach") && reader.NodeType == XmlNodeType.Element)
                {
                    mlb_manager manager = checkadd_manager(reader.GetAttribute("id"), "MLBCOM", reader.GetAttribute("first"), reader.GetAttribute("last"));
                    mlb_game_manager game_manager = new mlb_game_manager
                    {
                        Manager = manager.Id,
                        Team = iActiveTeam,
                        Role = reader.GetAttribute("position")
                    };
                    mGame.mlb_game_managers.Add(game_manager);
                }
            }
            reader.Close();
        }		

Koodi: Valitse kaikki

MLBComC.cs:
        private void parse_atbat(XmlTextReader reader, int iInning)
        {
            mlb_game_play_field last_field = get_last_field(miPitchingTeam);
            string strEvent = reader.GetAttribute("event");

            mActivePlay = new mlb_game_play
            {
                Inning = Convert.ToByte(iInning),
                Team = miBattingTeam,
                Outs = Convert.ToByte(reader.GetAttribute("o")),
                Balls = Convert.ToByte(reader.GetAttribute("b")),
                Strikes = Convert.ToByte(reader.GetAttribute("s")),
                Score1 = miActiveScore1,
                Score2 = miActiveScore2,
                PAPlayer = find_player(reader.GetAttribute("batter"),"MLBCOM",0).Id,
                PAPlayerHand = reader.GetAttribute("stand"),
                PPlayer = find_player(reader.GetAttribute("pitcher"), "MLBCOM",0).Id,
                Field = last_field.Id,
                Runner1 = miRunner1,
                Runner2 = miRunner2,
                Runner3 = miRunner3,
                EventLine = reader.GetAttribute("des"),
                Leadoff = (mbLeadoff ? 1 : 0),
                Pinchhit = 0,   //nan
                Pos = "",       //nan
                LPos = 0,       //nan
                EventType = strEvent,
                BatterEvent = 1,
                Ab = 1,
                Hit = ((strEvent == "Single" || strEvent == "Double" || strEvent == "Triple" || strEvent == "Homerun") ? 1 : 0),
                SacHit = (strEvent == "Sac Bunt" || strEvent == "Sac Fly" ? 1 : 0),
                SacFly = (strEvent == "Sac Fly" ? 1 : 0),
                OutsMade = 0,   //runner post
                DpTp = 0,   //runner post
                Rbi = 0,    //runner post
                WildPitch = 0,
                PassedBall = 0,
                FieldedByPos = "",
                BBType = 0,        //nan
                Bunt = (strEvent == "Sac Bunt" ? 1 : 0),
                HitLoc = "",    //nan
                HitLocX = 0,    //nan
                HitLocY = 0,    //nan
                EventNum = Convert.ToInt32(reader.GetAttribute("num")),
                BoxSource = "MLBCOM"
            };

            if (reader.GetAttribute("home_team_runs") != null)
            {
                miActiveScore1 += Convert.ToInt32(reader.GetAttribute("away_team_runs"));
                miActiveScore2 += Convert.ToInt32(reader.GetAttribute("home_team_runs"));
            }

            mGame.mlb_game_plays.Add(mActivePlay);

            while (reader.Read())
            {
                if (reader.Name == "atbat" && reader.NodeType == XmlNodeType.EndElement)
                {
                    //postupdate:
                    ///pitch sequence
                    mActivePlay.PitchSequense = "";
                    foreach (mlb_game_play_pitch pitch in mActivePlay.mlb_game_play_pitches)
                    {
                        mActivePlay.PitchSequense += pitch.PitchResult;
                    }

                    mbLeadoff = false;
                    return;
                }

                bool bRunnerFromHPTo = false;
                if (reader.Name == "runner" && reader.NodeType == XmlNodeType.Element)
                {
                    mlb_game_play_runner_movement runner = new mlb_game_play_runner_movement
                    {
                        Player = find_player(reader.GetAttribute("id"),"MLBCOM",0).Id,
                        Type = "Adv",
                        FromBase = (reader.GetAttribute("start") == "" ? 0 : Convert.ToInt32(reader.GetAttribute("start").Replace("B",""))),
                        ToBase = (reader.GetAttribute("end") == "" ? 4 : Convert.ToInt32(reader.GetAttribute("end").Replace("B", "")))
                    };

                    if (reader.GetAttribute("end") == "" && reader.GetAttribute("score") == null)
                    {
                        runner.ToBase = 5;
                        mActivePlay.OutsMade++;
                    }

                    if (reader.GetAttribute("start") == "")
                    {
                        bRunnerFromHPTo = true;
                    }

                    if (reader.GetAttribute("event") != null && reader.GetAttribute("event").IndexOf("Triple Play") > -1)
                    {
                        mActivePlay.DpTp = 2;
                    }

                    if (reader.GetAttribute("event") != null && reader.GetAttribute("event").IndexOf(" DP") > -1)
                    {
                        mActivePlay.DpTp = 1;
                    }

                    mActivePlay.mlb_game_play_runner_movements.Add(runner);


                    if (reader.GetAttribute("rbi") != null && reader.GetAttribute("rbi") == "T")
                    {
                        mActivePlay.Rbi++;
                    }

                    switch (runner.ToBase)
                    {
                        case 1:
                            miRunner1 = runner.Player;
                            break;

                        case 2:
                            miRunner2 = runner.Player;
                            break;

                        case 3:
                            miRunner3 = runner.Player;
                            break;

                    }
                }

                if (bRunnerFromHPTo)
                {
                    mActivePlay.OutsMade++;
                }

                if (reader.Name == "pitch" && reader.NodeType == XmlNodeType.Element)
                {
                    parse_pitch(reader, iInning);
                }
            }
        }

Koodi: Valitse kaikki

MLBComC.cs:
        private void parse_inning_action(XmlTextReader reader, int iInning)
        {
            bool bLastEventUpdatedField = (mstrLastEvent == "Defensive Switch" || mstrLastEvent == "Defensive Sub" || mstrLastEvent == "Pitching Substitution" || mstrLastEvent.IndexOf("Relief with") > -1);
            
            if (reader.GetAttribute("event") == "Defensive Switch")
            {
                Match mt = Regex.Match(reader.GetAttribute("des"), "(.*?) remains in the game as the (designated hitter|pitcher|first baseman|second baseman|third baseman|catcher|shortstop|left fielder|right fielder|centre fielder).");
                if (mt.Success)
                {
                    update_field(miPitchingTeam, mt.Groups[1].Captures[0].ToString(),transform_pos(mt.Groups[2].Captures[0].ToString()),!bLastEventUpdatedField);
                }

                mt = Regex.Match(reader.GetAttribute("des"), "Defensive switch from (designated hitter|pitcher|first base|second base|third base|catcher|shortstop|left field|right field|centre field) to (designated hitter|pitcher|first base|second base|third base|catcher|shortstop|left field|right field|centre field) for (.*)\\.");
                if (mt.Success)
                {
                    update_field(miPitchingTeam, mt.Groups[3].Captures[0].ToString(),transform_pos( mt.Groups[2].Captures[0].ToString()), !bLastEventUpdatedField);
                }
            }

            if (reader.GetAttribute("event") == "Defensive Sub")
            {
                Match mt = Regex.Match(reader.GetAttribute("des"), "Defensive Substitution: (.*?) replaces (designated hitter|pitcher|first baseman|second baseman|third baseman|catcher|shortstop|left fielder|right fielder|centre fielder) (.*?), batting ([0-9]{1})[A-Za-z]{2}, playing (pitcher|first base|second base|third base|catcher|shortstop|left field|right field|centre field).");
                if (mt.Success)
                {
                    update_field(miPitchingTeam, mt.Groups[1].Captures[0].ToString().Trim(),transform_pos(mt.Groups[5].Captures[0].ToString()), !bLastEventUpdatedField);
                }            
            }

            if (reader.GetAttribute("event") == "Pitching Substitution" || reader.GetAttribute("event").IndexOf("Relief with") > -1)
            {
                Match mt = Regex.Match(reader.GetAttribute("des"), "Pitcher Change: (.*?) replaces (.*?)(, batting ([0-9]{1})[A-Za-z]{2})?.");
                if (mt.Success)
                {
                    //update field
                    update_field(miPitchingTeam, mt.Groups[1].Captures[0].ToString(), "P", !bLastEventUpdatedField);
                }
            }
            mstrLastEvent = reader.GetAttribute("event");
        }
Tässä toteutuksessa ei vielä oteta kantaa pelien päivitysprosessiin kauden sisällä eli miten ja missä vaiheessa systeemi lukee automaattisesti päättyneen pelin tilastot, muuttuneet peliajat, pelien peruutukset. Tälle tehdään myöhemmin oma service joka GameDataUpdateI interfacen läpi MLBComin tarjoavan datan avulla käsittelee muutokset. Tuon prosessin logiikka on kuitenkin jo suurelta osin suunniteltu, alla "flowchart" automaattisesti pelidatan päivityslogiikasta kauden sisällä.

Kuva

Tämä ei sisällä kerroinmuutoksia, ottelun ulkopuolisia eräajoja(esim sarjataulukon päivitykset), siirtojen tai loukkaantumisten käsittelyä vaan nämä toteutetaan jokainen omana servicenaan.

Tässä lähipäivinä pistän lukukoodin vetämään 2008 ja 2009 kaudet läpi jotta saan tietokantaan kunnolla dataa, toivottavasti mlb:n serverin ei ala lyömään ip-banneja urakan aikana :). Kunhan tuo data on turvallisesti hallussa niin seuraavaksi alan tutkimaa ottelun lineupin ennustamista. Täytyy kehittää jonkinlainen simppeli korrelaatio kaava jotta pystyn vertailemaan eri projektitapojen tuottamia lineuppeja toteutuneisiin.

Pisteitä

Pisteitä yhteensä: 0. Antamasi peukut: 0.

Seurantoja: MLB11PS & MLB10PS & MLB10 & MLB09PS & Muut

Minikommentit


MarkusM
Jäsen
Viestit: 2187
Liittynyt: 23.03.2003, 16:54

Tuotto: -109.66 yks.

Palautus%: 95.74%

Panosten ka: 14.63 yks.

Vetoja: 176

Pisteitä: 76
Paikkakunta: Tampere

Re: 9.

Viesti Kirjoittaja MarkusM »

http://koti.mbnet.fi/~markusm/mlb2010.csv
Tuossa koottu tulevan kauden otteluohjelma, osassa peleistä kellonaikana 00:00:00 koska oikeaa otteluaikaa ei ollut vielä selvillä.

Varsinainen projekti on edennyt hitaasti edellisen päivityksen jälkeen, viimekauden pelit tilastoineen on ajettu kantaan ja eri lineup projektioiden vertailuun koodasin vertailupalikan mutta varsinaisia eri projektiomalleja en ole ehtinyt yhtään miettiä.

Pisteitä

Pisteitä yhteensä: 0. Antamasi peukut: 0.

Seurantoja: MLB11PS & MLB10PS & MLB10 & MLB09PS & Muut

Minikommentit


MarkusM
Jäsen
Viestit: 2187
Liittynyt: 23.03.2003, 16:54

Tuotto: -109.66 yks.

Palautus%: 95.74%

Panosten ka: 14.63 yks.

Vetoja: 176

Pisteitä: 76
Paikkakunta: Tampere

Re: 9.

Viesti Kirjoittaja MarkusM »

http://www.youtube.com/watch?v=xuRPMhqJTXw
Powerin kehoituksesta postataan tämä tänne, 1B tuomarilla riittää sentään kanttia myöntää oma virheensä http://nbcsports.msnbc.com/id/37479309/ ... s-baseball ja ehkä kaikella tällä on se hyvä lopputulos että saadaan viimenkin video review beissiin. http://www.fangraphs.com/blogs/index.ph ... -our-gain/

Kaikille betsareille on varmaan tuttua että just ne vedon kusemisen aiheuttavat tilanteet ovat tuomarivirheitä :O

Pisteitä

Pisteitä yhteensä: 0. Antamasi peukut: 0.

Seurantoja: MLB11PS & MLB10PS & MLB10 & MLB09PS & Muut

Minikommentit


MarkusM
Jäsen
Viestit: 2187
Liittynyt: 23.03.2003, 16:54

Tuotto: -109.66 yks.

Palautus%: 95.74%

Panosten ka: 14.63 yks.

Vetoja: 176

Pisteitä: 76
Paikkakunta: Tampere

Re: 9.

Viesti Kirjoittaja MarkusM »

.....

Pisteitä

Pisteitä yhteensä: 0. Antamasi peukut: 0.

Viimeksi muokannut MarkusM, 24.09.2011, 20:09. Yhteensä muokattu 1 kertaa.
Seurantoja: MLB11PS & MLB10PS & MLB10 & MLB09PS & Muut

Minikommentit


MarkusM
Jäsen
Viestit: 2187
Liittynyt: 23.03.2003, 16:54

Tuotto: -109.66 yks.

Palautus%: 95.74%

Panosten ka: 14.63 yks.

Vetoja: 176

Pisteitä: 76
Paikkakunta: Tampere

Re: 9. MLB12

Viesti Kirjoittaja MarkusM »

..

Pisteitä

Pisteitä yhteensä: 0. Antamasi peukut: 0.

Viimeksi muokannut MarkusM, 23.01.2012, 10:42. Yhteensä muokattu 1 kertaa.
Seurantoja: MLB11PS & MLB10PS & MLB10 & MLB09PS & Muut

Minikommentit


brickster
Jäsen
Viestit: 554
Liittynyt: 24.04.2003, 12:54
Pisteitä: 25

Re: 9. MLB12

Viesti Kirjoittaja brickster »

MarkusM kirjoitti: Alussa tavoitteena ei ole kovinkaan monimutkainen systeemi sillä laskennan pitäisi pyöriä kauden alkuun mennessä. Kuten viimeksikin niin täytyy taas muistuttaa että en usko systeemin olevan voitollinen tällaisenaan alussa, realistinen odotettu palautus voisi olla jossain 98 % lähettyvillä.
98%

No ei ole kovin korkealla ainakaan tavoitteet, satunnaisesti pelivalinnan arpomalla pääsee tuohon palautukseen. :wink:

Pisteitä

Pisteitä yhteensä: 0. Antamasi peukut: 0.

97-55-2 (4-6yks. panostus)
+135,602

tasapanoksella pelatut
5-0 +3,402

Minikommentit


MarkusM
Jäsen
Viestit: 2187
Liittynyt: 23.03.2003, 16:54

Tuotto: -109.66 yks.

Palautus%: 95.74%

Panosten ka: 14.63 yks.

Vetoja: 176

Pisteitä: 76
Paikkakunta: Tampere

Re: 9.

Viesti Kirjoittaja MarkusM »

98%

No ei ole kovin korkealla ainakaan tavoitteet, satunnaisesti pelivalinnan arpomalla pääsee tuohon palautukseen.
Jos järkevällä otoksella palautus mene tuohon niin se osoittaa ainakin että laskennassa ei ole mitään usein toistuvaa isompaa virhettä (Tai sitten että markkinoilla on sama virhe).

Kyllähän tavoitteena voisi olla vaikka 103% mutta en usko että tämän tyyppisellä perusarvioilla pääsee tuohon koska muuten jokainen tilastojen pyörittelijä tekisi voittoa. Sen jälkeen kun laskentaa aletaan laajentamaan niin toivottavasti noustaan satasen yläpuolelle.

Pisteitä

Pisteitä yhteensä: 0. Antamasi peukut: 0.

Seurantoja: MLB11PS & MLB10PS & MLB10 & MLB09PS & Muut

Minikommentit


100% 200€ bonus librabet.com.

Katso kaikki vedonlyöntibonukset.

Vastaa Viestiin