Аналитическое решение
Для нормального распределения X ~ N(mu, 0.2)
. Мы хотим найти mu
, так что Pr (X < -0.13) = y
.
Напомните свой предыдущий вопрос и мой ответ там: Determine a normal distribution given its quantile information. Здесь у нас есть что-то более простое, так как есть только один неизвестный параметр и одна часть квантильной информации.
Опять же, мы начинаем стандартизации:
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)
Теперь atanh(rh1) = mu => rh1 = tanh(mu)
, так короче, аналитическое решение:
tanh(-0.13 - 0.2 * qnorm (y))
Численное решение
Это проблема поиска корней. Сначала мы построим следующую функцию f
, и мы стремимся найти ее корень, т. Е. rh1
, так что f(rh1) = 0
.
f <- function (rh1, y) pnorm(-0.13, atanh(rh1), 0.2) - y
Самый простой способ корень поиска является метод бисекция, реализуемый uniroot
в R. Я рекомендую вам чтение Uniroot solution in R за то, как мы должны работать с ним в целом.
curve(f(x, 0.5), from = -1, to = 0.1); abline (h = 0, lty = 2)
Мы видим, существует корень между (-0.2, 0)
, так:
uniroot(f, c(-0.2, 0), y = 0.5)$root
# [1] -0.129243
'uniroot' фактически делает что-то немного любитель, чем бисекции (метод Брента:«Функция делает использование „золотого сечения“ процедура в сочетании с параболической интерполяцией ", http://www.netlib.org/c/brent.shar). Не то чтобы это было важно для этой проблемы. –