【问题标题】:4 different Matlab functions to estimate the PDF of data give 4 different results4 种不同的 Matlab 函数来估计数据的 PDF 给出 4 种不同的结果
【发布时间】:2019-01-02 05:45:57
【问题描述】:

我可能会卡在一些细节上,但我卡在看似操作上。我有一组数据gaussian_noise(用mean = mu, and std_dev = sigma 表示白噪声),我想绘制这些数据的PDF。 gaussian_noise 的值在 [-0.0155; 0.0155]。我使用了几种方法,它们都给了我不同的情节。所有这些都与mean = mu and st_dev = sigma 的高斯分布的理论 PDF 不对应。你知道我错过了什么吗?正常化?但是ksdensity 显然返回了一个标准化的结果。以下是我正在做的一些例子和情节:

[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 = 0sigma = 0.0027 的高斯分布的理论PDF,针对数据范围x_range = [-0.0155; 0.0155] 和10000 个实例进行评估,看起来像(使用normpdf 获得)

峰值位于 146.9,对应于理论 1/(sigma*sqrt(2*pi))

显然,我通过应用上述方法做错了。我想,我需要做一些标准化。但是当我除以length(gaussian_noise)时,由于它是一个常数,我再次用不同的方法得到不同的值。

你知道我做错了什么吗? 感谢您的想法和 cmets。

【问题讨论】:

  • 我认为大部分问题的答案是:您缺少理论,特别是离散统计/数学理论。您似乎没有做任何本质上的错误,只是您不知道使用方法或其他方法的确切含义。
  • 感谢@Ander Biguri 编辑我的帖子。我怎样才能让图片像你一样出现在帖子中?当我将这些数字添加到帖子中时,它们会自动作为链接参考放置在帖子的末尾
  • 你还没有声望,只要你有积分就可以得到。

标签: matlab gaussian noise probability-density


【解决方案1】:

我认为这里的基本问题是需要一致的不是分布的峰值,而是它们下方的区域。此外,如果分布是归一化的,那么面积应该等于 1。

在上面的每个绘图方法中,“bin width”的大小不同,这会导致每个 bin 中的值发生变化,以保持曲线下的面积。

【讨论】:

  • 谢谢@Andrew Palmer。我当然忘记了 bin 宽度因子,在这种情况下它是必不可少的。尽管如此,如果我在任何结果上与trapz 集成,我应该得到一个值 1,不是吗?但是,我得到完全随机的值,例如9*10^4 以此类推。即使我通过trapz(pdf_empir)/length(x_range) 进行归一化,我也得到 9。我应该使用另一个函数来计算积分吗?谢谢。
  • 如果您的 bin 长度不变,请尝试 AREA = bin_width * trapz(pdf_empir)
猜你喜欢
  • 2016-12-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-23
  • 1970-01-01
  • 2020-03-02
相关资源
最近更新 更多