Analytische Lösung
Für eine Normalverteilung X ~ N(mu, 0.2)
. Wir möchten mu
finden, so dass Pr (X < -0.13) = y
.
Rufen Sie Ihre vorherige Frage und meine Antwort da drüben: Determine a normal distribution given its quantile information. Hier haben wir etwas einfacheres, da es nur einen unbekannten Parameter und eine Quantilsinformation gibt.
Wieder starten wir durch Standardisierung:
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)
Nun lassen atanh(rh1) = mu => rh1 = tanh(mu)
, so kurz gesagt, die analytische Lösung:
tanh(-0.13 - 0.2 * qnorm (y))
Numerische Lösung
Es ist ein Grundproblem. Wir bauen zuerst die folgende Funktion f
, und wir zielen darauf ab, seine Wurzel zu finden, d.h. rh1
, so dass f(rh1) = 0
.
f <- function (rh1, y) pnorm(-0.13, atanh(rh1), 0.2) - y
Die einfachste Wurzelfindungsmethode ist Bisektionsmethode, durch uniroot
in R. implementiert empfehle ich Ihnen das Lesen Uniroot solution in R dafür, wie wir mit ihm im Allgemeinen funktionieren sollte.
curve(f(x, 0.5), from = -1, to = 0.1); abline (h = 0, lty = 2)
Wir sehen, gibt es eine Wurzel zwischen (-0.2, 0)
, so:
uniroot(f, c(-0.2, 0), y = 0.5)$root
# [1] -0.129243
'uniroot' tatsächlich etwas tut, ein wenig schicker als Halbierungs (Brent-Methode:‚Die Funktion Verwendung des ‚Gold-Abschnitt‘ macht Prozedur kombiniert mit der parabolischen Interpolation ', von http://www.netlib.org/c/brent.shar). Nicht dass es für dieses Problem wichtig wäre. –