【问题标题】:Matlab ksdensity for bivariate data with more evaluation pointsMatlab ksdensity 用于具有更多评估点的双变量数据
【发布时间】:2018-04-06 19:02:49
【问题描述】:
我正在为内核密度运行 Matlab 代码,即[f,xi] = ksdensity(x),其中x 是两列双变量数据。生成的输出f 是密度向量,而xi 是评估点的网格网格,维度为 30x30。请参阅此处的文档:Link。
我正在尝试增加从该代码获得的评估点数。文档中提到了一个名为 'NumPoints' 的选项,该选项仅适用于单变量数据。有没有一种选择或方法可以将二元数据的评估点的网格点增加到 100x100?
【问题讨论】:
标签:
matlab
statistics
kernel-density
【解决方案1】:
您需要使用可选的第二个输入参数pts 来指定网格中输出点的范围和数量。请参阅文档中的this example。根据您的输入数据,您可以指定如下内容:
pts = [linspace(min(x(:,1)),max(x(:,1)),1000).' linspace(min(x(:,2)),max(x(:,2)),1000).'];
【解决方案2】:
NumPoints 在ksdensity() 中是npoints。例如,[f,xi] = ksdensity(x, 'npoints', 1000) 将返回 xi 和 f 的 1000 个点。