Tutorial on modelling skills of tennis players with TrueSkill rating model in Scala.
Betting Exchange Research Blog
A mixture of information technology, betting exchange and artificial intelligence
Thursday, 21 March 2013
Sunday, 10 March 2013
Expectation Propagation for the Clutter Problem in Scala
Clutter Problem is a Gaussian density estimation task, presented by Thomas Minka to illustrate
Expectation Propagation algorithm in practice. This note presents a solution to the Clutter problem in Scala using Bayes-Scala package.
Read full text.
Friday, 22 February 2013
Linear Gaussian Model for robot localisation
The task is to predict the location of a robot given noisy observations of its current position 1. In a static localisation setup, it's assumed that robot is not moving while subsequent measurements of a robot location are taken. Whereas in a dynamic variant, robot's position is changing over the time. There are 4 different solutions presented to 1D localisation problem, including Kalman Filter 1, Canonical Gaussian 2,4, Bayes's theorem for Gaussian Variables 3 and Expectation Propagation 3,5.
Full text:
https://github.com/danielkorzekwa/bayes-scala/blob/master/doc/localisation_example/localisation_example.md
Full text:
https://github.com/danielkorzekwa/bayes-scala/blob/master/doc/localisation_example/localisation_example.md
Friday, 25 January 2013
Modelling tennis skills on serve and return with Glicko 2 pairwise comparison model
This document presents the Glicko 2 1 pairwise comparison method for estimating skills of tennis players, both on serve and return. It starts with review of existing literature on modelling tennis skills. Next, it gives an overview on Glicko2 Tennis model, followed by an example of Scala code for calculating skills of tennis players. Later on, it demonstrates three examples of practical applications for tennis skills. The first one, is a study on historical skills of Roger Federer and Novak Djokovic. The second case, is about calculating probability of winning a point on serve and return at the beginning of a tennis match. The last example, illustrates how to predict outcomes of tennis matches using skills of tennis players on serve and return. Finally, Glicko2 is discussed in a context of potential improvements in modelling skills in tennis.
Read full article:
https://github.com/danielkorzekwa/tennis-player-compare/blob/master/doc/glicko2_tennis_skills/glicko2_tennis_skills.md
Read full article:
https://github.com/danielkorzekwa/tennis-player-compare/blob/master/doc/glicko2_tennis_skills/glicko2_tennis_skills.md
Labels:
Glicko2,
Prediction,
Skills,
Tennis
Friday, 18 January 2013
Plotting Gaussians, including univariate, multivariate and linear models
While working on Bayesian Networks in a continuous space, I'm plotting lots of Gaussian distributions representing prior, likelihood and posterior functions. At first glance, it appeared quite simple to draw those functions, but in the end, it took me good amount of time to figure out how to do it and what tools should I use for this task. I documented it here:
https://github.com/danielkorzekwa/bayes-scala/blob/master/doc/plotting_gaussian/plotting_gaussian.md
https://github.com/danielkorzekwa/bayes-scala/blob/master/doc/plotting_gaussian/plotting_gaussian.md
Friday, 9 November 2012
Predicting outcomes of tennis matches with Dynamic Bayesian Networks
For the purpose of building prediction models in Tennis markets, I've developed Bayesian Inference Engine in Scala Programming Language. One of tutorials I wrote on this tool is dedicated to predicting outcomes of tennis matches with Dynamic Bayesian Networks and Expectation Maximization techniques.
Bayes-Scala Project Home Page
Getting Started - Learning parameters with Expectation Maximisation in Unrolled Dynamic Bayesian Networks from incomplete data
Currently I'm evaluating this prediction model on a real data set of tennis matches for last 5 years and I will publish prediction results later on.
Bayes-Scala Project Home Page
Getting Started - Learning parameters with Expectation Maximisation in Unrolled Dynamic Bayesian Networks from incomplete data
Currently I'm evaluating this prediction model on a real data set of tennis matches for last 5 years and I will publish prediction results later on.
Subscribe to:
Posts (Atom)