# Covariance Matrix of HIERARCHICAL MULTITASK GAUSSIAN PROCESS

I'm currently trying to develop a Gaussian Process to predict different levels of different individuals over time.

So it is a Time Regression Problem in which we have multiple tasks, but also multiple individuals... In other words, the shape of my data is [nb_individuals, nb_time_steps, nb_levels] and i try to predict accurately what will be those levels in the future.

Note that for a single person, the time of the samples are the same for all the levels (that can be irregularly separated)

Questions

• 1) if we assume that the levels from different individuals are just different realizations of the same Multitask Gaussian Process, how to we train our model ? I mean, we want to have the same covariance matrix between all the individuals, but the levels are changing from one person to the other, so we want to have different mean functions... Am i right ? At the end, it's not independent Gaussian processes because we don't want to have several covariance matrices, but it's not like a multiperson Gaussian process because they share their covariance matrix.

• 2) Now we assume that each individual has his own behavior, to see the correlation between different individuals. Is it related to Hierarchical Gaussian Processes ? Does it means now that the covariance matrix is a matrix whose shape is [nb_individuals * nb_time_steps * nb_levels , nb_individuals * nb_time_steps * nb_levels]

I have already implemented a Multitask Gaussian Process (it means that my covariance matrix is the Kronecker product of a matrix of time covariance and a matrix of levels covariance) for a single person, so i'm considering only the individual level... and i would like to include the signal that come from the population level (see Question 2). It would be great to see how an individual differs from the group !

I'm using Python to develop my algorithms and it seems really complicated to find a code with Hierarchical GP, if it is the right thing to apply, and do you know a library i can use ? I've seen a package in Matlab but none in Python.

It's quite strange that training a model by using multiple repetitions of the same Gaussian Process seems so hard... Am i doing it wrong ? Should i look at Multilevel GP, Hierarchical GP or Mixture of GP ?

Thank you so much for your help, it would help me a lot !