绘制数据样本 PDF 的正确方法
The proper way to plot PDF of a sample of data
我知道这一定是非常基本的,但是什么是正确、准确地绘制您知道来自某些 pop 的一些示例数据的 PDF 的方法。分发,就像您使用 rnorm()
或 rexp()
生成它一样?
之所以问,是因为我知道很多人用density()
,然后输入plot()
,但是density()
这个函数好像太随意了,不太准确;例如,当它近似于来自指数分布的数据的负值时,它是不准确的,它不具有负值。值。
那么有人可以向我推荐一种更精细的方法来完成示例 PDF 的绘制吗?
density
函数执行核密度估计 (KDE)。要为您的数据集找到最佳 KDE,您应该调整带宽(参数 bw
)。这是一篇讨论 KDE 和带宽选择的论文:http://www.stat.washington.edu/courses/stat527/s13/readings/Sheather_StatSci_2004.pdf
或者为了更简单的方法,您可以尝试不同的带宽方法来传递给 bw
:
https://stat.ethz.ch/R-manual/R-devel/library/stats/html/bandwidth.html
当前的默认设置 "nrd0" 是出于历史原因。我发现 "ucv" 和 "bcv" 对我的数据集效果更好。
ggplot
确实有助于处理不合适的负值。可以通过以下方式使用:
ggplot(df,
aes(x=contVar, fill = "green")) +
geom_density(alpha=.3)
我也会在 cross validated
中查看此 post
我知道这一定是非常基本的,但是什么是正确、准确地绘制您知道来自某些 pop 的一些示例数据的 PDF 的方法。分发,就像您使用 rnorm()
或 rexp()
生成它一样?
之所以问,是因为我知道很多人用density()
,然后输入plot()
,但是density()
这个函数好像太随意了,不太准确;例如,当它近似于来自指数分布的数据的负值时,它是不准确的,它不具有负值。值。
那么有人可以向我推荐一种更精细的方法来完成示例 PDF 的绘制吗?
density
函数执行核密度估计 (KDE)。要为您的数据集找到最佳 KDE,您应该调整带宽(参数 bw
)。这是一篇讨论 KDE 和带宽选择的论文:http://www.stat.washington.edu/courses/stat527/s13/readings/Sheather_StatSci_2004.pdf
或者为了更简单的方法,您可以尝试不同的带宽方法来传递给 bw
:
https://stat.ethz.ch/R-manual/R-devel/library/stats/html/bandwidth.html
当前的默认设置 "nrd0" 是出于历史原因。我发现 "ucv" 和 "bcv" 对我的数据集效果更好。
ggplot
确实有助于处理不合适的负值。可以通过以下方式使用:
ggplot(df,
aes(x=contVar, fill = "green")) +
geom_density(alpha=.3)
我也会在 cross validated
中查看此 post