2016-05-04 49 views
3

Wie berechne ich die Umkehrung der lognormal kumulativen Verteilungsfunktion in Python? Ich versuche, einige Funktionen von Excel zu übersetzen, die die Funktion [LOGINV][1]Wie berechnet man die Umkehrung der normalen kumulativen logarithmischen Verteilungsfunktion in Python?

Zum Beispiel verwendet

LOGINV(0,005;2;0,5) yields 2,0382373 

wo 0,005 die Wahrscheinlichkeit ist, 2 ist die ln bedeuten und 0,5 ist der ln std.

Hat scipy.stats eine ähnliche Funktion, die ich anwenden kann?

Antwort

5

Ja:

from scipy import stats 
import numpy as np 
stats.lognorm(0.5, scale=np.exp(2)).ppf(0.005) 

von http://docs.scipy.org/doc/scipy-0.17.0/reference/generated/scipy.stats.lognorm.html

Bitte überprüfen Sie die Bedeutung Ihrer Mengen. Tatsächlich sind 2 und 0,5 der Mittelwert und die Standardabweichung der Zufallsvariablen Y = exp (X), wobei X die im Code definierte Lognormale ist (wie auch in der Excel-Dokumentation geschrieben). Der Mittelwert und die Standardabweichung der im Code definierten Verteilung betragen 8,37 und 4,46