如何解决将二维高斯拟合到二维值矩阵
我正在尝试将高斯拟合到这组数据中:
它是一个带有值的二维矩阵(概率分布)。如果我在 3D 中绘制它,它看起来像:
据我从另一个问题 (https://mathematica.stackexchange.com/questions/27642/fitting-a-two-dimensional-gaussian-to-a-set-of-2d-pixels) 中了解到,我需要计算数据的均值和协方差矩阵,而我需要的高斯矩阵正是由该均值和协方差矩阵定义的.
但是,我无法正确理解另一个问题的代码(因为它来自 Mathematica),而且我对统计数据很着迷。
我将如何在 Python(Numpy、PyTorch...)中计算高斯的均值和协方差矩阵?
我试图避免所有这些优化框架(LSQ、KDE),因为我认为解决方案要简单得多,而且计算成本是我必须考虑的......
谢谢!
解决方法
让我们称您的数据矩阵为 D
,形状为 d x n
,其中 d
是数据维度,n
是样本数。我将假设在您的示例中,d=5
和 n=6
,但您需要自己确定哪个是数据维度,哪个是样本维度。在这种情况下,我们可以使用以下代码找到均值和协方差:
import numpy as np
n = 6
d = 5
D = np.random.random([d,n])
mean = D.mean(axis=1)
covariance = np.cov(D)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。