
- •Имитационное моделирование. Имитационное моделирование
- •Содержание
- •Предисловие
- •Лабораторная работа №1
- •Лабораторная работа №2
- •Лабораторная работа №3
- •Модель медицинского страхования компании
- •Лабораторная работа №4
- •Лабораторная работа №5
- •Лабораторная работа №6
- •Лабораторная работа №7
- •Лабораторная работа №8
- •Литература
- •Имитационное моделирование. Имитационное моделирование социально-экономических процессов и процессов управления
- •650992, Г. Кемерово, пр. Кузнецкий, 39
Лабораторная работа №2
Тема: моделирование случайных величин в табличном процессоре Excel.
Цель работы. Научиться получать конечный набор значений случайной величины для разных законов распределения.
Теоретический материал. Моделирование случайных величин часто используется в методах Монте-Карло и имитационном моделировании, которые невозможны без таких случайных величин.
Обычно моделирование случайных величин начинается с методов генерирования случайных чисел, имеющих равномерное распределение на интервале [0, 1], а уже эти числа являются основой для моделирования случайных величин, имеющих другие распределения. В Excel имеются готовые средства (функция СЛЧИС и Генерация случайных чисел) для создания последовательности равномерно распределенных случайных чисел. Рассмотрим способы моделирования произвольных случайных величин.
В Excel есть довольно много средств генерирования значений случайных величин, имеющих различные распределения.
Функция СЛЧИС, выдает случайные числа, которые равномерно распределены на интервале [0, 1]. Ее синтаксис — СЛЧИС(), т.е. она не имеет аргументов.
Функцию СЛЧИС можно использовать в формулах массивов для генерирования диапазонов случайных чисел. Сначала выделяется Диапазон ячеек, затем, не снимая выделения, вводится формула =СЛЧИС() и после этого нажимается комбинация клавиш <Ctrl+Shift+Enter>.
Необходимо отметить, что значения формул, содержащих функцию СЛЧИС, перевычисляются при каждом пересчете рабочего листа, например при вводе любого значения в ячейку или при удалении чего-либо. Это свойство данной функции полезно, например, в имитационном моделировании. Однако в других случаях оно может замедлять работу в Excel или быть просто излишним. Чтобы зафиксировать значения, вычисляемые с помощью функции СЛЧИС, надо выделить диапазон ячеек, содержащий эти значения, и скопировать его (Правка Копировать). Затем, не снимая выделения диапазона, следует выполнить команду Правка Специальная вставка, в открывшемся диалоговом окне Специальная вставка установить переключатель Значения. В ячейки выделенного диапазона вместо формул будут записаны числовые значения.
Функция СЛУЧМЕЖДУ генерирует целочисленные значения, подчиняющиеся дискретному равномерному распределению. Синтаксис функции:
СЛУЧМЕЖДУ(Нижняя_граница;Верхняя_граница)
Аргумент Нижняя_граница задает нижнюю границу интервала изменения случайной величины, аргумент Верхняя_граница — верхнюю границу этого интервала. Если значения аргументов дробные, они округляются до ближайших целых. Если значение аргумента Нижняя_граница больше значения аргумента Верхняя_граница, функция возвращает значение ошибки. Формулы, содержащие функцию СЛУЧМЕЖДУ, пересчитываются при каждом пересчете рабочего листа.
Средство Генерация случайных чисел из надстройки Пакет анализа (команда Данные/анализ данных), предоставляет возможность генерировать случайные числа, которые имеют следующие распределения.
Равномерное. Генерируется последовательность равномерно распределенных случайных чисел в заданном интервале.
Нормальное. Генерируется последовательность случайных чисел, подчиняющихся нормальному распределению. Задается математическое ожидание и среднеквадратическое отклонение.
Бернулли. Генерируется последовательность случайных чисел, принимающих только значение 0 или 1, в зависимости от заданной вероятности успеха (исхода "1").
Пуассона. Генерируется последовательность случайных чисел, подчиняющихся распределению Пуассона с заданным параметром К.
Между способами вычисления случайных чисел, полученных с помощью функции СЛЧИС (соответствующие формулы приведены в следующих разделах) и с помощью средства Генерация случайных чисел, в частности равномерно распределенных на интервале [0, 1], имеются существенные различия. Первое различие заключается в том, что функцию СЛЧИС можно непосредственно использовать в формулах (в том числе в формулах массивов) как аргумент формулы или другой функции, тогда как для того, чтобы использовать в формулах случайные числа, полученные с помощью средства Генерация случайных чисел, сначала необходимо их записать в отдельном диапазоне ячеек, и только затем использовать в формулах.
Второе отличие состоит в том, что формулы, содержащие функцию СЛЧИС, пересчитываются при каждом пересчете рабочего листа), а значения, полученные с помощью средства Генерация случайных чисел, фиксированы — при необходимости получения новой выборки на месте старой, следует еще раз вызвать и применить это средство.
Метод обратных функций моделирования случайных величин. Функция распределения случайной величины X в точке U имеет вид:
U
Y = F(u) = ∫ f(x)dx, ,
-∞
где f(x) плотность вероятности случайной величины X. Это выражение позволяет для случайной величины Х определить её вероятность. Для получения случайных величин имеющих заданный закон распределения можно использовать метод обратных функций, суть которого в обратном преобразовании x = F-1(y), где F-1 - функция, обратная функции F. Это преобразование сводится к решению интегрального уравнения относительно хi.
Т.е. равномерное распределение преобразуется в требуемое. В Excel есть несколько функций, возвращающих значения обратных функций для различных распределений. Например, функции:
НОРМОБР. Вычисляет значение функции, обратной к функции нормального распределения.
НОРМСТОБР. Вычисляет значение функции, обратной к функции стандартного нормального распределения.
СТЬЮДРАСПОБР. Вычисляет значение функции» обратной к функции распределения Стьюдента.
Таким образом, формула =ФУНКЦИЯ(СЛЧИС();...), где ФУНКЦИЯ обозначает одну из вышеперечисленных будет генерировать последовательность случайных чисел, которые имеют распределение, определяемое данной функцией.
Для получения непрерывных случайных величин, принимающих любые значения на интервале между двумя точками а и b (a<b) с равной вероятностью, можно использовать выражение:
a + ( b -а)*СЛЧИС( )
Симметричное треугольное распределение.
Все действия с соответствующей формулой аналогичны действиям для равномерного распределения:
a + ( b - а)*(СЛЧИС+СЛЧИС)/2;
Нормальное распределение.
Нормально распределенные числа an можно получить с помощью функции НОРМОБР(вероятность;среднее;стандартное_откл), где вероятность - значение аргумента может быть получено с помощью функции СЛЧИС(); среднее (мат. ожидание) – это среднее арифметическое распределения (μ); стандартное_откл - это стандартное отклонение распределения (σ). Функция возвращает обратное нормальное распределение для указанного мат. ожидания и стандартного отклонения.
Экспоненциальное распределение.
Псевдослучайную последовательность, распределенную по этому закону можно получить с помощью алгоритма:
r := log( СЛЧИС( ));
me := μ *(-r);
Наглядное представление формы распределения сгенерированных случайных чисел можно получить на гистограмме. Для её построения имеется опция Гистограмма в Пакете анализа.
Задание.
Изучить теоретический материал.
Получить последовательности из n чисел, равномерно распределенных на интервале (a, b); имеющих симметричное треугольное; нормальное; экспоненциальное распределения.
Представить полученные результаты преподавателю.
С помощью гистограмм проанализировать влияние количества значений (n) на качество получаемых последовательностей.
Подготовить ответы на контрольные вопросы. Какие отличия в получении случайных чисел с помощью соответствующей программы и в Excel? Чем различаются результаты получения случайных чисел с помощью функции СЛЧИС() и Генерации случайных чисел из надстройки Пакет анализа? Какие недостатки генерации случайных чисел в Excel? Суть метода обратных функций?