Prawo wielkich liczb
W poprzednim ćwiczeniu dowiedziałeś się, że ze względu na stochastyczny charakter symulacji Monte Carlo każda z nich może dawać bardzo różne wyniki. W tym ćwiczeniu wykorzystasz Prawo wielkich liczb, aby zasymulować inflację w 2050 roku na podstawie średniej z dużej liczby symulacji.
Dostępna jest funkcja monte_carlo_inflation(), którą napisałeś w poprzednim ćwiczeniu. Dla przypomnienia, oto jej kod:
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)
Biblioteki numpy i random zostały już zaimportowane.
To ćwiczenie jest częścią kursu
Symulacje Monte Carlo w Pythonie
Instrukcje do ćwiczenia
- Oblicz średnią z 1000 symulacji, w których ziarno (seed) z zakresu od 0 do 20 000 jest za każdym razem losowo wybierane.
- Oblicz średnią z 10 000 symulacji, w których ziarno (seed) z zakresu od 0 do 20 000 jest za każdym razem losowo wybierane.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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))