Уральский государственный экономический университет
Опубликован: 27.05.2014 | Доступ: свободный | Студентов: 464 / 49 | Длительность: 11:44:00
Лекция 5:

Имитационное моделирование

< Лекция 4 || Лекция 5: 123 || Лекция 6 >

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

В качестве первого сценария исследования прибыли выбираем следующее распределение входных данных.

  • Изменение количества заказов в месяц dQ - равномерное распределение на интервале [a;b], \;a=-5%\;  b=8% .
  • Стоимость заказа P_i - нормально распределение со средним PM и средним квадратичным отклонением DP

Нормальное распределение случайной величины характеризуется двумя параметрами: математическим ожиданием \mu и среднее квадратичным отклонением ?. Определяем вероятности возможных значений стоимостей заказов (см. таблицу 5.2) и рассчитываем среднее значение PM и среднее квадратичное отклонение DP по формулам:

Таблица 5.2.
Р (руб) Вероятность p
1400 0,25
2000 0,25
1800 0,5

PM=P_1\cdot p_1+P_2\cdot p_2+P_3\cdot p_3

DP=\sqrt{(P_1-PM)^2 p_1+(P_2-PM)^2 p_2+(P_3-PM^2)p_3)^2}, где P_1 , P_2,P_3 –значения P , p_1, p_2, p_3 –вероятности (таблица 5.2).

Имитационный эксперимент и статистический анализ результатов имитации

Проведем компьютерную имитацию значений параметров модели. Какой размер выборки выбрать для имитации? Целью имитационного моделирования является исследование множества реализаций случайной величины с целью определения её статистических характеристик и распределения этой случайной величины. Чем больше значений содержит случайная выборка, тем выше будет точность оценки интересующих нас характеристик. Введем количество реализаций как переменную k и сформируем случайные выборки dQ(k) и P(k) как функции количества реализаций. Изменение количества заказов dQ(k)_i построим, используя функцию runif (m, a, b), которая создает вектор k случайных величин, имеющих равномерное распределение на интервале [a,b],\; a <\; b. Стоимость заказа P_i будет генерироваться как случайная совокупность с нормальным распределением с помощью функции rnorm(k,m,d), которая генерирует вектор k случайных величин, имеющих нормальное распределение с математическим ожиданием m и дисперсией d.

Листинг решения показан ниже. Массивы значений Q(k)_i и P(k)_i по месяцам i формируются в блоке программирования. При вычислении прибыли используется команда векторизации, которая перемножает элементы матриц. Массив GS(k), сформированный в блоке программирования, представляет совокупность k реализаций возможных значений исследуемого показателя - прибыли и отражает его случайную природу.

Входные данные

ORIGIN:=1

Количество заказов:

Q0:=120,\; Q1:=-0.05,\; Q2:=0.08

Стоимость: P1:=\begin{pmatrix} 1400\\ 1800\\ 2000 \end{pmatrix}

Вероятность: p1:=\begin{pmatrix} 0.25\\ 0.50\\ 0.25\end{pmatrix}

Затраты: f:=0.20

Решение:

среднее значение стоимости:

PM:=\sum_{i=1}^{3}(P1_i\cdot p1_i)

PM=1.75\times 10^3

среднее квадратичное отклонение стоимости:

DP:=\sqrt{\sum_{i=1}^{3}[(P1_i-PM)^2\cdot p1_i]}

DP=217.945

k – количество реализаций – размер случайной совокупности

Изменение количества заказов в месяц – равномерное распределение: dQ(k):=runif(k,Q1,Q2)

Массив количества заказов по месяцам: Q(k):=for \; i\in 1..11, \begin{array}{|lc} (Q_1) \leftarrow Q0+Q0\cdot dQ(k) \\ (Q_{i+1}) \leftarrow \overrightarrow{(Q_i\cdot dQ(k))} \\ Q \end{array}

