The previous two chapters were concerned with point forecasts which only produce a single estimate for each time step in the forecast horizon, i.e. one value $L_t$ for each of the time periods $t=N+1, N+2, \ldots , N+k$ (assuming a forecast horizon of length k steps ahead starting at forecast origin N). Point estimates are limited in their description of the future demand, especially when the underlying data has a large degree of uncertainty. A more detailed picture of the possible values of the demand can be produced by estimating the distribution of the demand for each period in the forecast horizon. Forecasts which estimate the spread of the distribution are often called probabilistic forecasts. That is the subject of this chapter.
11.1 The Different Forms of Probabilistic Forecasts
As introduced in Sect. 5.2 and Fig. 5.4, there are three core forms of probabilistic forecasts which will be explored in this book: quantile forecasts, density forecasts and ensemble forecasts (not to be confused with ensemble machine learning models such as random forest in Sect. 10.3.2). These can be grouped into two core categories: univariate (quantile and density) and multivariate (the ensemble forecasts). To understand these types, consider the scenario of trying to estimate the distribution of the data for the time steps $t=N+1, N+2, \ldots , N+k$.

Example of both Gaussian distribution as described by its density function (solid line) and 20-quantiles (red dotted lines)
For multivariate forecasts the task is instead to estimate a single multivariate distribution for all k demand variables in the forecast horizon (see Sect. 3.3 for more on multivariate distributions). The advantage of multivariate distributions is that they take into account the inter-dependencies over the entire forecast time horizon. To illustrate this, consider the example of household demand. This is mainly determined by the occupants behaviour. If a person gets into work late then they will likely get back from work later, hence their demand shift in the morning will correspond to a shift in the evening. In other words, there is an interdependency between the demand in the morning and the demand in the evening due to the link between these two activities. A multivariate forecast can therefore be sampled to produce demand profile scenarios which include these correlations. Thus more complicated and realistic interdependent behaviours can be simulated and utilised to optimise applications such as storage control (Sect. 15.1).

