0

我需要进行数据拟合以找到给定数据的分布。

我需要找到分布的pdf函数。

我可以在 matlab 和 python 中使用数据拟合函数。

它看起来像一个截断的伽马。

但是,如何找到分布的参数?

如果数据不能很好地拟合截断的伽马怎么办?

QQ 图(四分位数)表明它不适合截断伽马。

如何找到截断 gamma 的分布参数,例如 alpha(形状)、beta(比例)?

如果数据拟合在这里不起作用,我可以使用哪些其他方法?

任何帮助,将不胜感激。

4

2 回答 2

1

在 Matlab 中查看allfitdist

或者,考虑使用 ExpertFit 或 EasyFit 等专业套装。JMP 统计软件还有一个相当容易使用的分布拟合选项。所有这些都将评估拟合优度标准,例如Cramer-von Mises和对数似然估计。

一旦您选择了分布的函数形式,参数值通常由最大似然估计器矩量法估计。

如果您计划在某种模拟中使用结果,您可能会考虑仅引导样本而不是分布拟合。如果进行模拟,另一种选择是运行一个设计的实验,您可以在其中改变分布选择,看看替代方案是否会对您的结果产生重大影响,然后再过分担心是否适合正确的分布。

于 2014-03-15T16:13:29.063 回答
0

也许这篇文章可以提供帮助。

我提供了一个示例,说明如何使用OpenTURNS根据 BIC 标准找到最佳分布。

您定义一个列表“分销工厂”tested_distributions = [ot.WeibullMaxFactory(), ot.NormalFactory(), ot.UniformFactory()]

然后你打电话BestModelBIC找最合适的 best_model, best_bic = ot.FittingTest.BestModelBIC(sample, tested_distributions)

目前,您可以在 OpenTURNS 中的 30 个可用“工厂”中进行选择(见下文)。TruncatedNormalFactory 可用但还没有 TruncatedBetaFactory

print(ot.DistributionFactory.GetContinuousUniVariateFactories())

[Out]: 
[ArcsineFactory,
BetaFactory, 
BurrFactory, 
ChiFactory, 
ChiSquareFactory, 
DirichletFactory,
ExponentialFactory,
FisherSnedecorFactory,
FrechetFactory,
GammaFactory,
GeneralizedParetoFactory,
GumbelFactory,HistogramFactory,
InverseNormalFactory,
LaplaceFactory,LogisticFactory,
LogNormalFactory,
LogUniformFactory,
MeixnerDistributionFactory,
NormalFactory,
ParetoFactory,
RayleighFactory,
RiceFactory,
StudentFactory,
TrapezoidalFactory,
TriangularFactory,
TruncatedNormalFactory,
UniformFactory,
WeibullMaxFactory,
WeibullMinFactory]
#30
于 2020-11-05T14:22:47.963 回答