Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 高斯过程回归:将输入映射到时间序列_Python_Machine Learning_Regression_Gaussian_Gpflow - Fatal编程技术网

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

Python 高斯过程回归:将输入映射到时间序列,python,machine-learning,regression,gaussian,gpflow,Python,Machine Learning,Regression,Gaussian,Gpflow,首先,我想描述一下我正在努力实现的目标: 我的输入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, 2

首先,我想描述一下我正在努力实现的目标: 我的输入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中实现这一点。我想听听你的意见,探地雷达的选择是否适合这种情况,如果有人已经做过类似的任务,你能给我一些介绍吗?

我认为你不能用你制定的方式直接将普通GPs应用于你的问题

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
s是时间索引,
y=f(x)+noise
是时间序列值。对于每个k,您都有一些训练数据(例如,
(X1,Y1)
),并且希望预测其他时间点的值f(x)(可能在x之间,或者在未来进行预测)

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

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

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

[1] Carandra,Roberto等人,《回归的流形高斯过程》,2016年国际神经网络联合会议(IJCNN)。IEEE,2016年。

我想不出任何(相当简单的)直接建模Y=f(X)的方法,其中Y中的元素是任意长度的列表(X中的每个元素都不同)。它可能有助于增加一点你想做的事情,让人们能够更好地帮助你@STJ我正试图从论文中实现这个GPR模型:。如第684页所示,作者将手术器械的初始位置作为输入,并估计相应的轨迹值,包括力值。然而,正如法布里西奥所说,正态探地雷达给出了函数样本的分布。这里,在本文中,数据集被定义为X=[初始位置,初始位置,…]和Y=[系统状态_1,系统状态_2,…]。