A bivariate Gaussian (left) and 30 ensembles from the distribution (right)
11.2 Estimating Future Distributions
As discussed in the previous section, the aim of a probabilistic forecast is to estimate the future distribution of the demand whether at a single time step (univariate) or multiple (multivariate). To estimate the uncertainty requires accurately modelling the variation. There are a few standard practical approaches, which will be outlined in the section, and are the basis for many of the techniques in the following sections.
The first approach tries to model the distribution directly by training on the observations. As with most point forecasts these models use the historical data to capture the variation and will typically make assumption about how the past distribution will relate to the future demand. The parameteric models (Sect. 11.3), kernel density estimation (Sect. 11.5) and the quantile regression (Sect. 11.4) all model the distribution in this way.
The aim is to train the parameters or hyperparameters of a distribution model directly (e.g. the Gaussian model) or use a model which will estimate the distribution (e.g. quantiles). The advantage of these approaches is that as long as the right model is used, and they are trained on sufficient data from the target distribution, then they can accurately capture the uncertainty. For example, if we are modeling demand for 2pm and we know that the historic 2pm data all come from the same distribution then this data can be used to estimate the true distribution. Unfortunately, it is often not known for certain which data comes from the same distribution and so certain assumptions will need to be made based on the analysis of the data. Another drawback of this approach is that its accuracy is correlated with the amount of available data. Small amounts of data will mean a potentially inaccurate estimate.
The second type of model doesn’t model the variation directly but instead inserts variation into the model either through adjusting the input variables and/or the model parameters. For example, assume there is a demand model which is dependent on temperature alone. Then the variation in the demand can be modelled by inserting different values of the temperature into the model. Usually these are formed by tweaks on an individual estimate of the temperature and simulates the sensitivity of the demand to the temperature.
This approach is used in numerical weather prediction to produce forecast ensembles/scenarios. Small deviations are applied to the most likely state of the atmosphere and the numerical weather prediction models are reapplied to the adjusted states to produce a range of weather scenarios. Analysis of closeness of the final ensembles can indicate confidence in the future weather states, and widely ranging ensembles may mean there the future weather is highly uncertain.
Alternatively small adjustments can be applied to the model parameters. This accounts for mis-specifications in the model and can generate other likely future states. Multiple adjustments can therefore produce a range of outputs allowing for an estimate of the future distribution. The difficultly with both of these adjustment approaches is that the correct deviations have to be applied to the inputs/parameters in order to produce an accurate distribution estimate. This can be aided in the input case by randomly sampling from the historical observations, or from estimating a distribution from which you can sample.
Another drawback of this model is that the demand variation is not being simulated directly but instead is estimating the sensitivity of the model to the inputs or parameters. Consider the temperature example above. The demand may change with the temperature but in fact it is the variation in the demand for a fixed temperature which is of primary interest (assuming the temperature can be accurately forecast). The key is to add adjustments to the temperature so that it captures this variation. Once again cross-validation is one approach which can be used to determine an appropriate adjustment to the inputs/parameters.
The following sections will mainly focus on the first approach for producing probabilistic forecasts and train the models directly on the historical observations.
11.2.1 Notation
In the following subsections a few probabilistic forecast methodologies are introduced for at least one of each of the three types introduced in Sect. 11.1: quantile, density and ensemble forecast. For the next sections it is worth considering the following notation and conditions.
As before consider the demand is represented by the time series $L_1, L_2,\ldots$, where $L_t$ is the demand at time step t.
Without loss of generality suppose the aim is to forecast the demand k-steps ahead for the time stamps $t=N+1, N+2, \ldots , N+k$.
For univariate probabilistic forecasts: denote the true distributions as CDFs, $F_1(L_{N+1}|\textbf{Z}), F_2(L_{N+2}|\textbf{Z}), \ldots , F_k(L_{N+k}|\textbf{Z})$, one function for each time step in the forecast horizon, i.e. $F_t$ is the univariate distribution of the demand at time step t. Each forecast is conditional on prior information $\textbf{Z}$ which represents the set of all required dependent variables such as weather, historical demand etc. which determine the future demand. The corresponding CDF forecasts, for each time step $t \in \{1, 2, \ldots , k \}$, are denoted $\hat{F}_t(L_{N+t}|\textbf{Z})$. For simplicity the $\textbf{Z}$ may not be included in the notation.
For the multivariate probabilistic forecasts the true distribution can be represented by a single CDF, $F_{t=1, \ldots , k}(\textbf{L}|\textbf{Z})$ describing the distribution of the multivariate random variable $\textbf{L}= (L_{N+1}, L_{N+2}, \ldots , L_{N+k})^T$. The prior information $\textbf{Z}$ contains all dependent variables and the historical loads up to time step N. Often the $\textbf{Z}$ will not be included for clarity.
The mth ensemble of an ensemble forecast will often be denote as $\hat{\textbf{L}}^{(m)}= (\hat{L}^{(m)}_{N+1}, \hat{L}^{(m)}_{N+2}, \ldots , \hat{L}^{(m)}_{N+k})^T$.
11.3 Parametric Models
Parametric distribution models are desirable as they can give a full description of the spread of the data usually using only a few parameters. This section begins by discussing parametric models via a simple example of a univariate distribution (Sect. 11.3.1). Individual univariate parametric models are usually too inflexible to model the distributions accurately, but families of simple univariate distributions can be “mixed” to estimate much more general shapes and will be introduced in Sect. 11.3.2.
11.3.1 Simple Univariate Distributions

Examples of unimodal (top), bimodal (middle) and trimodal (bottom) univariate distributions
Although univariate models are unlikely to produce the most accurate univariate probabilistic forecasts they can be useful as benchmark models to compare to more sophisticated approaches described later in this chapter. Further since they are described by relatively few parameters they may be easier to train than nonparametric models. Training parametric models requires estimating each individual parameter which describes the chosen distribution family. For example, a Gaussian will require estimates for the mean and standard deviation, whereas the gamma distribution requires estimating the shape and scale parameters. In the case of the Gaussian distribution the mean and standard deviation can be found by maximum likelihood estimation (Sect. 8.2.1) and these values turn out to simply be the sample mean and sample standard deviation (Sect. 3.5) respectively. To ensure the best possible estimate is produced requires carefully selecting the most appropriate input data to train the parameters (in contrast to data driven machine learning techniques which will learn from all the data). The data can be identified by the analysis methods outlined in Chap. 6. For example, suppose some hourly data is discovered to have strong daily periodicity then it may be appropriate to train 24 different models, each one using only the data from a specific hour of the day.
Parametric models also exist for multivariate models. In particular there is a multivariate version of the Gaussian distribution. As mentioned in Sect. 11.1 these parametric models can be used to produce ensemble probabilistic forecasts over the h-steps ahead (by estimating a h-dimensional parametric multivariate distribution). Unfortunately, there are much fewer well defined multivariate distributions which can accurately capture a wide variety of probabilistic forecast behaviours. This makes them less suitable compared to more versatile methods which will be introduced in Sects. 11.6 and 11.7 which can also capture interdependencies across time steps in the forecast horizon.
11.3.2 Mixture Models

