在 Matlab 或 Java 中自动将分布拟合到直方图
Automatically fitting distribution to histogram in Matlab or Java
我有一个特征(机器学习)的直方图。这意味着在 x 轴上我有几个特征可以采用的值,在 y 轴上我有出现的次数。
如果我不知道它是哪种分布(正态分布或几何分布等),是否可以在 Matlab(或 Java)中自动将概率分布拟合到此直方图?这意味着 Matlab(或 Java)应该弄清楚它是哪个分布并给我最佳参数。
问题是我有很多特征,手动检查这些特征需要太多时间。
编辑:我发现以下 Matlab 工具可以完成这项工作:http://blogs.mathworks.com/pick/2012/02/10/finding-the-best/不幸的是,它仅支持参数化模型。
Edit2:我现在有点困惑。我读到我必须标准化我的直方图,这样我才能看到经验概率而不是数字。如果我想尝试所有可能的参数分布并选择最好的一个,这是真的吗?这种归一化如何在 Matlab 中完成?
我不知道有什么工具可以自动找到最佳分布类型。但是,由于真实数据通常不完全对应于一种分布,并且存在任意数量的可能分布,因此存在这样一种工具也没有什么意义。
我建议将您的问题限制在某些分布模型(高斯分布模型、对称分布模型等)上,计算各个模型的最佳拟合,为每个拟合生成似然参数,然后取 fit/model可能性最大。
我有一个特征(机器学习)的直方图。这意味着在 x 轴上我有几个特征可以采用的值,在 y 轴上我有出现的次数。
如果我不知道它是哪种分布(正态分布或几何分布等),是否可以在 Matlab(或 Java)中自动将概率分布拟合到此直方图?这意味着 Matlab(或 Java)应该弄清楚它是哪个分布并给我最佳参数。
问题是我有很多特征,手动检查这些特征需要太多时间。
编辑:我发现以下 Matlab 工具可以完成这项工作:http://blogs.mathworks.com/pick/2012/02/10/finding-the-best/不幸的是,它仅支持参数化模型。
Edit2:我现在有点困惑。我读到我必须标准化我的直方图,这样我才能看到经验概率而不是数字。如果我想尝试所有可能的参数分布并选择最好的一个,这是真的吗?这种归一化如何在 Matlab 中完成?
我不知道有什么工具可以自动找到最佳分布类型。但是,由于真实数据通常不完全对应于一种分布,并且存在任意数量的可能分布,因此存在这样一种工具也没有什么意义。
我建议将您的问题限制在某些分布模型(高斯分布模型、对称分布模型等)上,计算各个模型的最佳拟合,为每个拟合生成似然参数,然后取 fit/model可能性最大。