gemseo_umdo / statistics / multilevel

gemseo_umdo.statistics.multilevel.mlmc

Multilevel Monte Carlo (MLMC) algorithm.

The goal of the MLMC algorithm is to estimate a statistic $theta$ (ex: mean, variance) of the output of a simulator $f$ whose input $mathbf{X}$ is random: that is, a statistic $theta$ of $Y=f(mathbf{X})$.

Let $(f_ell)_{ell = 0}^L$ be a sequence of model levels with increasing accuracy and computational cost, such that $f_L = f$. The MLMC algorithm uses all these models to estimate the statistic $theta_L$ (a.k.a. $theta$) of the random output variable $f_L(mathbf{X})$ where $mathbf{X}$ is a random input vector.

We denote by $Y_ell=f_ell(mathbf{X})$ the random output variable associated with the model level $f_ell$ and by $(theta_ell)_{ell = 0}^L$ the sequence of statistics increasingly close to $theta_L$ where $theta_ell$ is the statistic of $Y_ell$.

The statistical measure $theta_L$ can be expressed as a telescoping sum $theta_L = sum limits_{ell = 0}^{L} T_ell$, where $T_ell = theta_ell - theta_{ell-1}$, and by convention $theta_{-1} = 0$.

Let $hat{theta}_{ell,n_ell}^{mathrm{MC},(ell)}$ and $hat{theta}_{ell-1,n_ell}^{mathrm{MC},(ell)}$ be respectively the Monte Carlo (MC) estimators of $theta_ell$ and $theta_{ell-1}$ using the same $n_{ell}$-sample.

Then, the MLMC estimator $hat{theta}_L^{mathrm{ML}}$ of $theta_L$ may be expressed as:

$$hat{theta}_L^{mathrm{MLMC}} = sum limits_{ell = 0}^{L} hat{T}_{ell,n_ell}^{mathrm{MC}} = sum limits_{ell = 0}^{L} hat{theta}_{ell,n_ell}^{mathrm{MC},(ell)} - hat{theta}_{ell-1,n_ell}^{mathrm{MC},(ell)}. $$