Example of a three component Gaussian mixture model. Also shown are scaled version of the individual Gaussian components (in red) to show their positions and how they contribute to the overall distribution of the GMM
Although GMMs have a lot more parameters to fit to the observations then a single Gaussian model they can be solved relatively efficiently via an iterative process called the expectation-maximisation algorithm (EM) which finds an optimal estimate2 for the maximum likelihood function (See Sect. 8.2.1).
- Calculate the posterior probability $\tau _{ik}$ that each observations $\textbf{x}_i$ belongs to each group $k=1, \ldots , K$,This is the E-step.$$\begin{aligned} \tau _{ik} = \frac{\pi _k g_k(\textbf{x}_i, \theta _k)}{\sum _{k=1}^K \pi _k g_k(\textbf{x}_i, \theta _k)}. \end{aligned}$$(11.133)
Update the mixing probabilities $\pi _k^{new} = \sum _{i=1}^N \tau _{k, i}$, for each component $k=1, \ldots , K$.
- Update the mean for each component $k=1, \ldots , K$,Note this is a weighted average, weighted based on the membership probabilities.$$\begin{aligned} \boldsymbol{\mu }_k = \frac{\sum _{i=1}^N \tau _{k, i}{} {\textbf {x}}_i}{\sum _{i=1}^N \tau _{k, i}}. \end{aligned}$$(11.134)
- Update the Covariance matrix for each component $k=1, \ldots , K$,I.e. a weighted version of the sample covariance.$$\begin{aligned} \boldsymbol{\Sigma }_k = \frac{\sum _{i=1}^N \tau _{k, i}({\textbf {x}}_i- \boldsymbol{\mu }_k)({\textbf {x}}_i- \boldsymbol{\mu }_k)^T}{\sum _{i=1}^N \tau _{k, i}}. \end{aligned}$$(11.135)

Example of Bayesian information criteria for different numbers of clusters in a GMM. Also shown are tangents to the curves to demonstrate the ‘elbow plot’ method for determining the ‘optimal’ number of clusters
The number of groups, K, is a hyperparameter that must be chosen. Although this could be picked during cross-validation, a likelihood function framing means that information criteria (as introduced in Sect. 8.2.2) can also be used to find the most appropriate number of clusters. For different sized clusters calculate the BIC (or AIC). Plotting the BIC against the number of clusters can be used to find the point where increasing the number of clusters shows diminishing returns in terms of the drop in the BIC. This point is the “elbow” point of the plot (and hence why this heuristic is called the“elbow method”) and indicates one choice for a suitable number of clusters. “Suitable” here is a relatively subjective term since there may be several other reasons why different numbers may be more appropriate or useful.
An example of the method is illustrated in Fig. 11.5. Here, the optimal number of clusters is around four since the tangential lines intersect around this value. Tangential lines are often used to make it easier to identify the elbow and hence the number of clusters.
Fitting a GMM is an easy way to estimate a distribution if all the data comes from the same distribution. For a time series this means that the data used for training forms a stationary series. Unfortunately this is unlikely to be the case in general. Different hours of the day may have different distributions and the time series may be dependent on weather, time of year, or a whole host of other variables. Hence, even though the EM-algorithm allows for relatively quick training of the GMM, there may be insufficient data to train several mixture models accurately.
11.4 Quantile Regression and Estimation
The majority of models used for probabilistic load forecasting are nonparametric and are popular because they allow more flexibility in what distributions are being modelled. One of the simplest and most common ways to generate univariate probabilistic forecasts is quantile regression, the subject of this section. One of the advantages of the method is that it is a simple adaption of standard least squares regression.
Consider estimating the q quantiles (See Sect. 3.2 for introduction to quantiles) for the time steps $t=N+1, N+2, \ldots , N+k$. Popular choices are deciles (10-quantiles) or demi-deciles (20-quartiles) so that the distribution is split into 10 or 20 areas of equal probability respectively.

