密度图的不稳定行为

问题描述

我有两个数值变量,我通过 density 中的命令 R 在下面绘制。代码如下:

d0<-density(T0,n=2^14)
df_density0<-data.frame(x=d0$x,y=d0$y,stringsAsFactors = FALSE)
d1<-density(T1,n=2^14)
df_density1<-data.frame(x=d1$x,y=d1$y,stringsAsFactors = FALSE)

最初,我将等距点的数量 n 保留为认值 512,但后来我意识到密度图 d1 下的面积不等于 1(大约是13)。然后我选择了正确的数字 n 以获得接近于 1 的两个密度图的 AUC(曲线下面积)。这样:

library(zoo)
x <- df_density0$x
y <- df_density0$y
id <- order(x)
AUC0 <- sum(diff(x[id])*rollmean(y[id],2))

x <- df_density1$x
y <- df_density1$y
id <- order(x)
AUC1 <- sum(diff(x[id])*rollmean(y[id],2))

对于 n=2^14,我获得了 AUC0AUC1 等于 0.9999...我绘制了这些密度曲线并获得了下图(蓝色代表 T0,红色代表用于 T1):

enter image description here

由于这些图表无法区分,我为纵轴选择了对数刻度:

enter image description here

我有可能得到这样的结果吗?我应该更改 kernel 函数中的 density 字段吗?

附言。为了绘制这些图形,我将 d0d1 导出到两个 csv 文件中,以便将它们导入 LaTeX。无论如何,我在 R 中获得了相同的图。此外,

> nrow(T0)
[1] 9760
> nrow(T1)
[1] 1963

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)