У меня есть большой набор простых симуляций, которые мне нужно запустить, и мне интересно, могут ли они быть выполнены одновременно.Позвольте мне описать ситуацию: у меня есть 1000 тиражей распространенности для ~ 100 болезней и 1000 тиражей соответствующих весов инвалидности для этих болезней (насколько плохо иметь это заболевание по шкале 0-1) для 20 возрастных групп.Имитация, которую мне нужно сделать, состоит в том, чтобы определить, учитывая набор распространенности, сколько людей будет иметь различные комбинации заболеваний.Вот как будут выглядеть исходные данные для 10 болезней:
from __future__ import division
import numpy as np
disease_number = np.array([1,2,3,4]*10)
age = np.array([5, 10, 15, 20]*10)
prevalence = np.random.uniform(0, 1, (40, 1000))
disability_weight = np.random.uniform(0,1,(40, 1000))
Симуляция одиночного розыгрыша будет выглядеть примерно так, для 5 лет - ничья 1.
prev_draw1 = prevalence[age==5, 1]
disability_draw1 = disability_weight[age==5, 1]
simulation = np.random.binomial(1, prev_draw1, (100000, prev_draw1.shape[0])
Затем, чтобы рассчитать вес нетрудоспособности, относящийся к каждому заболеванию с учетом сопутствующей патологии нескольких болезней, я делаю следующее: устанавливаю знаменатель как сумму нынешних весов инвалидности и использую вес нетрудоспособности данного заболевания в качестве числителя.Для болезни 1:
denom = np.sum(disability_draw1**simulaiton)
denom[denom==1]=0
numerator = disability_draw1*simulation[:, 0]
adjusted_dw = np.sum(numerator/denom)
мне потребуется этот уточненный расчет dw отдельно для каждой болезни.Есть ли способ для меня сделать эти 1000 симуляций одновременно?Любая помощь приветствуется, и я довольно новичок в python, поэтому больше описаний очень полезно.