【问题标题】:How ksdensity calculates each data point xi?ksdensity 如何计算每个数据点 xi?
【发布时间】:2013-10-12 21:19:14
【问题描述】:

当我在 Matlab 中使用[f,xi] = ksdensity(x) 时,我得到概率密度估计值 fxi ksdensity 计算的评估点 f.

我的问题是:每个 xi 点是如何计算/确定的?有公式吗?

文档中心说:默认是 100 个等距点,覆盖 x 中的数据范围。因此,它们涵盖了范围,但这并不能解释如何计算。

非常感谢!

胡安

【问题讨论】:

  • 我想xi(i)=min(x)+i*(max(x)-min(x))/100

标签: matlab statistics kernel-density


【解决方案1】:

在 MATLAB 中实现等距点的标准方法是使用 linspace 命令。 linspace(a,b,n)ab 之间(包括b)生成n 线性间隔点。

所以它很可能相当于xi = linspace(min(x),max(x))(默认点数是100 inlinspace)。

【讨论】:

  • 非常感谢@pseudoDust 和 ramanan,但您的答案似乎都不起作用。如果我以:Data=[365629;258213;30986;340841;82628;92957;10329;454454;0;51643;309855;82628;51643;10329;41314;41314;330512;0;92957;227227;123942;433797;423469;464783;826280;433797;206570;433797;61971;123942;82628;0;113614;960551;557739;113614;113614]; [PDF,xi]=ksdensity(Data,'kernel','epanechnikov','npoints',10); xi_ramanan= linspace(min(Data),max(Data),10); for i=1:100; xi_pseudoDust(i)=min(Data)+i*(max(Data)-min(Data))/100; end; 为例,结果与ksdensity的xi =/不一样
  • 好的。现在更清楚了,您已经显示了您的数据。异常是因为 0 的存在。由于它们,您的数据会与负值重叠,从而导致xi 最初不存在于Data 中。更详细的解释在stackoverflow.com/questions/17410155/…
  • 谢谢!我以前读过那个帖子,但我的问题还是一样:每个 xi 是如何计算的? =P
猜你喜欢
  • 1970-01-01
  • 2021-04-19
  • 2020-11-30
  • 1970-01-01
  • 2023-02-19
  • 2012-05-10
  • 1970-01-01
  • 1970-01-01
  • 2015-04-14
相关资源
最近更新 更多