从上方/下方观察中估计分布

机器算法验证 分布 估计 非参数 审查
2022-04-19 05:25:31

P是一个未知分布(,). X1,,Xn是一个独立同分布样本P. c1,,cn(,)是一组已知的常数。我们观察Y1,,Yn, 在哪里Yi=1(Xi<ci). (那是,Yi=1如果Xi<ci并且是0否则。)我正在寻找一些“合理”的分布估计P.

我所说的“合理”是什么意思?为简单起见,假设P在 [0,1] 上受支持,并且ci是来自 Uniform[0,1] 的 iid 样本。P可能有原子,但如果它邀请更多答案,我们可以忽略它。

称呼P^n一个“合理的”估计P如果,有概率1在选择的ci的,P^n收敛到P在分布。

注意:我们实际上可以考虑ci作为可以由实验者选择的设计点。这似乎是一个单独的问题,我不想使问题复杂化。但是,如果您有一个估计器需要一组特定的ci的,那也很好。

1个回答

您可以尝试通过二项式速率平滑器直接估计 CDF 吗?这是源于正态分布的 x 的理想化示例:

   ci = seq(from=-3,to=3,length=500)
   X = rnorm(500)
   Y = rep(NA, 500)
   for (i in 1:500) Y[i] = as.numeric(X[i] < ci[i] )
   plot(ci,Y, type="s")
   library(mgcv)
   library(boot)
   fit=gam(Y~s(ci), family=binomial(link="logit"))
   plot(fit, trans=inv.logit, shade = TRUE)

在此处输入图像描述

为了强制执行单调行为,在上面的示例中,将代码更改为:

library(scam)
fitMonotone=scam(Y~s(ci,bs="mpi"), family=binomial(link="logit"))

InvLogit = function(x, SCALE=TRUE) {
  if (SCALE) x = x -mean(x)
  return(exp(x)/(1+exp(x)))
}

plot(fitMonotone, trans=InvLogit, shade = TRUE)

在此处输入图像描述