Я пытаюсь нарисовать случайные числа из нормального распределения с учетом среднего , дисперсии , асимметрии и эксцесса .
Моя первая попытка состояла в том, чтобы использовать функцию numpy random.normal, однако, для этой функции, насколько я понимаю, я могу передать только местоположение ( означает ) и масштаб ( std ) параметр.
Вторая попытка - извлечь случайные числа из равномерного распределения в интервале [0,1] , а затем передать их через scipy.stats.norm метод ppf. Я вижу, что scipy обладает способностью лечить асимметрию и эксцесс, однако я не могу понять, как я могу передать значения асимметрии и эксцесс в функцию.
Если проблему нужно решить совершенно другим способом, пожалуйста, дайте мне знать.
Попытка 1:
import numpy as np
def draw_normal():
return np.random.normal(loc=0, scale=1) # how to pass skew and kurtosis (excess kurtosis) to the function
Попытка 2
import numpy as np
from scipy.stats import norm
def draw_uniform():
return np.random.uniform(0,1)
def draw_normal_alt():
return norm.ppf(draw_uniform(),loc=0, scale=1) #how to pass skew and kurtosis (excess kurtosis) to func