It is time to build and test my first predictive model with Tensorflow! As I am currently totally unexperienced in creating and optimizing neural networks, I will start with a very simple one, which just uses the predictive variables of the Poisson model. By doing this, I will be able to compare the resulting network with the Poisson model. I am excited to see, whether Tensorflow is able to outperform this statistical model with such a low number of predictive variables. In this series I will provide some basic information, how you are able to build a simple multilayer perceptron (MLP) with Tensorflow, supervise the training process with Tensorboard and use the trained neural network to predict the outcomes of the matches.
Connecting to Exasol via Python
As mentioned in the last post, I am now going to use TensorFlow to build my first own predictive model. But before, there are several small steps, which need to be taken. At first I want to explain, how your able to read and write data via a Python script into Exasol. This is needed to read the different predictive variables and write back results of a prediction into the database when developing models.
BeatTheBookie goes Tensorflow
After gaining much experience over a complete season, it is time to set myself some new goals. Until now I just used or tested predictive models, which were invented or described by other people. Now I want to try something new. I would like to create my first own predictive model, which should of course provide a better performance as the current Poisson model. This is where Tensorflow comes into play.
Retrospective for Bundesliga season 2017/18
The Bundesliga season 2017/18 has taken a dramatic end. The last never-relegated founding member Hamburger SV is on its way to the 2nd division. I am really happy about this, as there will be two thrilling derbies next season and St. Pauli will be able to defend there derby title.
But the end of this season does also mean something else: I am now using the Poisson model for one year in a productive way by populating picks, betting with some mini stacks and analysing the results. So it is time to do a retrospective and sum up all the experiences and all weaknesses discovered.
Continue reading “Retrospective for Bundesliga season 2017/18”
Calculate odds for lay markets based on back markets
Some days ago I read an interesting article about how bookies arrange their margin to the possible outcomes. All bookies keep this of course secret as this offers them a specific range, where they can shorten or lengthen the odds depended on the amounts of placed bets. But I need this information, because I simulate my prediction models for back and lay markets, with just the odds of the back markets. This post will explain, how you should calculate the bookie margin, and how you should not do it. I handled this topic a little bit naively during the development of my Poisson model, which causes some problems.
Continue reading “Calculate odds for lay markets based on back markets”
Betting history: Bundesliga match days 21 – 30
The next 10 matchday are played in the German Bundesliga. Bayern Munich are (again) already champions and the relegation of the last never-relegated member HSV comes closer. It is time to take a look at the performance of my Poisson model since start of 2018.
Continue reading “Betting history: Bundesliga match days 21 – 30”
Weighted predictor variables and performance trend analysis
The first 10 matchdays of the current season in the Bundesliga revealed some clear disadvantages of my Poisson model. The predictor variables attack and defence strength respond too slowly to performance changes of single teams. This was clearly shown by the loss produced by the poorly performing FC Cologne. A normal SMA (simple moving average) does not use a weight. So latest results, which represent the current form, have not a higher priority over older results. As I looked for solution for this problem I stumbled over the EMA (exponential moving average). This post will explain the use of the EMA and how you can implement it inside the Exasol, so that it is usable as an analytical function for the predictor variables. On top I will show you, how you can analyse the team performance with help of MACD (Moving Average Convergence/Divergence oscillator ).
Continue reading “Weighted predictor variables and performance trend analysis”
Validate Model: GS & PPG match rating (part 3)
The first and the second part of this series explained some basic methods to optimise the regression models for the GS & PPG match rating. You have now a set of 3 different regression models (linear, polynomial and polynomial without outliers) for each predictive variable. These models now have to not only compete against each other, but also of course against the Bookie odds and the Poisson prediction model.
Continue reading “Validate Model: GS & PPG match rating (part 3)”
Validate Model: GS & PPG match rating (part 2)
The first part of this series took a look at the GS match rating model. The post described, how you are able to identify a non-linear relationship between the predictor variables and the outcome variable. The same methods will now be applied to the PPG match rating model, so that we are able to compare the two different polynomial regression models. On top, I want to show, how you are able to figure out, whether outliers in your data have an influence on your regression model.
Continue reading “Validate Model: GS & PPG match rating (part 2)”
Betting history: Bundesliga match days 11 – 20
The next 10 match days are played in the German Bundesliga and so it is time for the next summary of the current betting history of my Poisson prediction model. During my summary about the first 10 match days I faced a really big loss. This trend continued also for the next match days, but some interesting observations can be made.
Continue reading “Betting history: Bundesliga match days 11 – 20”

You must be logged in to post a comment.