高斯过程回归:将输入映射到时间序列

2024-06-12 17:49:35 发布

您现在位置:Python中文网/ 问答频道 /正文

首先,我想描述一下我正在努力实现的目标: 我的输入X由2个值组成,输出Y由2个不同长度的列表组成:

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] 

在大多数情况下,回归问题将输入x映射到单个输出y。然而,在我的例子中,我需要将输入x映射到时间序列y。我正试图使用gpflow在python中实现这一点。我想听听你的意见,探地雷达的选择是否适合这种情况,如果有人已经做过类似的任务,你能给我一些介绍吗


Tags: 目标列表时间情况序列list例子意见
1条回答
网友
1楼 · 发布于 2024-06-12 17:49:35

我不认为你可以直接用你的方式来解决你的问题

GP根据一个随机函数的样本给出可能函数的分布。如果我正确理解您的设置,您就有一组函数(时间序列),并且希望在对X(the[-28,32])进行调节时了解这些函数的基本动态

让我们重新设计您的问题设置:

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
...

在GPs的框架下,我想说你想学习一个依赖于你的k的内核。 然后,给定该内核,您有一个标准的GP,其中x是时间索引,y=f(x)+noise是时间序列值。对于每个k,您都有一些训练数据(例如(X1, Y1)),并且希望预测其他一些时间点的值f(x)(可能在x之间,或者在未来进行预测)

因此,您可以尝试一些类似DeepKernel的方法,其中神经网络(或其他函数)预测给定k的内核(参见示例[1])。您可以通过最大化gpflow中训练数据的边际可能性来训练它。可能还有其他一些更有效的方法来学习内核,但您必须对此进行研究

或者,我最近看到了一些关于所谓的“神经过程”的论文,它们有一个类似的设置:https://github.com/deepmind/neural-processes 在这里,随机过程仅用神经网络预测,而不是GPs

但是请注意,这两种方法可能都需要相当多的数据

[1]Calandra,Roberto等人,《回归的流形高斯过程》,2016年国际神经网络联合会议(IJCNN)。IEEE,2016年。 https://arxiv.org/abs/1402.5876

相关问题 更多 >