how to generate new data using Gaussian Process?

22 views (last 30 days)
I have 2dtrajectories(longitude, latitude).
I want to make(or generate) similar trajectories to trajectories i have using Gaussian Process.
I know Gaussian Process is mainly used for regression, but i heard Gaussian Process is also used for generating new data.
Please let me know how to do this.
if possible, I want to do it with 3d(longitude,latitude,altitude).
Thanks.
  3 Comments
Sierra
Sierra on 3 Aug 2022
Hello, Sam Chak.
and I don't understand your second question. the trajectory just consists of coordinates.
Sam Chak
Sam Chak on 3 Aug 2022
If you have some desired waypoints (coordinates that your Agent must pass through in an Environment), then you can mathematically build the trajectory connecting the Start Point and the Final Point.

Sign in to comment.

Answers (1)

Ayush Anand
Ayush Anand on 11 Sep 2023
Hi Sierra,
I understand you have some 2d trajectories and want to generate similar trajectories using Gaussian process. You can do this by fitting a Gaussian process model to the data you already have, and then sampling from the fitted Gaussian to obtain similar trajectories. Here are some general steps you can follow to do the same:
  1. Define a Kernel Function: Select an appropriate kernel function for your Gaussian Process. The kernel function captures the similarity between data points and determines the smoothness of the generated trajectories. Commonly used kernels include the Radial Basis Function (RBF) kernel, Matérn kernel, and Exponential kernel. This is more of a trial and selection process, depending upon the kernel that best fits your data shape.
  2. Train the Gaussian Process: Use your existing trajectory data to train the Gaussian Process model. This involves fitting the GP to the observed data points using the chosen kernel function. The GP model will learn the underlying patterns and correlations in the data.
  3. Generate New Trajectories: Once the GP model is trained, you can generate new trajectories by sampling from the learned distribution. To do this, select a set of input points (longitude, latitude, and altitude coordinates) where you want to generate new trajectories. Pass these input points through the GP model, and the model will produce corresponding output points as samples from the learned distribution.
  4. Repeat the Sampling: You can repeat the sampling process multiple times to generate multiple similar trajectories. Each time you sample from the GP model, you will obtain a different trajectory(since it is a probabilitsic model) that is consistent with the learned patterns and correlations in the original data.
You can refer to the following links for more insight into this:
  1. https://in.mathworks.com/help/stats/gaussian-process-regression-models.html (A general overview of Gaussian process regression models in MATLAB)
  2. https://in.mathworks.com/matlabcentral/answers/1897855-how-to-sample-from-a-distribution (A MATLAB Answer on how to sample from a distribution)
I hope this helps!

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!