## 2 Methodology
### Theoretical Background
#### 2.1.2 Multi-Output Gaussian Processes Modeling  
Let us now assume the S1 and S2 synergy case, where different outputs have different training input points, this model is called heterotopic in the geostatistics literature [48]. For simplicity, we assume an isotopic setting where each model output has the same set of inputs. In the following, we assume that the mean vector of the Gaussian distribution is zero in a free-noise environment. Let \(\mathfrak{D}_{1}=\{(t_{i},f_{1}(t_{i}))|i=1,\,\ldots,N\}\) be a set of N pairs of RVI random functions \(f_{i}\) extracted from S1 SAR data acquired at times \(t_{i}\) and \(\mathfrak{D}_{2}=\{(t_{i},f_{2}(t_{i}))|i=1,\,\ldots,N\}\) the correspondent VWC samples derived from S2 optical data, if \(f_{1}\) and \(f_{2}\) follow a GP we can write:  
\[f_{1}(t)\sim\mathcal{GP}(0,k_{1}(t,t_{*})) \tag{7}\]  
\[f_{2}(t)\sim\mathcal{GP}(0,k_{2}(t,t_{*})) \tag{8}\]  
where \(k_{1}\) and \(k_{2}\) are the covariance kernels then the vector valued functions for \(f_{1}\) and \(f_{2}\) can be expressed as Gaussian distributions \(f_{1}\sim\mathcal{N}(0,K_{1})\) and \(f_{2}\sim\mathcal{N}(0,K_{2})\) being \(K_{1}\) and \(K_{2}\) the covariance kernel matrixes. Now we create a stacked larger vector \(f\) containing \(f_{1}\) and \(f_{2}\). Assuming that the two processes are independent we can obtain:  
\[\begin{bmatrix}f_{1}\\ f_{2}\end{bmatrix}\sim\mathcal{N}\Big{(}\begin{bmatrix}0\\ 0\end{bmatrix},\begin{bmatrix}\mathbf{K_{1}}&\mathbf{0}\\ \mathbf{0}&\mathbf{K_{2}}\end{bmatrix}\Big{)} \tag{9}\]where the blocks outside the main diagonal are zero because the dependency between \(f_{1}\) and \(f_{2}\) was supposed to be zero. The easiest way to extend the SOGP to MOGP cases is to model each of the model's channels singly with a SOGP. If the outputs are correlated, the SOGP approach fails to account for correlations between the outputs of the model impairing regression processes performance [38]. If we want to account for dependencies between the processes, the joint multivariate Gaussian distribution can be written as:  
\[\begin{bmatrix}f_{1}\\ f_{2}\end{bmatrix}=\begin{bmatrix}f_{1}(t_{1})\\ \vdots\\ f_{1}(t_{N})\\ f_{2}(t_{1})\\ \vdots\\ f_{2}(t_{N})\end{bmatrix}\sim\mathcal{N}\bigg{(}\begin{bmatrix}0\\ 0\end{bmatrix},\begin{bmatrix}\mathbf{K_{f_{1},f_{1}}}&\mathbf{K_{f_{1},f_{2}}}\\ \mathbf{K_{f_{2},f_{1}}}&\mathbf{K_{f_{2},f_{2}}}\end{bmatrix}\bigg{)} \tag{10}\]  
Equation (10) can be simplified to \(f\sim\mathcal{N}\big{(}0,\mathbf{K_{f,f}}\big{)}\). The main challenge of MOGP is to build a cross-covariance function \(cov[f_{1}(t),\ f_{2}(t_{*})]\) such that the matrix \(\mathbf{K_{f,f}}\in\mathbb{R}^{NxN}\) is positive semi-definite and symmetric [39; 41]. The properties of the SOGP are immediately transferred to MOGP because it can straightforwardly be interpreted as SOGP on an extended input space. For a detailed review of the \(\mathbf{K_{f,f}}\) matrix development see the publication by [PERSON] et al. [39].  
One particular approach for building the covariance functions is known as process convolution. Each output of the model results from the convolution of a smoothing kernel and a latent random GP. It was firstly introduced by [PERSON] and [PERSON] [49] to construct covariance functions for SOGP, and later for MOGP [50; 51].