<p>I don't think you can directly apply vanilla GPs to your problem in the way you formulated it. </p>

<p>A GP gives you a distribution over possible functions, conditioned on samples from one stochastic function. If I understand your setting correctly you have a collection of functions (Time series) and want to learn the underlying dynamics of those functions when conditioning on your X (the [-28, 32]).</p>

<p>Let's reframe your problem setting:</p>

<pre><code>list_1 = [....]
list_2 = [....]
...

k = [-28, 32, ...]

X1 = np.arange(0, len(list_1))
Y1 = list_1

X2 = np.arange(0, len(list_2))
Y2 = list_2
...
</code></pre>

<p>In the framework of GPs I would say you want to learn a kernel that depends on your k.
Then, given that Kernel, you have a standard GP where the <code>x</code>s are the time indexes  and the <code>y=f(x)+noise</code> are the time series values. For each k You have some training data you condition on (that is e.g. <code>(X1, Y1)</code>) and want to predict the values f(x) for some other time points (maybe inbetween your x, or in the future for forecasting).</p>

<p>So what you could do is try something like a DeepKernel, where a neural network (or some other function) predicts the Kernel given k(see for example [1]). You could train it via maximizing the marginal likelihood of your training data in gpflow. There are probably some other, more data efficient, methods for learning a kernel, but you'll have to research that.</p>

<p>Alternatively, I've recently seen a few papers about so-called 'Neural Processes', where they have a similar setting: <a href="https://github.com/deepmind/neural-processes" rel="nofollow noreferrer">https://github.com/deepmind/neural-processes</a>
Here the stochastic processes are predicted exclusively with Neural Networks, and not GPs.</p>

<p>Note however that both methods would probably require quite a bit of data.</p>

<p>[1] Calandra, Roberto, et al. "Manifold Gaussian processes for regression." 2016 International Joint Conference on Neural Networks (IJCNN). IEEE, 2016. 
<a href="https://arxiv.org/abs/1402.5876" rel="nofollow noreferrer">https://arxiv.org/abs/1402.5876</a></p>
Gaussian Process Regression: Mapping a input to a time series
<p>First, I would like to describe what I am trying to achieve:
My input X consists of 2 values and output Y consists of 2 lists with different lengths:</p>

<pre><code>list_1 = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 2, 4, 4, 8, 10, 11, 11, 11, 14, 14, 15, 15, 20, 20, 22, 22, 22, 22, 22, 10, 10, 10, 10, 15, 15, 15, 15, 15, 15, 20, 22, 22, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 22, 22, 22, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] 
list_2 =[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 20, 20, 25, 25, 32, 33, 33, 33, 33, 33, 27, 27, 7, 7, 7, 7, 15, 15, 15, 22, 22, 22, 27, 30, 30, 30, 30, 30, 30, 31, 31, 31, 31, 33, 33, 33, 33, 34, 34, 34, 34, 35, 35, 35, 35, 37, 37, 37, 37, 37, 37, 37, 38, 38, 38, 38, 38, 38, 38, 38, 47, 47, 47, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] 

X= [-28,32] 
Y= [list_1,list_2] 
</code></pre>

<p>In most of cases, regression problem maps an input x to a single output y. However in my case, I need to map an input x to a time series y. I am trying to implement this in python using gpflow. I would like to have your opinions, whether the choice of GPR is appropriate for this case and if someone has already done similiar tasks, could you give me some introduction?</p>