Генерация непрерывных случайных величин

Симуляции Монте-Карло на Python

Izzy Weber

Curriculum Manager, DataCamp

Нормальное распределение

Колоколообразная, симметричная относительно среднего (loc); ширина задаётся стандартным отклонением (scale)

Рост взрослых мужчин в США подчиняется нормальному распределению: Теоретическая функция плотности вероятности нормального распределения

Симуляции Монте-Карло на Python

Изменение масштаба (стандартного отклонения)

Теоретическая функция плотности вероятности нормального распределения с разными стандартными отклонениями

Симуляции Монте-Карло на Python

Изменение loc (среднего)

Теоретическая функция плотности вероятности нормального распределения с разными средними значениями

Симуляции Монте-Карло на Python

Изменение scale и loc одновременно

Теоретическая функция плотности вероятности нормального распределения с разными средними и стандартными отклонениями

Симуляции Монте-Карло на Python

Выборка из нормального распределения

  • Рост взрослых мужчин в США: среднее = 177 см; стандартное отклонение = 8 см

  • Какой процент людей имеет рост выше 190 или ниже 165 см?

heights = st.norm.rvs(loc=177, scale=8, size=10000)

qualified = (heights < 165) | (heights > 190)
print(np.sum(qualified) * 100/10000)
12.28
Симуляции Монте-Карло на Python

Визуализация результатов моделирования

heights_dict = {"heights":heights}
sns.histplot(x="heights", data=heights_dict)
plt.axvline(x=165, color="red")
plt.axvline(x=190, color="red")

Гистограмма выборки из нормального распределения

Симуляции Монте-Карло на Python

Другие непрерывные вероятностные распределения

  • Непрерывное равномерное распределение (st.uniform)
    • Непрерывный аналог дискретного равномерного распределения
  • Экспоненциальное распределение (st.expon)
    • Непрерывный аналог геометрического распределения
1 https://docs.scipy.org/doc/scipy/tutorial/stats/continuous.html
Симуляции Монте-Карло на Python

Давайте потренируемся!

Симуляции Монте-Карло на Python

Preparing Video For Download...