Random time series (black) and the 10-quantiles generated from a quantile regression applied to the simple linear model $a+bt$

Plot of the probability integral transform for the example in the text. This shows the count of observations in each decile as defined by the quantile regression on the linear model to the data
Recall in Chap. 7 that the Probability Integral Transform (PIT) can be used to assess the calibration of a probabilistic forecast. The quantile regression lines should split the data into equal probabilities of observations which would mean 40 (400/10) observations are expected between each of the consecutive deciles. This is shown to be the case in the PIT in Fig. 11.7. Notice in some quantiles there is actually 39 or 41 observations due to the relatively small number of samples. Having a uniform PIT on the training set should be expected when an appropriate model is chosen. The true assessment of the model is, as always, determined by evaluating it on an unseen test set rather than the training set. In addition, for a probabilistic forecast both calibration and sharpness are important properties and therefore the proper scoring functions introduced in Sect. 7.2 should be used to evaluate forecasts rather than the PIT alone.

Examples of estimating a distribution from 200 observations using a a histogram with 20 equally spaced bins and b a kernel density estimate with different bandwidths
11.5 Kernel Density Estimation Methods
Often to help accelerate the optimisation, the variables are normalised (e.g. to [0, 1]) in order to reduce the search space (see Sect. 6.1.3). The forecast can be rescaled after the training is complete. As mentioned in Sect. 3.4 there are options for the different kernels, and different ones can be tested, although often the choice has minimal impact on the accuracy of the forecasts [1].
The different modifications presented here can obviously be combined to create other models. For example the conditional kernel density form shown in Eq. (11.143) can be extended to include a decay factor like in Eq. (11.141) or restrictions can be applied on the inputs like in Eq. (11.142). As with many KDE methods, the drawback is that each modification often increases the training complexity and computational cost.
11.6 Ensemble Methods
This section introduces ensemble forecasts, by which we mean a set of point forecasts from the same forecast origin, estimating each time step with the same forecast horizon (of length h time steps). The point forecasts are samples of equal probability from a h-dimensional multivariate distribution representing the joint distribution over the forecast horizon (see Sect. 3.3 for more on joint distributions). In other words, each ensemble represents an equally likely load trajectory. The methods described in this section produce these ensembles without needing to produce the full joint distribution.
11.6.1 Residual Bootstrap Ensembles (Homoscedasticity)

Example of a simple periodic time series with homoscedasticity (top) and heteroskedasticity (bottom)
Randomly sample with replacement (this is called a bootstrap sample) a residual, $\hat{e}^{(b)}_1$, from the set of all residuals, $\{\epsilon _1, \epsilon _2, \ldots , \epsilon _N \}$.
Add this residual to the current 1-step ahead forecast value $\tilde{L}_{N+1|N}$ to produce a new value $\hat{L}^{(b)}_{N+1|N} = \tilde{L}_{N+1|N}+\hat{e}^{(b)}_1$.
Include $\hat{L}^{(b)}_{N+1|N}$ in the forecast model to generate an estimate for the next time step, $\tilde{L}^{(b)}_{N+2|N+1} = f(\hat{L}^{(b)}_{N+1|N}| L_N, \textbf{Z}, \beta )$.
Update this value using another bootstrap sample from the residual series to give $\hat{L}^{(b)}_{N+2|N+1} = \tilde{L}^{(b)}_{N+2|N+1}+\hat{e}^{(b)}_2$.
Continue this procedure until the kth step is reached.
The final series, $\hat{L}^{(b)}_{N+1|N}, \hat{L}^{(b)}_{N+2|N+1}, \ldots , \hat{L}^{(b)}_{N+k|N+k-1}$ is the bth bootstrap ensemble.

