Gibt es eine Distribution oder kann ich mit einer anderen Distribution arbeiten, um eine Distribution wie die im Bild unten zu erstellen (Entschuldigung für die schlechten Zeichnungen)?
Dabei gebe ich eine Zahl (0,2, 0,5 und 0,9 in den Beispielen) für die Position des Peaks und eine Standardabweichung (Sigma) an, die die Funktion breiter oder weniger breit macht.
PS: Wenn die angegebene Zahl 0,5 ist, ist die Verteilung eine Normalverteilung.
distributions
normal-distribution
Stan Callewaert
quelle
quelle
[0,1]
dann Sie den Bereich des pdf nicht beschränken kann[0,1]
auch (anders als im einfachen Uniformfall).Antworten:
Eine mögliche Wahl ist die Beta-Verteilung , die jedoch in Bezug auf den Mittelwert μ und die Genauigkeit param neu parametrisiert wird , d. H. "Für feste μ ist der Wert von ϕ umso größer , je kleiner die Varianz von y ist " (siehe Ferrari und Cribari). Neto, 2004). Die Wahrscheinlichkeitsdichtefunktion wird konstruiert, indem die Standardparameter der Betaverteilung durch α = ϕ μ und β = ϕ ( 1 - μ ) ersetzt werden.μ ϕ μ ϕ y α=ϕμ β=ϕ(1−μ)
wobei und V a r ( Y ) = μ ( 1 - μ )E(Y)=μ .Var(Y)=μ(1−μ)1+ϕ
Alternativ können Sie geeignete und β- Parameter berechnen , die zu einer Beta-Verteilung mit vordefiniertem Mittelwert und Varianz führen würden. Beachten Sie jedoch, dass es Einschränkungen für mögliche Varianzwerte gibt, die für die Betaverteilung gelten. Für mich persönlich ist die Parametrisierung mit Präzision intuitiver (denken Sie an xα β Anteile inbinomial verteiltem X mit Stichprobengröße ϕ und Erfolgswahrscheinlichkeit μ ).x/ϕ X ϕ μ
Die Kumaraswamy-Verteilung ist eine andere beschränkte kontinuierliche Verteilung, aber es wäre schwieriger, sie wie oben beschrieben neu zu parametrisieren.
Wie andere bemerkt haben, ist dies nicht normal, da die Normalverteilung die Unterstützung , so dass Sie bestenfalls die abgeschnittene Normalen als Annäherung verwenden können.( -∞,∞)
Ferrari, S. & Cribari-Neto, F. (2004). Beta-Regression für die Modellierung von Raten und Anteilen. Journal of Applied Statistics, 31 (7), 799-815.
quelle
Probieren Sie die Beta-Distribution aus, deren Bereich zwischen 0 und 1 liegt. Haben Sie das schon versucht? Der Mittelwert istα( α + β)
quelle
Ich transformiere, um diese Art von Variable zu erstellen. Beginnen Sie mit einer Zufallsvariablen x, die die gesamte reelle Linie unterstützt (wie normal), und transformieren Sie sie dann, um eine neue Zufallsvariable . Presto, Sie haben eine Zufallsvariable, die auf das Einheitsintervall verteilt ist. Da diese bestimmte Transformation zunimmt, können Sie den Mittelwert / Median / Modus von y verschieben, indem Sie den Mittelwert / Median / Modus von x verschieben. Machen wolleny= e x p ( x )1 + ex p ( x ) mehr dispergiert (in Bezug auf Inter-QuartilBereich, sagen)? Machen Sie einfach x mehr verteilt.y x
An der Funktion e x ist nichts Besonderes . Jede kumulative Verteilungsfunktion erzeugt eine neue Zufallsvariable, die für das Einheitsintervall definiert ist.e x p ( x )1 + e x p ( x )
Jede Zufallsvariable, die durch Einfügen in ein beliebiges cdf ( ) transformiert wird, macht das, was Sie wollen - sie verteilt ein rv auf das Einheitsintervall, dessen Eigenschaften Sie bequem anpassen können, indem Sie die Parameter der nicht transformierten Zufallsvariablen anpassen auf intuitive Weise. Solange F ( ) streng monoton ist, sieht die transformierte Variable in mehrfacher Hinsicht wie die nicht transformierte aus. Sie möchten beispielsweise, dass y eine unimodale Zufallsvariable für das Einheitenintervall ist. Solange F ( ) den Median / Mittelwert / Modus von y erhöht . Erhöhen des Interquartilbereichs von xy= F( x ) F( ) y F( ) streng ansteigt und unimodal ist, erhält man das. Erhöhen des Medians / Mittelwerts / Modus von xx x y x (durch Verschieben des 25. Perzentils nach unten und des 75. Perzentils nach oben) wird der Interquartilbereich von vergrößert . Strikte Monotonie ist eine schöne Sache.y
Die Formel zur Berechnung des Mittelwerts und des sd von ist vielleicht nicht leicht zu finden, aber dafür sind Monte-Carlo-Simulationen gedacht. Um relativ hübsche Verteilungen wie die von Ihnen gezeichneten zu erhalten , möchten Sie, dass x und F ( ) kontinuierliche Zufallsvariablen (cdf von kontinuierlichen Zufallsvariablen) mit Unterstützung für die reale Linie sind.y x F( )
quelle
Wenn sich jemand für die Lösung interessiert, habe ich in Python einen Zufallswert in der Nähe der angegebenen Zahl als Parameter generiert. Meine Lösung besteht aus vier Stufen. In jedem Stadium ist die Chance, dass die generierte Zahl näher an der angegebenen Zahl liegt, größer.
Ich weiß, die Lösung ist nicht so schön wie die Verwendung einer Distribution, aber so konnte ich mein Problem lösen:
number_factory.py:
main.py:
Das Ergebnis bei der Ausführung dieses Codes ist in der folgenden Abbildung dargestellt:
quelle
Vielleicht möchten Sie einen Blick auf "Johnson-Kurven" werfen. Siehe NL Johnson: Systeme von Frequenzkurven, die durch Übersetzungsmethoden erzeugt wurden. 1949 Biometrika, Band 36, Seiten 149-176. R unterstützt die Anpassung an beliebige Kurven. Insbesondere seine (begrenzten) SB-Kurven könnten nützlich sein.
Es ist 40 Jahre her, dass ich sie benutzt habe, aber sie waren zu dieser Zeit sehr nützlich für mich und ich denke, sie werden für Sie arbeiten.
quelle