如何确定、计算和绘制给定数字集的概率分布?

信息处理 离散信号 信号分析 估计 统计数据
2022-02-01 02:52:34

一个设备以特定的风速旋转,并在一分钟内产生这样的脉冲频率:

24.988 25.224 25.212 25.066 25.310 24.963 24.826 24.944 25.490 25.176 24.740 24.988   
24.994 24.722 24.510 24.863 25.249 24.931 25.218 24.907 25.459 25.292 25.163 25.447 
25.072 25.360 24.976 25.103 25.237 24.845 25.237 25.206 25.109 24.969 24.976 25.194 
25.218 24.975 24.777 24.832 24.564 24.637 24.919 24.931 24.944 24.994 25.378 25.042
25.182 25.151 25.097 25.103 25.030 25.018 24.783 24.722 24.667 24.963    

是否有可能了解这是什么类型的分布并绘制它?每个数字是一秒钟频率的平均值。

每个数字都是1以 Hz 为单位的秒的平均脉冲频率。所以我想看看这些频率是如何分布的。

3个回答

基于您的数据核密度估计:

在此处输入图像描述

根据您的编程语言,您可能会找到具有不同分布的相应拟合函数。

编辑

我尝试在您的数据拟合中使用带有统计工具箱的allfitdist 函数。

x = [24.988 25.224 25.212 25.066 25.310 24.963 24.826 24.944 25.490 25.176 24.740 24.988   ...
24.994 24.722 24.510 24.863 25.249 24.931 25.218 24.907 25.459 25.292 25.163 25.447 ...
25.072 25.360 24.976 25.103 25.237 24.845 25.237 25.206 25.109 24.969 24.976 25.194 ...
25.218 24.975 24.777 24.832 24.564 24.637 24.919 24.931 24.944 24.994 25.378 25.042...
25.182 25.151 25.097 25.103 25.030 25.018 24.783 24.722 24.667 24.963    ];

[D PD] = allfitdist(x,'PDF');  

不幸的是,拟合的概率密度不够好:

在此处输入图像描述

每个可能分布的曲线都是重叠的。就像我昨天提到的,您可能需要更多的样本数才能获得更好的估计。

在 Matlab 中看起来像下面的代码

由于您的数据集非常小,因此很难准确估计 PDF。你拥有的数据越多,你的估计就越好,你可以做的间隔越小。要获得实际的 PDF,您必须对间隔宽度进行标准化。

%% data
x = [24.988 25.224 25.212 25.066 25.310 24.963 24.826 24.944 25.490 25.176 24.740 24.988   ...
24.994 24.722 24.510 24.863 25.249 24.931 25.218 24.907 25.459 25.292 25.163 25.447 ...
25.072 25.360 24.976 25.103 25.237 24.845 25.237 25.206 25.109 24.969 24.976 25.194 ...
25.218 24.975 24.777 24.832 24.564 24.637 24.919 24.931 24.944 24.994 25.378 25.042...
25.182 25.151 25.097 25.103 25.030 25.018 24.783 24.722 24.667 24.963    ];

% create sum suitable bins
bins = 24.5:.1:25.4;
[count, intervals ] = hist(x,10); % 10 intervals;
clf;
bar(intervals, count);
grid('on');

是的,只需绘制一个直方图。如果您有 MATLAB,则可以使用 trapz 将每个 bin 中的计数转换为概率。玩弄垃圾箱的数量,直到你得到看起来合理的东西。应该注意的是,您可能没有足够的数据来很好地表示 PDF。