【问题标题】:How to fit a beta distribution to a data with a given mean?如何将 beta 分布拟合到具有给定均值的数据?
【发布时间】:2019-05-06 22:36:08
【问题描述】:

我正在使用 MATLAB 为我的数据拟合 beta 分布。

为此,有几个选项,如fitdist,提供一组ab,并且可以使用betastat 或简单地使用mean 和@987654329 访问统计数据(平均值和标准差) @ 命令。

但是,如果我希望我的分布有一个给定的均值,我该怎么办,并且只有标准是未知的。

有一个例子。我有一个可变大小的半直方图,其中定义了中心比率及其概率如下:

central_ratios = [.005 .1 .4 .8   1]; 
probabilities  = [.5   .3 .1 .08 .02];
vul = sum(central_ratios.*probabilities);

现在我想为数据拟合一个“beta 分布”,范围在 [0,1] 之间,平均值等于 vul。我现在只需要最好的stdab 对。

【问题讨论】:

  • 这是介于 [0,1] 之间的 Beta 分布还是介于 [x1,x2 之间的广义 Beta 分布,其中 x1,x2 是实数?答案取决于此。在这两种情况下,Beta 分布也有两个形状参数,或者表示为 alpha1、alpha2,或者在 MATLAB 中表示为 a 和 b。
  • 另见How to Ask。如果您 edit 您的问题包含 Minimal, Complete, and Verifiable example,您将获得更具体的反馈和/或帮助。
  • 我确实编辑了这个问题。希望它有助于获得更好的答案。@SecretAgentMan

标签: matlab beta-distribution


【解决方案1】:

fitdist 用于 beta 分布从betafit 获取分布参数,它为给定数据的分布设置适当的似然函数,对ab 进行一些启发式初始猜测,然后优化@987654326 @ 和 log(b) 使用 fminsearch 最大化可能性。

定义分布均值的约束在ab 之间建立了强制关系。 From Wikipedia 均值 muab 相关:

mu = 1 / (1 + b/a)

这可以重新排列,以在给定另一个分布参数的情况下给出一个分布参数:

b = a * (1/mu - 1)

要检查 MATLAB 中可用的 beta 分布拟合的无约束实现以及您正在寻求约束,您可以使用以下方法查看 betafit 源代码:

edit betafit

至少在 MATLAB R2018b 中,您会发现 log(a)log(b) 的优化发生在声明:

phat = fminsearch(negloglike,pstart,opts);
phat = exp(phat);

您的约束分布拟合问题可以用此处使用的优化目标函数来描述,这可以让您重用 betafit 行为的其他方面:

negloglike1 = @(loga) negloglike([loga log(exp(loga) * (1/mu - 1))]);

您可以创建自己的 betafit 副本,在调用 fminsearch 之前进行此声明,或者在调用该行后在断点处停止内置 betafit 并声明新的似然函数从命令行。无论哪种方式,您都可以将参数替换为在此约束内最大化可能性的受约束参数:

loga = fminsearch(negloglike1,pstart(1),opts);
phat = exp(loga) * [1 (1/mu - 1)];

生成的 beta 分布参数 phat 将保证产生具有均值 mu 的分布,并在此约束条件下局部最大化您的数据的似然函数。

【讨论】:

  • 谢谢,但步骤不清楚..我相信它是“negloglik”。如果您可以使用完整的执行示例编辑答案,我将不胜感激。
  • 我试图澄清一下答案。 negloglikebetafit 内部使用的函数句柄,您可以按照说明进行检查。这与negloglik 不同,negloglik 是一种分发对象的方法,不在betafit 内部使用。或者,您可以创建一个目标函数,使用试验参数调用makedist,然后调用negloglik,但是在makedist 中的每次迭代都会产生大量开销。如果您想要完整执行示例的答案,您的问题需要一个完整的执行示例以供参考。
猜你喜欢
  • 2014-09-02
  • 2021-02-15
  • 2014-04-20
  • 2015-05-17
  • 2015-01-29
  • 2011-05-16
  • 1970-01-01
  • 2012-05-17
  • 2019-01-13
相关资源
最近更新 更多