代码之家  ›  专栏  ›  技术社区  ›  texmex

使用R[闭合]数值求解具有标准法线CDF和PDF(优化)的方程

  •  0
  • texmex  · 技术社区  · 8 年前

    我们如何使用R来数值求解下面这类方程?

    enter image description here

    enter image description here

    请注意,这可以显示为凸面,并且上面有一个单独的螺纹。 https://stats.stackexchange.com/questions/158042/convexity-of-function-of-pdf-and-cdf-of-standard-normal-random-variable

    这个问题已经发布在数学论坛上,以获得封闭形式或其他理论方法,但似乎数字解决方案才是出路? https://math.stackexchange.com/questions/2689251/solving-equations-with-standard-normal-cdf-and-pdf-optimization

    1 回复  |  直到 8 年前
        1
  •  2
  •   Ralf Stubner    8 年前

    您可以使用内置 optimize 直接优化原始功能的功能:

    g <- function(x, xi) {
      (xi * x + dnorm(xi * x) / pnorm(xi * x))
    }
    
    fun <- function(x, xi, K) {
      K * g(x, xi) + (K - x) * g((K - x), xi)
    }
    
    optimize(fun, interval = c(0, 10), xi = 1, K = 1)
    #> $minimum
    #> [1] 1.173975
    #> 
    #> $objective
    #> [1] 1.273246
    

    原始问题f(x)=g(x)可以表示为根查找问题f(x)-g(x)=0。然后可以使用 uniroot 函数来解决此问题。看见 ?uniroot 有关详细信息。