Массив стоимости заказа по месяцам: 
P(k):=for \; i\in 1..12, \begin{array}{|lc} P_i \leftarrow rnorm(k,PM,DP) \\ P \end{array}

G1 - прибыль в месяц, fG – затраты, G – массив суммарной прибыли за год

G(k):=\begin{array}{|lc} for \; i\in 1..11 \\ 
\begin{array}{|lc} 
G1_i \leftarrow \overrightarrow{[(P(k)_i)\cdot Q(k)_i]} \\
fG_i \leftarrow G1_i\cdot f \\
G2_i \leftarrow G1_i-fG_i
\end{array} \\
G \leftarrow \sum_{i=1}^{12}G2_i \\
G
\end{array}

Статистический анализ результатов имитации

Для статистического и вероятностного анализа надо построить распределение и рассчитать статистические характеристики: среднее, максимальное и минимальное значения, среднеквадратичное отклонение, коэффициент вариации. Статистические показатели результирующей прибыли рассчитываются по статистическим функциям mean(), \;min(), \;max(),\; stdev(),\; var.

Расчет вероятности того, что прибыль будет меньше определенного значения, проводится по функции распределения – категория Probability Distribution.

Частотное распределение строится с использованием функции histogram(bin, х) (категория Statistics), которая строит матрицу гистограммы для bin сегментов разбиения интервала и вектора х случайных данных. Гистограмма прибыли построена для 500 сегментов разбиения интервала. Если сделать предположение, в соответствии с центральной предельной теоремой, что прибыль имеет нормальное распределение, можно провести расчет вероятности того, что прибыль будет меньше определенного значения, по функции распределения pnorm(mean, stdev,). Рассчитанная вероятность события для прибыли принять значение меньше 2000000 составляет 1,3%

Возможное значение суммарной прибыли для:

  • 1000 реализаций: k1:=1000

    G(k1):=\begin{array}{|c|c|} 
\hline & 1 \\
\hline 1 & 2.193\cdot10^6 \\
\hline 2 & 2.288\cdot10^6 \\
 \hline 3 & 2.535\cdot10^6 \\
\hline 4 & 2.283\cdot10^6 \\
\hline 5 & 2.268\cdot10^6 \\
\hline 6 & 2.218\cdot10^6 \\
\hline 7 & 2.093\cdot10^6 \\
\hline 8 & 2.205\cdot10^6 \\
\hline 9 & 2.287\cdot10^6 \\
\hline 10 & 2.16\cdot10^6 \\
\hline 11 & 2.257\cdot10^6 \\
\hline 12 & 2.189\cdot10^6 \\
\hline 13 & 2.328\cdot10^6 \\
\hline 14 & 2.212\cdot10^6 \\
\hline 15 & 2.277\cdot10^6 \\
\hline 16 & ... \\ \hline
\end{array}

  • 10000 реализаций: k2:=10000

    G(k2):=\begin{array}{|c|c|} 
\hline & 1 \\
\hline 1 & 2.125\cdot10^6 \\
\hline 2 & 2.178\cdot10^6 \\
 \hline 3 & 2.233\cdot10^6 \\
\hline 4 & 2.182\cdot10^6 \\
\hline 5 & 2.171\cdot10^6 \\
\hline 6 & 2.167\cdot10^6 \\
\hline 7 & 2.186\cdot10^6 \\
\hline 8 & 2.219\cdot10^6 \\
\hline 9 & 2.199\cdot10^6 \\
\hline 10 & 2.281\cdot10^6 \\
\hline 11 & 2.281\cdot10^6 \\
\hline 12 & 2.313\cdot10^6 \\
\hline 13 & 2.317\cdot10^6 \\
\hline 14 & 2.247\cdot10^6 \\
\hline 15 & 2.233\cdot10^6 \\
\hline 16 & ... \\ \hline
\end{array}

< Лекция 4 || Лекция 5: 123 || Лекция 6 >