R 中的概率密度 (pdf) 提取

Probability Density (pdf) extraction in R

我试图在 R 中重现上述函数。分子具有 "y" 在时间 "t" 的概率密度函数 (pdf) 的乘积。 omega_t 只是权重(现在让我们忽略)。 i 代表在时间 t.

model_i 得出的每个 y 预测(连同密度)

分母是上述乘积的积分。我的问题是:如何估计密度。要获得变量的密度,需要一些数据点。到目前为止我有这个:

y<-c(-0.00604,-0.00180,0.00292,-0.0148)
forecastsy_model1<-c(-0.0183,0.00685) # respectively time t=1 and t=2 of the forecasts
forecastsy_model2<-c(-0.0163,0.00931) # similarly
all.y.1<-c(y,forecasty_model1) #together in one vector 
all.y.2<-c(y,forecasty_model2) #same

但是,我不知道如何提取时间 t=1t=6x1 的密度来做产品。我已经考虑过这个来找到使用这个估计的密度:

dy1<-density(all.y.1)
which(dy1$x==0.00685)
integer(0) #length(dy1$x) : 512
根据文档,

with dy1$x 包含估计密度的点的 n 坐标。 n 不应该是 6,或者至少包含我提供的 y 的点吗?提取 y 的密度 (pdf) 的正确方法是什么?

density 中有一个 n 参数,默认为 512density returns 您在相对密集的网格上估算了密度值,以便绘制密度曲线。网格点由您的数据范围 () 和 n 值决定。它们产生均匀间隔的网格。采样位置可能不完全位于此网格上。

您可以使用线性插值来获取此网格覆盖的任何位置的密度值:

  • Find the probability density of a new data point using "density" function in R