【问题标题】:how to find upper limit of integral if area is known in R?如果 R 中的面积已知,如何找到积分的上限?
【发布时间】:2015-04-04 06:59:21
【问题描述】:

用户, 我对数学和 R 不太熟悉,但我有一个概率问题,具有连续的概率密度。我应该找到电池失效的可能性为 50% 的时间。我相信这可以表示为将概率密度的面积设置为0.5(50%),如果可以在R中说这样的话,那将是非常酷的; f = 概率密度函数 0.5 = exp(f, lower = 0, upper = x),R 将计算 x。

在给定下限和 R 中的面积的情况下,有没有一些简单的方法可以计算积分的范围?

【问题讨论】:

  • 您所描述的称为分位数。对于常见的分布,分位数函数在 R 中可用,例如qnorm 用于正态分布。
  • 但它无法给出随机函数(即分布),例如我不知道它是正态分布的正态分布?
  • 在没有统计学背景知识的情况下尝试做统计是危险的。

标签: r


【解决方案1】:

这是非常低效的,但它允许你使用任意密度函数

findprob <- function(f, interval, target) {
    optimize(function(x) {
        abs(integrate(f, -Inf, x)$value-target)
    }, interval)$minimum
}

mydensity <- function(x) dnorm(x)
findprob(mydensity, interval=c(-1,1), target=.5)

这里我们使用optimize 来找到与目标值的距离最小的积分值。请注意,optimize 需要一个时间间隔来搜索解决方案,因此您需要了解该点可能出现的位置。

【讨论】:

  • 弗利克先生。我也在考虑这个,但希望有一个内置的函数调用。
猜你喜欢
  • 2016-07-12
  • 1970-01-01
  • 2021-08-02
  • 1970-01-01
  • 1970-01-01
  • 2016-08-20
  • 2019-02-26
  • 2021-11-20
  • 2020-12-01
相关资源
最近更新 更多