Python: как выбрать значение из дистрибутива? - PullRequest
0 голосов
/ 28 марта 2019

Я хотел бы выбрать соответствующее значение из распределения

Мое распределение следует усеченному распределению Леви

x = [(r + r0)**(-a)] * exp(−r/κ)

Функция:

def levy(r0, a, k, r):
    return (r + r0)**(-a)*exp(-r/k)

Я быкак для данного случайного числа x найти относительное r.

Например

r0 = 100  
a = 2
k = 1500

import random
x = random.uniform(0, 1)
### Write a function to find r given x

1 Ответ

0 голосов
/ 28 марта 2019

Бродалы, говоря, что вы хотите:

  • написать интегральную функцию, F
  • напиши обратное, F_inv
  • запустить F_inv (x). Это даст вам случайные числа из вашего распределения.

Если вы не можете сделать первый шаг аналитически (), вы можете, по крайней мере, сделать это численно с некоторым заданным разрешением, чтобы вы не застряли с чем-то недетерминированным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...