Czy istnieje rozkład lub czy mogę pracować z innego rozkładu, aby utworzyć taki rozkład na poniższym obrazku (przepraszam za złe rysunki)?
gdzie podaję liczbę (0,2, 0,5 i 0,9 w przykładach) dla tego, gdzie powinien być pik oraz odchylenie standardowe (sigma), które powoduje, że funkcja jest szersza lub mniej szeroka.
PS: Gdy podana liczba wynosi 0,5, rozkład jest rozkładem normalnym.
distributions
normal-distribution
Stan Callewaert
źródło
źródło
[0,1]
to nie można ograniczyć zakres do pdf[0,1]
, jak również (inne niż w trywialnym mundurze).Odpowiedzi:
Jednym możliwym wyborem jest rozkład beta , ale ponownie sparametryzowany pod względem średniej i precyzji ϕ , to znaczy: „dla ustalonego μ , im większa wartość ϕ , tym mniejsza wariancja y ” (patrz Ferrari i Cribari- Neto, 2004). Funkcja gęstości prawdopodobieństwa jest konstruowana przez zastąpienie standardowych parametrów rozkładu beta przez α = ϕ μ i β = ϕ ( 1 - μ )μ ϕ μ ϕ y α = ϕ μ β= ϕ ( 1 - μ )
gdzie i V a r ( Y ) = μ ( 1 - μ )mi( Y) = μ .V a r (Y) = μ ( 1 - μ )1 + ϕ
Alternatywnie można obliczyć odpowiednie parametry i β , które doprowadziłyby do rozkładu beta z wcześniej zdefiniowaną średnią i wariancją. Zauważ jednak, że istnieją ograniczenia dotyczące możliwych wartości wariancji, które obowiązują dla rozkładu beta. Dla mnie osobiście parametryzacja za pomocą precyzji jest bardziej intuicyjna (pomyśl o xα β proporcje wrozkładzie dwumianowym X , przy wielkości próby ϕ i prawdopodobieństwie sukcesu μ ).x/ϕ X ϕ μ
Rozkład Kumaraswamy jest kolejnym ograniczonym rozkładem ciągłym, ale trudniej byłoby ponownie sparametryzować jak powyżej.
Jak zauważyli inni, nie jest to normalne, ponieważ rozkład normalny ma obsługę , więc w najlepszym razie można użyć obciętej wartości normalnej jako przybliżenia.( - ∞ , ∞ )
Ferrari, S., i Cribari-Neto, F. (2004). Regresja beta dla stawek i proporcji modelowania. Journal of Applied Statistics, 31 (7), 799-815.
źródło
źródło
źródło
Jeśli ktoś jest zainteresowany rozwiązaniem zastosowałem w Pythonie do generowania losowej wartości zbliżonej do podanej liczby jako parametru. Moje rozwiązanie składa się z czterech etapów. Na każdym etapie szansa, że wygenerowana liczba jest bliższa podanej liczbie, jest większa.
Wiem, że rozwiązanie nie jest tak piękne, jak użycie jednej dystrybucji, ale w ten sposób udało mi się rozwiązać mój problem:
number_factory.py:
main.py:
wynik podczas wykonywania tego kodu pokazano na poniższym obrazku:
źródło
Możesz rzucić okiem na „Krzywe Johnsona”. Zobacz NL Johnson: Systemy krzywych częstotliwości generowane metodami tłumaczenia. 1949 Biometrika Tom 36 str. 149-176. R ma wsparcie dla dopasowania ich do dowolnych krzywych. W szczególności przydatne mogą być jego krzywe SB (ograniczone).
Minęło 40 lat, odkąd ich użyłem, ale były one dla mnie bardzo przydatne i myślę, że będą dla ciebie działać.
źródło