Zákon velkých čísel
V předchozím cvičení jsi zjistil/a, že díky stochastické povaze Monte Carlo simulací se výsledky jednotlivých běhů mohou výrazně lišit. V tomto cvičení využiješ zákon velkých čísel k simulaci inflace v roce 2050 – výsledek získáš zprůměrováním velkého počtu simulací.
K dispozici máš funkci monte_carlo_inflation(), kterou jsi napsal/a v předchozím cvičení. Jako připomínka, kód funkce vypadá takto:
def monte_carlo_inflation(year, seed):
random.seed(seed)
inflation_rate = 8.6
yearly_increase = random.randint(1, 3)
for i in range(year - 2022):
inflation_rate = inflation_rate * ((100 + yearly_increase)/100)
return(inflation_rate)
Balíčky numpy a random jsou už naimportované.
Toto cvičení je součástí kurzu
Monte Carlo simulace v Pythonu
Pokyny k cvičení
- Vypočítej průměr z 1 000 simulací, přičemž seed se pokaždé náhodně vybere z rozsahu 0 až 20 000.
- Vypočítej průměr z 10 000 simulací, přičemž seed se pokaždé náhodně vybere z rozsahu 0 až 20 000.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# Calculate the average of 1,000 simulation results with a seed between 0 and 20000
rates_1 = []
for i in range(____):
seed = random.randint(____, ____)
rates_1.append(monte_carlo_inflation(2050, ____))
print(np.mean(rates_1))
# Calculate the average of 10,000 simulation results with a seed between 0 and 20000
rates_2 = []
for i in range(____):
seed = random.randint(____, ____)
rates_2.append(monte_carlo_inflation(2050, ____))
print(np.mean(rates_2))