问题标签 [gaussian-process]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
111 浏览

python - 拟合高斯过程的后验样本与预测均值不相似

我正在根据此处显示的第二个图拟合高斯过程并从中抽取样本。但是,绘制的样本与拟合函数不相似,并且通常看起来与预测的平均值有很大不同(具体来说,它们没有那么平滑并且有急剧变化)并且不会通过(或接近)给定的数据点(红色图中的点)。

示例图(黑线是预测平均值,蓝色和橙色线是样本): 在此处输入图像描述

经过多次运行,结果总是相似的(即使不完全相同)。有什么想法是什么原因造成的,以及如何使绘制的样本更接近平均值?

用于生成绘图的代码是

0 投票
1 回答
335 浏览

python - 在 sklearn python 中使用高斯过程回归时出错

我开始学习 python 并尝试使用 Sklearn 库实现高斯回归。对于我自己的数据点,我尝试按照此处提供的示例进行操作。但是,当我尝试运行y_pred, std = model.predict(X_te, return_std=True)我的问题的这行代码时,我得到了以下示例。我得到的错误“ XA 和 XB 必须具有相同的列数(即特征维度。)”

我不知道我在哪里犯了错误,请帮助并提前感谢。

输入输出数据示例如下

X_tr, y_tr并且X_te是训练数据点并且是重塑值并且具有“float64数组”类型

这是我的代码示例:

0 投票
1 回答
2349 浏览

python - 使用python网格搜索的高斯过程回归hyparameter优化

我开始使用 Sklearn 库使用我自己的数据点学习高斯回归,如下所示。虽然我得到的结果是不准确的,因为我没有进行超参数优化。我做了一些谷歌搜索和编写gridsearch代码。但是代码没有按预期运行。我不知道我在哪里犯了错误,请帮助并提前感谢。

输入输出数据示例如下

X_tr, y_tr并且X_te是训练数据点并且是重塑值并且具有“float64数组”类型

这是我的网格搜索代码

这是我没有超参数优化的代码示例:

0 投票
0 回答
71 浏览

python - 有没有办法在代码中解决这个问题?

所以当我在这里运行贝叶斯优化时,它一直告诉我这个错误[在此处输入图像描述][1]

有人可以帮我弄这个吗?太感谢了![1]:https ://i.stack.imgur.com/bHCrC.png

0 投票
1 回答
271 浏览

python - 如何为被约束为正的观察建立高斯过程回归模型

我目前正在尝试在 GPflow 中训练一个 GP 回归模型,该模型将根据一些气象输入预测降水值。我正在使用Linear+RBF+WhiteNoise内核,考虑到我正在使用的一组预测器,这似乎是合适的。

我目前的问题是,当我让模型预测新值时,它倾向于预测降水 - 见附图。

构建模型时如何“强制”物理约束?训练数据不包含任何负降水值,但它确实包含许多接近零的值,我认为这意味着GPR模型没有很好地学习“降水必须> = 0”约束。

如果有一种明确执行这样的约束的方法,那将是完美的,但我不确定它是如何工作的。这需要不同的优化算法吗?或者是否有可能以某种方式将此约束构建到内核结构中?

在此处输入图像描述

0 投票
1 回答
341 浏览

pytorch - 将内核应用于 gpytorch 中的单独维度

我正在将 GPflow 中的三维高斯过程回归代码转换为 GPyTorch,以利用 PyTorch 的本机可扩展性来实现精确的 GPR。

此示例很有帮助,但无法找到有关如何将不同内核应用于多维 GPR 中的各个维度的解释(例如,将 Matern52 内核应用于维度 [0,1],将 Matern 32 内核应用于维度 [2] )。

GPyTorch 是否支持该功能,如果支持,它是如何实现的/我在哪里可以找到示例?

0 投票
0 回答
180 浏览

matlab - 方差作为matlab中高斯过程回归(fitrgp)函数的输入

我在 Matlab (fitrgp) 中使用高斯过程回归函数,并且我已经阅读了该函数的完整文档。我使用时间序列数据集,该数据集中的每个点都有自己的差异。我想知道是否有任何方法可以将数据点和方差都传递给这个函数来指定数据之间的不确定性?

这是我使用的代码:

0 投票
1 回答
641 浏览

python - 在 Python 中绘制 GP 95% 置信区间

我使用高斯过程回归来拟合我的数据并且效果很好。但是,当我试图根据我的估计绘制置信区间时。我得到一个凌乱的图表,见下文。

在此处输入图像描述

红线代表CI上限,蓝线代表CI下限,黑线是我的估计数据。我为此编写了以下代码

我在 google 中搜索,发现fill between它对此很有用,因此也使用了它,结果也很糟糕。见下图

在此处输入图像描述

主要 GP 代码

我为此编写的代码如下

数据详情如下。

是否有可能有一个不与我的估计值重叠的 CI?或者我想念的东西。提前致谢。根据评论我修改了代码如下

这给出了如下图

在此处输入图像描述

上面的代码虽然显示了置信区间但无法估计值。这段代码是否正确?或者如何将置信区间与可以清楚地看到的估计值一起绘制。

0 投票
0 回答
38 浏览

gaussian-process - 条件多元正态的顺序抽样

我正在尝试从之前的高斯过程中顺序采样。

问题是样本最终收敛到零或发散到无穷大。

我正在使用这里描述的基本条件

注意: kernel(X,X) 函数返回具有等距噪声的平方指数核。

这是我的代码:

这是一个包含 32 个样本的示例,其中它崩溃了:

在此处输入图像描述

这是一个包含 34 个样本的示例,其中它会爆炸:

在此处输入图像描述

(对于这个特定的内核,34 是(或更多)样本开始发散的样本数。

0 投票
1 回答
252 浏览

python - 高斯过程wrt特征的偏导数

给定具有多维特征和标量观察的高斯过程模型,如何在 GPyTorch 或 GPFlow(或 scikit-learn)中计算输出到每个输入的导数?