R 估计模拟数据上两个x值范围内的概率密度

R 估计模拟数据上两个x值范围内的概率密度,r,normal-distribution,probability-density,R,Normal Distribution,Probability Density,我想评估我模拟的数据的概率密度 我知道,如果我只是想在正态分布上找到单个x值的概率密度,我可以用以下方式使用dnorm(): dist_mean计算连续概率函数中单个值的概率没有意义,定义为零,但可以计算相对概率。你对random\u vals的反应不是求和为一,但不是说prob\u density\u\u val大于一 Glen当然是正确的,因为ecdf()是进行非参数估计的方法,但是如果你期望正态分布,你也可以进行参数估计 dist_mean <- 10 dist_sd <- 0

我想评估我模拟的数据的概率密度

  • 我知道,如果我只是想在正态分布上找到单个x值的概率密度,我可以用以下方式使用
    dnorm()

  • dist_mean计算连续概率函数中单个值的概率没有意义,定义为零,但可以计算相对概率。你对
    random\u vals
    的反应不是求和为一,但不是说
    prob\u density\u\u val
    大于一

    Glen当然是正确的,因为
    ecdf()
    是进行非参数估计的方法,但是如果你期望正态分布,你也可以进行参数估计

    dist_mean <- 10
    dist_sd <- 0.2
    a <- 9.7
    b <- 10.2
    
    set.seed(123)
    r <- rnorm(1e4, dist_mean, dist_sd)
    
    # population
    pnorm(b, dist_mean, dist_sd) - pnorm(a, dist_mean, dist_sd)
    # [1] 0.7745375
    
    # parametric estimate
    pnorm(b, mean(r), sd(r)) - pnorm(a, mean(r), sd(r))
    # [1] 0.7753985
    
    # nonparametric estimate
    ecdfun <- ecdf(r)
    ecdfun(b) - ecdfun(a)
    # [1] 0.7754
    

    dist_mean您可以使用函数
    density
    approxfun
    获得概率密度函数

    DensityFunction = approxfun(density(random_vals), rule=2)
    DensityFunction(9.7)
    [1] 0.6410087
    plot(DensityFunction, xlim=c(9,11))
    

    您可以使用
    integrate

    AreaUnderCurve = function(lower, upper) {
        integrate(DensityFunction, lower=lower, upper=upper) }
    
    AreaUnderCurve(10,11)
    0.5006116 with absolute error < 6.4e-05
    AreaUnderCurve(9.5,10.5)
    0.9882601 with absolute error < 0.00011
    
    AreaUnderCurve=功能(下部、上部){
    积分(密度函数,下=下,上=上)}
    欠曲率区域(10,11)
    0.5006116,绝对误差<6.4e-05
    欠曲率区域(9.5,10.5)
    0.9882601,绝对误差<0.00011
    
    你还问:

    概率密度对点值的影响有多大 (x=9.9)为1.76,但范围为9.7
    pdf(1.76)的值是曲线的高度。范围的值是曲线下的面积。由于间隔的宽度为0.5,因此曲线下的面积小于高度也就不足为奇了。

    在你的第一句话中,不应该将“连续概率函数”改为“离散”吗?@jludewig:Ah,yes@AkselA谢谢没错,我完全忽略了单个值上的p>1。然而,为什么
    dnorm
    给了我一个大于1的值,而不是≈ 0?好的,我想我明白了
    dnorm
    只是给出给定x的函数值,而不是该x的曲线下面积(对于单个值来说,这基本上是零)。多亏了你,我理解了密度(val x的曲线高度)和概率(某个范围的曲线下面积)之间的微妙关系。然而,这可能超出了本页的范围——我们能不能也计算一个范围的密度,而不是一个范围的概率(这是你的答案)?i、 我们可以测量两个x值之间的曲线来获得范围密度吗?这有意义吗?你可以通过计算
    Area UnderCurve(range)/width(range)