求解(确定)R点上的函数

求解(确定)R点上的函数,r,function,statistics,normal-distribution,R,Function,Statistics,Normal Distribution,在我的下面的R代码中,我想知道当y==0.5时,如何才能找到rh1 请注意,y使用atanh(rh1),可以使用tanh()将其转换回rh1 rh1您的函数是单调的,因此您可以创建反函数 rh1 <- seq(-1,.1,by=.001) y <- pnorm(-.13,atanh(rh1),.2) InverseFun = approxfun(y, rh1) InverseFun(0.5) [1] -0.1292726 分析溶液 对于正态分布X~N(mu,0.2)。我们想要找到

在我的下面的R代码中,我想知道当y==0.5时,如何才能找到rh1

请注意,y使用
atanh(rh1)
,可以使用
tanh()将其转换回rh1


rh1您的函数是单调的,因此您可以创建反函数

rh1 <- seq(-1,.1,by=.001)
y <- pnorm(-.13,atanh(rh1),.2)

InverseFun = approxfun(y, rh1)
InverseFun(0.5)
[1] -0.1292726

分析溶液

对于正态分布
X~N(mu,0.2)
。我们想要找到
mu
,这样
Pr(X<-0.13)=y

回想一下你之前的问题和我在那边的回答:。这里我们有一些更简单的东西,因为只有一个未知参数和一个分位数信息

同样,我们从标准化开始:

   Pr {X < -0.13} = y
=> Pr { [(X - mu) / 0.2] < [(-0.13 - mu) / 0.2] } = y
=> Pr { Z < [(-0.13 - mu) / 0.2] } = y    # Z ~ N(0,1)
=> (-0.13 - mu) / 0.2 = qnorm (y)
=> mu = -0.13 - 0.2 * qnorm (y)

数值解

这是一个寻找根源的问题。我们首先构建以下函数
f
,我们的目标是找到它的根,即
rh1
,以便
f(rh1)=0

f <- function (rh1, y) pnorm(-0.13, atanh(rh1), 0.2) - y
我们看到
(-0.2,0)
之间有一个根,因此:

uniroot(f, c(-0.2, 0), y = 0.5)$root
# [1] -0.129243

uniroot
实际上做了一些比二分法更奇特的事情(布伦特的方法:“该函数使用了“黄金分割”过程和抛物线插值”,来自)。这对这个问题并不重要。
f <- function (rh1, y) pnorm(-0.13, atanh(rh1), 0.2) - y
curve(f(x, 0.5), from = -1, to = 0.1); abline (h = 0, lty = 2)
uniroot(f, c(-0.2, 0), y = 0.5)$root
# [1] -0.129243