Example of an Monte Carlo derived ensemble 50-step ahead forecast with 100 ensembles for a simple ARIMA model
If instead of sampling from the actual residuals you sample from an assumed or fitted distribution then the method can be referred to as a Monte Carlo forecast. For example, it is often assumed that residuals are Gaussian distributed with zero mean and therefore instead of sampling from the set of residuals, the values can be sampled from a Gaussian distribution trained on the residuals. An example of an ensemble forecast generated from the Monte Carlo simulations, for 100 ensembles is shown in Fig. 11.10 for a simple ARIMA(4, 1, 1) model. Notice that the errors get wider (have larger variation) with forecast horizon length. This is due to the accumulation of the errors from one step to the next. This intuitively makes sense as the uncertainty should increase the further ahead the prediction.
Notice that the forecasts at each time step can be used to estimate a univariate estimate. This can be done by either fitting quantiles or a density estimate to the collection of ensemble points at each time step.
11.6.2 Residual Bootstrap Ensembles (Heteroskedasticity)
An advantage of the bootstrap method described in Sect. 11.6.1, is that a multivariate forecast can be generated with minimal computational cost since only the original point forecast model needs to be trained. Further, if the model contains autoregressive features (as ARIMA and exponential smoothing do) then the ensembles also retain the interdependencies of the time series. A drawback to the method is the strong assumption of homoscedasticity for the series of residuals. In fact, it is likely that periods of high demand will also have larger variability. A time series where the variance changes in time is said to have heteroskedasticity.
An example of a simple periodic series with heteroskedasticity is shown in Fig. 11.9b in which the largest variation in the demand coincides with the largest amplitude of the periods. When time series are heteroscedastic the variability can be incorporated using so-called GARCH-type models which can extend the bootstrapping method described in Sect. 11.6.1. An outline of these methods are given here, but since they are relatively complicated, the details are ommited. The interested reader is referred to some further reading given in Appendix D.
ARCH and GARCH are specific forms of the variance which are often suitable for financial time series applications. In fact standard deviation can be modelled much more generally and these will be referred to as GARCH-type methods. In load forecasting, the variation in the demand is often larger for time periods when the demand is typically higher (however, of course, for each new time series the patterns in the variance should be analysed before choosing a model). For this reason it is often suitable to choose a standard deviation model which is similar to the point forecast model chosen.
Since the components of the residuals as given in Eq. (11.145) are not known, instead consider the absolute or squared residuals $|\epsilon _t|$ or $\epsilon _t^2$. The former will be the focus as it better captures the heavy tails of energy demand. However, the same procedure is applicable for both forms.
Since $\mathbb {E}(|\epsilon _t|)=\sigma _t\mathbb {E}(|Z_t|))$, fitting a model to $|\epsilon _t|$ is equivalent to fitting a model to a scaled version of the standard deviation, $C\sigma _t$, for some constant $C > 0$ since $Z_t$ is a stationary variable (and hence has constant expectation). The fit is usually achieved using ordinary least squares (Sect. 8.2).
The constant C must now be estimated by considering the normalised residuals, $\epsilon _t/|\epsilon _t|=\epsilon _t/C\sigma _t = Z_t/C$, i.e. a scaled version of $Z_t$. Since $Z_t$ has variance equal to one, the scaling, C, can be be estimated by calculating the sample standard deviation, $\alpha$, of the normalised residuals which tells us that $C=1/\sqrt{\alpha }$.
For this method notice that there is no assumption on the underlying distribution (only on its variance). An updated version of the bootstrap forecast in Sect. 11.6.1 now updates the 1-step ahead forecast by adding a sample from the distribution of Z (sample from the empirical distribution for Z formed from the standardized residuals $\epsilon _t/\sigma _t$) which has then been scaled by the $\sigma _t$ model at the current time. Note it is assumed that the errors $\epsilon _t$ and standardised residuals are uncorrelated in time to allow them to be randomly sampled for the bootstrap. As usual residuals should be checked (in this case the standardised residuals) to ensure that they satisfy the assumptions about correlation, fixed variance and have zero mean. If these assumptions do not hold then further updates can be applied (as in Sect. 7.5). A specific example of the above GARCH-type model will be given in the LV case study in Sect. 14.2.
11.7 Copula Models for Multivariate Forecasts
This section introduces Copulas, another popular method for generating multivariate probabilistic forecasts, widely used in quantitative finance, but now used extensively in energy forecasts. Here only the basics will be described. Suggested further reading can be found in Appendix D.
A copula is simply a function, C, from an N-dimensional unit box to a 1-dimensional unit box, i.e. $C: [0, 1]^N \longrightarrow [0,1]$, and describes a cumulative distribution function on variables $U_1, \ldots , U_N$ where each variable $U_i$ is uniformly distribution over [0, 1], i.e. $C (u_1, u_2, \ldots , u_N) = P (U_1 \le u_1, U_2 \le u_2, \ldots ,U_N \le u_N)$. In other words a copula models the joint distribution on variables $U_1, \ldots , U_N$ with uniform marginal distributions (See Sect. 3.3 for more details on joint and marginal distributions). A copula is focused on the correlation/inter-dependence structure of the variables. An advantage of these methods is the wide range of different possible copula functions which can be used to model the inter-dependence.
The process in Eq. (11.147) is reversible which means once a copula model has been trained on observations then multivariate samples can be easily produced with the relevant dependency structure. First samples $u_1, u_2, \ldots , u_N$ are generated from the copula distribution and then each variable is transformed into the original random variable space using the inverse CDF of the marginal $F^{-1}_i(u_i)$ for each corresponding component of the sample point.

