Định luật số lớn
Ở bài trước, bạn đã thấy do tính ngẫu nhiên (stochastic) của mô phỏng Monte Carlo, mỗi kết quả mô phỏng có thể rất khác nhau. Trong bài này, bạn sẽ vận dụng Định luật số lớn để mô phỏng lạm phát vào năm 2050 dựa trên giá trị trung bình của một số lượng lớn mô phỏng.
Hàm monte_carlo_inflation() mà bạn đã viết ở bài trước đã sẵn sàng để dùng. Nhắc lại, đây là mã của hàm:
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)
Các gói numpy và random đã được nhập sẵn cho bạn.
Bài tập này là một phần của khóa học
Mô phỏng Monte Carlo với Python
Hướng dẫn bài tập
- Tính giá trị trung bình của 1.000 lần mô phỏng, mỗi lần chọn ngẫu nhiên một seed trong khoảng từ 0 đến 20.000.
- Tính giá trị trung bình của 10.000 lần mô phỏng, mỗi lần chọn ngẫu nhiên một seed trong khoảng từ 0 đến 20.000.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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))