# Machine Learning in Football Betting: Prediction of Match Results Based on Player Characteristics
## 3 Simulation Study
### Simulation Design
#### 3.2.1 Formation Period  
The formation period includes the results and characteristics of the first five match days of each season. However, since our players characteristics are only reported prior to each season, we keep them constant as we are iterating through the match days. Thus, we implicitly assume them to be constant over season. To capture short term highs and lows, we also consider a teams performance using a lagged time window of 5 match days (if possible). Since the formation period contains the first five match days, we have 490 matches for training our model. Each additional matchday is the test phase, which is why we predict 90 games there. \(y_{for}\) specifies the difference in goals between the home team and the away team and \(x_{for}\) is created using the players characteristics and the corresponding team performance measure. The features of \(x_{for}\) include the characteristics from the areas \"General\", \"Ball Skills\", \"Passing\", \"Shooting\", \"Defense\", \"Physical\", \"Mental\", and \"Goalkeeper\"(see Table 1). Of course, we do not consider all players of a team but only the players who are on the field. As starting line-up we use the players declared by FIFA. Therefore, injured or blocked players will not be considered--this procedure is very similar to reality. For all features (except the goalkeeper features) we sort each players values (that is not a goalkeeper) of each team and average the top 4 values. The number 4 is derived from the fact that in one position, one does rarely find more than 4 players at the time. Features concerning the goalkeeper only use player data from goalkeepers. We describe the relation of the dependent variable \(y_{for}\) as a function of the 41 independent variable \(x_{for}\). Therefore, the underlying function is created by the following machine learning approaches:  
* Random forest (RAF): Random forest (In this context we use regression trees rather than classification trees. )combines several uncorrelated decision trees to output a weighted prediction of each tree. Most important, it can handle both, numeric and categorical input which makes it a good choice for a initial model. Overfitting to the formation period is avoided by correcting the habit of decision trees. For further details about this approach, see [30; 31]. * Boosting (BOO): Boosting describes a strong classifier by connecting a variety of weak classifiers. This technology reduces bias and variance as well as memory requirements and runtime. Please refer to [32; 33] for more information. * Support vector machine (SVM): Support vector machine splits objects into categories, ensuring that no objects are located in the area around the estimated boundaries. As in most cases, we used the kernel trick in order to handle the case of non-linear separable data. References [34; 35] explained the concept of SVM. \begin{table}
\begin{tabular}{l r r r r} \hline \hline  & **Minimum** & **Median** & **Maximum** & **Mean** \\ \hline
**Home** & 1.02 & 2.10 & 26.00 & 2.42 \\
**Draw** & 1.29 & 3.30 & 17.00 & 3.53 \\
**Away** & 1.08 & 3.50 & 51.00 & 4.27 \\ \hline \hline \end{tabular}
\end{table} 
Table 2: Descriptive statistics of betting odds from season 2006/2007 to 2017/2018. * Linear regression (LIR): Finally, we benchmarked the approsches with a classic linear regression. Consequently, statistical properties of this naive model can easily be shown. For further details about this approach, see [36]. The choice of the four machine learning methods is motivated by [37]. The authors give an excellent overview of the advantages and disadvantages of different learning algorithms based on existing empirical and theoretical studies. As a strong regression model we introduce the equally weighted ensemble ALL, which integrates the information of the approaches RAF, BOO, SVM and LIR. To be more precise, we calculate the average prediction of these four baseline approaches.