Chciałbym podsumować dowolną liczbę probabilistycznych rozkładów rzeczy za pomocą symulacji typu montecarlo. Chciałbym losowo próbować ciągłe rozkłady czegoś i dodawać je do innych losowych próbek innych ciągłych rozkładów, ostatecznie uzyskując rozkład prawdopodobieństwa dla ich kombinacji. Same rozkłady są empiryczne - nie są funkcją, ale w postaci P99 = 2,4, P90 = 7,12, P50 = 24,53, P10 = 82,14 itd. (W rzeczywistości jest ich kilka). Dystrybucje są mniej więcej logormormalne, więc przybliżenie ich jako logormalnego byłoby prawdopodobnie w porządku, jeśli to konieczne. Ale w jaki sposób mogę wprowadzić to w urządzeniu SciPy pod numerem lognorm function? Czy może to zrobić w inny sposób w SciPy lub python w ogóle?Tworzenie niestandardowego rozkładu prawdopodobieństwa w celu losowego pobierania próbek z SciPy
Mam nadzieję, że to jasne, co próbuję zrobić. Wielkie dzięki, Alex
Hmm dobrze, spodziewam się, że są blisko lognormalu, czy wiesz, w jaki sposób chciałbym dopasować dane do tego? Pomyliłem się, jak dopasować dystrybucję lognorm przez dwa dane punkty na [stronie opisu] (http://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.lognorm.html#scipy .stats.lognorm). Gdybym miał P90, który był X i P10, który był Y, w jaki sposób zrobiłbym rozkład lognormalny, który pasowałby do dwóch? –
Nie jestem pewien co do tej dwupunktowej rzeczy, o której mówisz. Co bym zrobił, najpierw sprawdziłbym czy dystrybucja faktycznie * jest * log-normalna. W tym celu użyłbym tego, że dla normalnej dystrybucji momenty powinny być powiązane w bardzo precyzyjny sposób (por. Wikipedia lub mathworld lub gdzie indziej), a jeśli 'X' jest logarytmem normalnym, to' log X' jest normalnie dystrybuowane: po prostu oblicz kilka pierwszych momentów "log X". –
OK, ale czy nie muszę ładować go do obiektu scipy, aby móc pobrać z niego losowe próbki za pomocą 'R = lognorm.rvs (s, size = 100)' jak wspomniano powyżej na stronie funkcji lognorm? –