【问题标题】:How to calculate derivative of multivariate normal probability density function如何计算多元正态概率密度函数的导数
【发布时间】:2012-11-08 23:20:24
【问题描述】:

是否有任何内置函数计算给定点的多元正态概率密度函数的梯度值?

编辑:找到了这个how to evaluate derivative of function in matlab?,但这不是我要找的

Edit2:哦,这就是我使用的http://www.mathworks.co.uk/help/stats/mvnpdf.html case 3,寻找关于 X 的导数值

【问题讨论】:

  • 我找到了这个page。这就是你要找的东西吗?
  • 您的标题和帖子相互矛盾;你在找pdf,还是pdf的渐变?
  • 点 X 处 pdf 的梯度值
  • 相对于哪个变量/参数的梯度?它有不止一个...
  • @Karusmeister 您能否提供有关您的输入数据的更多详细信息?您的 PDF 是由矩阵还是由函数表示?如果它是一个函数,它是接受向量作为输入(i.e f(X)),还是必须接受显式组件(i.e f(x1, x2, x3, ...))?

标签: matlab probability gaussian


【解决方案1】:

我可以建议您查看 Peterson 和 Pedersen 的 The Matrix Cookbook(可在线免费获得 - 只需 google 即可)。您问题的解析解在 p39, equation 325 (2008 edition)。

我们甚至不需要 Matlab 来做这个!

编辑:正如 YBE 所暗示的,也许我应该在我的答案中包含解决方案。因此,设 p(x) 表示多元高斯 pdf,以均值向量 m 和协方差矩阵 S 为特征。那么:

dp(x) / dx = -p(x) * S^(-1) * (x - m)

d^2p / dx dx' = p(x) * (S^(-1) (x - m)(x - m)' S^(-1) - S^(-1))

如果你想要一个 Matlab 函数,那么:

function Gradient = MultNormD1(x, Mu, Sigma)
Gradient = -1 * mvnpdf(x, Mu, Sigma) * (Sigma \ (x - Mu));

【讨论】:

  • +1,只是为了在这里完成:d/dx x^T.\Sigma。 x = 2\Sigma x (\Sigma hermitian and psd) and d/dx(a^T.x)= a
猜你喜欢
  • 2017-09-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-11
  • 2020-12-06
  • 2018-08-09
  • 1970-01-01
相关资源
最近更新 更多