MATLAB 中的归一化直方图不正确?
Normalized histogram in MATLAB incorrect?
我有如下一组数据:
X=[4.692
6.328
4.677
6.836
5.032
5.269
5.732
5.083
4.772
4.659
4.564
5.627
4.959
4.631
6.407
4.747
4.920
4.771
5.308
5.200
5.242
4.738
4.758
4.725
4.808
4.618
4.638
7.829
7.702
4.659]; % Sample set
我使用最大似然法对此进行了帕累托分布拟合,得到了下图:
下面的代码是绘制直方图的地方:
[N,edges,bin] = histcounts(X,'BinMethod','auto');
bin_middles=mean([edges(1:end-1);edges(2:end)]);
f_X_sample=N/trapz(bin_middles,N);
bar(bin_middles,f_X_sample,1);;
我这样做对吗?我检查了 100 次,帕累托分布确实是最优的,但它似乎与直方图大不相同。是否存在可能导致此问题的错误?谢谢!
我同意@tashuhka 的评论,即您需要考虑如何对数据进行装箱。
想象一下极端情况,您将所有内容都集中到一个容器中,然后尝试将该单个点拟合到一个分布中。您的 PDF 看起来一点也不像您的单个方形条。分成两个箱子,现在拟合仍然很糟糕,但至少一个条形图(可能)比另一个大一点,等等。在另一个极端,每个数据点都有自己的条形图,条形图是只有一个计数的随机条形森林。
choosing an "optimal" bin size 有许多不同的策略可以最小化 bin 的数量但最大化底层 PDF 的表示。
最后,请注意您在这里只有 30 分,所以您的其他问题可能是您还没有收集到足够的数据来真正确定基础 PDF。
我有如下一组数据:
X=[4.692
6.328
4.677
6.836
5.032
5.269
5.732
5.083
4.772
4.659
4.564
5.627
4.959
4.631
6.407
4.747
4.920
4.771
5.308
5.200
5.242
4.738
4.758
4.725
4.808
4.618
4.638
7.829
7.702
4.659]; % Sample set
我使用最大似然法对此进行了帕累托分布拟合,得到了下图:
下面的代码是绘制直方图的地方:
[N,edges,bin] = histcounts(X,'BinMethod','auto');
bin_middles=mean([edges(1:end-1);edges(2:end)]);
f_X_sample=N/trapz(bin_middles,N);
bar(bin_middles,f_X_sample,1);;
我这样做对吗?我检查了 100 次,帕累托分布确实是最优的,但它似乎与直方图大不相同。是否存在可能导致此问题的错误?谢谢!
我同意@tashuhka 的评论,即您需要考虑如何对数据进行装箱。
想象一下极端情况,您将所有内容都集中到一个容器中,然后尝试将该单个点拟合到一个分布中。您的 PDF 看起来一点也不像您的单个方形条。分成两个箱子,现在拟合仍然很糟糕,但至少一个条形图(可能)比另一个大一点,等等。在另一个极端,每个数据点都有自己的条形图,条形图是只有一个计数的随机条形森林。
choosing an "optimal" bin size 有许多不同的策略可以最小化 bin 的数量但最大化底层 PDF 的表示。
最后,请注意您在这里只有 30 分,所以您的其他问题可能是您还没有收集到足够的数据来真正确定基础 PDF。