Skip to content

About

Лабораторные работы по моделированию: генерация случайных величин, исследование распределений и статистический анализ выборок на Python. (Моделирование: Яковлева Е.А.)

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Моделирование случайных величин

Учебный репозиторий с пятью лабораторными работами по имитационному моделированию, генерации псевдослучайных чисел и статистическому анализу выборок. В работах исследуются равномерное, нормальное, Парето и полукруговое распределение Вигнера, а также методы описательной статистики.

Python NumPy SciPy pandas Matplotlib

Лабораторные работы

Работа Тема Что реализовано
Лабораторная №1 Равномерное распределение Мультипликативный конгруэнтный метод, генератор Фибоначчи и Mersenne Twister
Лабораторная №2 Нормальное распределение ЦПТ, преобразование Бокса—Мюллера, полярный метод Марсальи и randn
Лабораторная №3 Метод обратной функции Распределение Парето и полукруговое распределение Вигнера
Лабораторная №4 Метод исключения Генерация выборки распределения Парето методом принятия-отвержения
Лабораторная №5 Статистический анализ Числовые характеристики, интервальный ряд, гистограмма, полигон частот и ЭФР

Примеры результатов

Сравнение генераторов равномерного распределения

Гистограммы трех генераторов

Проверка генераторов нормального распределения

QQ-графики нормального распределения

Полукруговое распределение Вигнера

Полукруговое распределение Вигнера

Быстрый старт

Требуется Python 3.10 или новее. Файл зависимостей пятой работы содержит общий набор библиотек, достаточный для запуска всех лабораторных:

git clone https://github.com/Diminasss/simulation.git
cd simulation
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r Lab5\requirements.txt

Скрипты используют относительные пути для чтения данных и сохранения графиков, поэтому каждую работу следует запускать из ее каталога:

cd Lab1
python main.py

Для остальных работ используются команды python Lab2.py, python main.py и python additional_vigner.py, python Lab4.py, python Lab5.py соответственно.

Во время выполнения программы печатают рассчитанные характеристики в консоль, открывают окна Matplotlib и сохраняют графики в каталоги graphics, figs, pictures или diagrams внутри соответствующей лабораторной.

Стек

  • Python — реализация генераторов и вычислительных экспериментов;
  • NumPy и SciPy — генерация выборок, численные вычисления и статистические функции;
  • pandas — табличная обработка результатов и исходных данных;
  • Matplotlib — построение гистограмм, функций распределения и диаграмм рассеяния;
  • statsmodels — вычисление эмпирической функции распределения.

Структура репозитория

Simulation/
├── Lab1/              # равномерное распределение и генераторы ПСЧ
├── Lab2/              # способы генерации нормального распределения
├── Lab3/              # Парето и полукруговое распределение Вигнера
├── Lab4/              # метод принятия-отвержения
├── Lab5/              # обработка экспериментальной выборки
└── COPYRIGHT          # условия использования

Правовой статус

Исходный код является проприетарным. Условия использования приведены в файле COPYRIGHT.

About

Лабораторные работы по моделированию: генерация случайных величин, исследование распределений и статистический анализ выборок на Python. (Моделирование: Яковлева Е.А.)

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Contributors

Languages