Example of samples from Gumbel copulas with different values of $\theta$
It is clear that different copula’s are useful for different dependency structures and that not all copulas are useful for all types of data. For example, Gumbel copula’s shouldn’t be used with data with negative correlations. How to choose and fit a copula will be briefly considered later in this section.

Observations from a bivariate distribution with Gaussian Copula, with Gamma (X1) and Gaussian (X2) marginal distributions (shown as the histograms)

Distribution of transformed observations where the marginals of their respective components have been applied. The marginals are now uniform as shown by the histograms

Samples from the copula model fitted to the observations
A similar process can be used to generate ensemble demand forecasts. In this case, consider a demand time series $L_1, L_2, \ldots ,$ where the aim is to generate a day-ahead multivariate forecast with, say, forecast origin $t=N$. Further for simplicity, suppose the data is hourly and hence a 24-step ahead forecast is being considered. The aim here will be to generate a multivariate distribution for the day, $F_{N+1, \ldots , N+24}(L_{N+1}, \ldots , L_{N+24})$, and hence model the inter-dependencies between different times of the day. It is assumed that CDFs for the marginals at different times of the day are already known, i.e. $F_1(L_{N+1}), \ldots , F_{24}(L_{N+24})$ are known. These could be estimated, e.g. by the univariate probabilistic models described earlier in this chapter. In this case a copula can be used to model the intra-day dependency structure by training on the daily profiles transformed by the marginals.
Choosing the correct copula’s depends on many factors and a detailed investigation is beyond the scope of this book. Further reading is suggested in Appendix D. In summary, the choice depends on the type of correlation being modelled as well as the dependencies within the tails/extremes of the distribution. One possible approach for choosing an appropriate copula(s) model can be based on comparison on a validation set as described in Sect. 8.1.3.
11.8 Questions
For the questions which require using real demand data, try using some of the data as listed in Appendix D.4. Preferably choose data with at least a year of hourly or half hourly data. In all the cases using this data, split into training, validation and testing in a $60, 20, 20\%$ split (Sect. 8.1.3).
Sample 20 points from a 5-dimensional Gaussian distribution. Make sure that some of the variables are more correlated than others by manipulating the correlation between them in the covariance matrix. You can fix the variance of all the variables to one to make the model simpler. Now consider that each dimension of the Gaussian is a different time step in a time series of five points. Plot each sample to create samples like in Fig. 11.2. What can you see between the variables which are highly correlated? What if you change the variance for different variables, how does this change the ensemble plot?
Generate a quantile regression. Take your linear forecast model you generated in Sect. 9.7. Now fit to the training data a quantile regression for percentiles of $10, 20, 30, \dots , 90$ using inbuilt packages such as quantreg in R.3 Apply to the test set, and count how many values lie between each set of quantiles. Plot the probability integral transform. What shape is it? Is there a bias in the model? Is it under or over dispersed? What adjustments to the quantiles could help produce a uniform PIT?
To demand data with daily or weekly periodicity fit a kernel density estimate for each time step from each period in the seasonal cycle. For example, if the data is half hourly with daily seasonality then train 48 models for each half hour of the day. Fit the model by performing a grid search for the bandwidth. With the final model, apply it to the test set. Generate quantiles for the estimate, and thus calculate the PIT for the same percentiles as the previous question. Is the PIT uniform, overdispersed or underdispersed?
Open Access This chapter is licensed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license and indicate if changes were made.
The images or other third party material in this chapter are included in the chapter's Creative Commons license, unless indicated otherwise in a credit line to the material. If material is not included in the chapter's Creative Commons license and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder.