Как создать переменную путем сложения двух вероятностных распределений с разными весами? - PullRequest
1 голос
/ 05 февраля 2020

Я работаю над следующим кодом:

np.random.seed(6233)
np.random.choice(20, 20)
u1 = np.random.normal(loc=0.0, scale=25.0, size=20)
u2 = np.random.normal(loc=0.0, scale=5.0, size=20) 
idu1 = np.random.choice(len(u1), 20)
idu2 = np.random.choice(len(u2), 20)
idu = [idu1, idu2]

Я знаю, что это не правильно, но моя цель - создать переменную u, которая будет выглядеть следующим образом:

u = (np.random.normal(loc=0.0, scale=25.0, size=20))*0.3 + (np.random.normal(loc=0.0, scale=5.0, size=20)*0.7) 

Я попытался создать две другие переменные u1 и u2, а затем преобразовать каждую из них в одномерный массив (потому что я подумал, что мне может понадобиться использовать choice(a, size, replace=True, p) следующим образом:

idu = [idu1, idu2]
probabilities = [0.3, 0.7]
choice(idu, size=20, replace=True, p=probabilities)

Моя проблема в том, что я не знаю, как я должен смешивать два нормальных распределения, назначая вероятности 0.3 и 0.7 и создавать переменную, которая будет иметь комбинации этих двух с size=20, потому что я получаю синтаксис ошибка. Пожалуйста, любая помощь будет оценена!

...