4 种不同的 Matlab 函数来估计数据的 PDF 给出 4 种不同的结果
4 different Matlab functions to estimate the PDF of data give 4 different results
我可能会卡在一些细节上,但我卡在看似操作上。我有一组数据 gaussian_noise
(用 mean = mu, and std_dev = sigma
表示白噪声),我想绘制此数据的 PDF。 gaussian_noise
的取值范围是[-0.0155; 0.0155]。我使用了几种方法,它们都给我不同的情节。所有这些都不对应于 mean = mu and st_dev = sigma
的高斯分布的理论 PDF。你知道我错过了什么吗?正常化?但是 ksdensity
显然 returns 是一个归一化的结果。以下是我正在做的事情和情节的一些例子:
[pdf_empir, sample_data] = ksdensity(gaussian_noise);
figure; plot(sample_data, pdf_empir);
当我更改 ksdensity
的带宽时,我得到了一条平滑、连续的曲线,但又出现了不同的值
通过使用histogramm
figure; histogram(gaussian_noise,'Normalization','pdf');
当然我可以平滑曲线以获得连续的 PDF,但困扰我的一点是函数值(y 轴)都不同。
通过使用 histfit
figure; histfit(gaussian_noise)
具有 mean = 0
和 sigma = 0.0027
的高斯分布的理论 PDF,针对数据范围 x_range = [-0.0155; 0.0155]
和 10000 个实例进行评估(通过 normpdf
获得)
峰值在 146.9,对应于理论值 1/(sigma*sqrt(2*pi))
。
显然,我应用上述方法做错了什么。我想,我需要做一些标准化。但是当我除以 length(gaussian_noise)
时,由于它是一个常数,我再次使用不同的方法获得不同的值。
你知道我做错了什么吗?
感谢您的想法和评论。
我认为这里的根本问题是需要一致的不是分布的峰值,而是它们下方的区域。此外,如果分布被归一化,则面积应等于 1。
在上面的每个绘图方法中,"bin width" 的大小不同,这会导致每个 bin 中的值发生变化,以保留曲线下的面积。
我可能会卡在一些细节上,但我卡在看似操作上。我有一组数据 gaussian_noise
(用 mean = mu, and std_dev = sigma
表示白噪声),我想绘制此数据的 PDF。 gaussian_noise
的取值范围是[-0.0155; 0.0155]。我使用了几种方法,它们都给我不同的情节。所有这些都不对应于 mean = mu and st_dev = sigma
的高斯分布的理论 PDF。你知道我错过了什么吗?正常化?但是 ksdensity
显然 returns 是一个归一化的结果。以下是我正在做的事情和情节的一些例子:
[pdf_empir, sample_data] = ksdensity(gaussian_noise);
figure; plot(sample_data, pdf_empir);
当我更改 ksdensity
的带宽时,我得到了一条平滑、连续的曲线,但又出现了不同的值
通过使用histogramm
figure; histogram(gaussian_noise,'Normalization','pdf');
当然我可以平滑曲线以获得连续的 PDF,但困扰我的一点是函数值(y 轴)都不同。
通过使用 histfit
figure; histfit(gaussian_noise)
具有 mean = 0
和 sigma = 0.0027
的高斯分布的理论 PDF,针对数据范围 x_range = [-0.0155; 0.0155]
和 10000 个实例进行评估(通过 normpdf
获得)
峰值在 146.9,对应于理论值 1/(sigma*sqrt(2*pi))
。
显然,我应用上述方法做错了什么。我想,我需要做一些标准化。但是当我除以 length(gaussian_noise)
时,由于它是一个常数,我再次使用不同的方法获得不同的值。
你知道我做错了什么吗? 感谢您的想法和评论。
我认为这里的根本问题是需要一致的不是分布的峰值,而是它们下方的区域。此外,如果分布被归一化,则面积应等于 1。
在上面的每个绘图方法中,"bin width" 的大小不同,这会导致每个 bin 中的值发生变化,以保留曲线下的面积。