从多元正态 pdf 中选择
Choose out of multivariate normal pdf
我有一些关于 scipy.stats.multivariate_normal
的问题。
它是什么return?我了解使用时:
var = scipy.stats.multivariate_normal(mean, cov)
z = var.pdf([x,y])
我将在 z 中获取该索引的 pdf。这是真的吗?
我假设给出的平均值是pdf的峰值。我说的对吗?
我想创建一个 4D 高斯 pdf 地图,并根据 pdf 从中随机选择 N
个点(用于粒子滤波器预测)。要使用 np.choose
,我需要创建一个形状为 (M,1)
的 pdf 值数组,以及一个形状为 (M, 4)
.
的 4D 点数组
有没有更有效的方法来做到这一点?
正态分布非常普遍并在许多不同的地方实现,所以我认为您最好使用 numpy 的随机正态采样:https://numpy.org/doc/stable/reference/random/generated/numpy.random.normal.html。在此函数中,您可以指定输出的形状。
使用 DIN 的答案,这就是我所做的:
x_predict = np.random.normal(mean[0], covs[0], N)
y_predict = np.random.normal(mean[1], covs[1], N)
sx_predict = np.random.normal(mean[2], covs[2], N)
sy_predict = np.random.normal(mean[3], covs[3], N)
particles = np.dstack((x_predict, y_predict, sx_predict, sy_predict))
我有一些关于 scipy.stats.multivariate_normal
的问题。
它是什么return?我了解使用时:
var = scipy.stats.multivariate_normal(mean, cov) z = var.pdf([x,y])
我将在 z 中获取该索引的 pdf。这是真的吗?
我假设给出的平均值是pdf的峰值。我说的对吗?
我想创建一个 4D 高斯 pdf 地图,并根据 pdf 从中随机选择
的 4D 点数组N
个点(用于粒子滤波器预测)。要使用np.choose
,我需要创建一个形状为(M,1)
的 pdf 值数组,以及一个形状为(M, 4)
.
有没有更有效的方法来做到这一点?
正态分布非常普遍并在许多不同的地方实现,所以我认为您最好使用 numpy 的随机正态采样:https://numpy.org/doc/stable/reference/random/generated/numpy.random.normal.html。在此函数中,您可以指定输出的形状。
使用 DIN 的答案,这就是我所做的:
x_predict = np.random.normal(mean[0], covs[0], N)
y_predict = np.random.normal(mean[1], covs[1], N)
sx_predict = np.random.normal(mean[2], covs[2], N)
sy_predict = np.random.normal(mean[3], covs[3], N)
particles = np.dstack((x_predict, y_predict, sx_predict, sy_predict))