Моделирование датчиков случайных чисел с заданным законом распределения
Лабораторная работа №1
На
тему: Моделирование датчиков случайных
чисел с заданным законом распределения
Лабораторная работа № 2
Моделирование
датчиков случайных
чисел с заданным
законом распределения
I
Цель работы
Целью работы является:
- Практическое освоение методов моделирования случайных чисел с заданным законом распределения
- Разработка и моделирование на ПЭВМ датчика случайных чисел с конкретным законом распределения
- Проверка адекватности полученного датчика
II
Теоретические сведения
1. Основные методы моделирования случайных последовательностей с заданным законом распределения
При исследовании и моделировании различных сложных систем в условиях действия помех возникает необходимость в использовании датчиков случайных чисел с заданным законом распределения. Исходным материалом для этого является последовательность x1,x2….xn с равномерным законом распределения в интервале [0,1]. Обозначим случайную величину, распределенную равномерно через ζ(кси).
Тогда
равномерно-распределенные случайные
числа будут представлять собой
независимые реализации случайной
величины ζ, которые можно получить
с помощью стандартной функции
RND (ζ)– программно реализованной на
ПЭВМ в виде генератора случайных чисел
с равномерным законом распределения
в интервале [0,1]. Требуется получить
последовательность y1,y2,..yn независимых
реализаций случайной величины η, распределенных
по заданному закону распределения. При
этом закон распределения непрерывной
случайной величины может быть задан интегральной
функцией распределения:
F(y)=
P(ksi
y)
(1)
или
плотностью вероятности
f(y)=F’(y)
Функции f(y) и F(y) могут быть заданы графически или аналитически.
Для получения случайной величины η с функцией распределения F(y) из случайной величины ζ, равномерно-распределенной в интервале [0,1], используются различные методы. К основным методам моделирования случайных чисел с заданным законом распределения относятся:
- метод обратной функции
- метод отбора или исключения
-
метод композиции.
2. Метод обратной функции
Если
ζ- равномерно-распределенная на интервале
[0,1] случайная величина, то искомая случайная
величина может быть получена с помощью
преобразования:
η=F-1
(ζ)
Где F-1 (ζ) - обратная функция по отношению к функции распределения F(ζ)
F(y)
1
ζ
0 η y
Рис
1 Функция распределения
F(ζ)
Действительно,
при таком определении
P(η
y)=P{F-1(ζ)
y}=P{ ζ
F(y) }= F(y) (4)
В данной цепочке равенств первое равенство следует из (3), второе из неубывающего характера функций F(ζ) и F-1 (ζ) и третье из равномерного в интервале [0,1] распределения величин ζ.
Таким образом, если задана функция распределения F(y), то для получения случайной последовательности с таким распределением необходимо найти ее обратную функцию.
Для
нахождения обратной функции можно
использовать два метода: аналитический
и графический.
3.Метод отбора или исключения
Данный метод удобнее использовать, если требуемый закон распределения задан плотностью вероятности f(y). В отличии от метода обратной функции метод отбора или исключения для получения одного требуемого случайного числа требует не одного равномерно- распределенного случайного числа, а двух, четырех, шести или более случайных чисел. В этом случае область возможных значений η представляет конечный отрезок (a,b), а плотность вероятности f(y) ограничена сверху значением fmax (Рис.7). Тогда область значений η* и ζ* можно ограничить ступенчатой кривой:
0, если y<a
g(y)= fmax, если a y b (25)
0, если y>b
Затем
берутся с помощью генератора случайных
чисел (RND(ζ)) два равномерно-распределенных
числа ζ1 и
ζ2 , по которым определяются
равномерные на интервале [a,b] независимые
величины:
η ’=a + (b-a)*ζ1
ζ’=fmax*
ζ2
Где a,b – границы возможных значений случайной величины η,
fmax- максимальное значение функции
f(y) (Рис.7)
f(y) g(y)
fmax
ζ
a η ’ b
Рис.7
Заданная плотность
вероятности
Если ζ’ f (η ’) , то η ’ принимается в качестве очередной реализации случайной величины η. В противном случае η ’ отбрасывается и берется следующая пара равномерно- распределенных случайных чисел ζ1 и ζ2 . Такая процедура повторяется до тех пор, пока мы не получим требуемого количества случайных чисел с заданной плотностью вероятности.
4. Метод композиции
Метод
композиции основывается на представлении
плотности вероятности fη (x) по формуле
полной вероятности:
fη
(x)=
(27)
Где H(z)=P(ζ z)– интегральная функция распределения случайной величины ζ;
P(x/z )- условная плотность вероятности.
Переходя
к дискретной форме, интеграл заменяется
на сумму и тогда получаем
fη
(x)=
Pj*fj (x)
(28)
где
Pj=1
fj
(x) -условная плотность вероятности
Таким образом, для любой заданной плотности вероятности ее фигура единичной площади, ограниченной осью x и кривой fη(x), разбивается на произвольное число простых не пересекающихся частей gj (i=1,k),с площадями Pj (j=1,k), (Рис.8)
Рис.8Разбивка плотности вероятности на отдельном участке
fη(x)
g2 (Р2) g3 (Р3)
x
g1 (Р1)
x
Рис. 9 Условные плотности
вероятности
g2 (Р2)
x
g3 (Р3)
x
Условные плотности вероятности имеют вид (Рис.9)
Для
полученных условных плотностей вероятности
одним из предыдущих методов определяются
случайные последовательности, которые
в сумме дадут требуемую
5. Оценка закона распределения
Для полученной случайной последовательности y1, y2,…,yn с заданным законом распределения необходимо провести оценку соответствия заданного закона распределения, который реализует смоделированный датчик случайных чисел. Поэтому для последовательности y1, y2,…,yn строится статистическая функция распределения
F*
(y) (Рис. 10). На этом же графике строится
интегральная функция распределения
F(y) для заданного закона распределения
и производится сопоставление F*(y)
и F(y). Согласие закона проверяется
по критерию Колмогорова. Для этого
вычисляется статистика:
Ди=max
F*(y) - F(y)
(30)
Для конечных решений и распределения статистики Ди получены пороговые значения в форме таблиц (Таблица 1.). По этой таблице для заданных объемов последовательности и и значению статистики Ди определяется уровень значимости .
Если
гипотеза верна то статистика Ди*
имеет в пределе при n
распределение Колмогорова
и квантили уровня P= (1-2) близки к 1.
Это значит, что полученный генератор
случайных чисел вырабатывает последовательность
с заданным законом распределения. Если
значения статистики Ди не попадают
в пороговые значения, то такой генератор
не годится для пользования.
F(y) 1
F*(y)
0.5 Dn {
y
y1
y2
y3 y4
…….yn-1
yn
Рис.10Оценка распределения
III Содержание исследования
Исследование,
проводимое в данной работе, заключается
в получении программного датчика
случайных чисел, пригодного для
моделирования случайной
1.По двадцати числам (n=20) выведенным на печать построить статистическую функцию распределения F*(y)(рис.10) На этом же графике построить интегральную функцию распределения F(y) для заданного преподавателем закона распределения. Сопоставив значения F*(y)и F(y), вычислить статистику Ди (30).
2. Составить блок- схему и программу для ПЭВМ, в которой следует предусмотреть построение статистического ряда и вычисление статистики Ди по критерию Колмогорова.
3.По таблице пороговых значений статистики Ди произвести оценку распределения.
4. Для полученной последовательности произвести оценку математического ожидания, дисперсии, среднеквадратического отклонения.
Блок- схема генератора
Интерфейс
программы:
Листинг
программы:
Private Sub Command1_Click()
Dim n As Integer
Dim p1, p2 As Integer
Dim
Y() As Variant, X As Double
p1 = 0: p2 = 0: m = 0: d = 0
List1.Clear
Randomize
X = 0.5
n = Val(Text1.Text)
ReDim Y(n) As Variant
For i = 1 To n
X = Rnd(X)
List1.AddItem ("x(" + Str(i) + ")=" + Str(X))
If X < 0.7 Then
p1 = p1 + 1
Y(i) = 2
m = m + Y(i)
List1.AddItem ("y(" + Str(i) + ")=" + Str(Y(i)))
Else
p2 = p2 + 1
Y(i) = 10 * X - 5
m = m + Y(i)
List1.AddItem ("y(" + Str(i) + ")=" + Str(Y(i)))
End If
Next i
List1.AddItem ("кол. точек с вер-ю 0.7: p1=" + Str(p1))
List1.AddItem ("кол. точек с вер-ю 0.3: p2=" + Str(p2))
List1.AddItem ("ВЕРОЯТНОСТИ:")
List1.AddItem (" 0.4<=x<0.7 --- 0" + Str(p1 / n))
List1.AddItem (" 0.7<=x<=1 --- 0" + Str(p2 / n))
m = m / n
List1.AddItem
("мат ожидание = " + Str(m))
For i = 1 To n
d = d + (Y(i) - m) ^ 2
Next i
d = d / (n - 1)
b = Sqr(d)
List1.AddItem ("диссперсия = " + Str(d))
List1.AddItem ("сререднекв откл = " + Str(b))
'построение интегральной функции
Picture1.Scale (-2, 11)-(11, -2)
Picture1.Line (0, -2)-(0, 11)
Picture1.Line
(-2, 0)-(11, 0)
Picture1.PSet (-1, 11)
Picture1.Print ("f(x)")
Picture1.PSet (10.5, -0.3)
Picture1.Print ("x")
Picture1.PSet (-0.7, 4)
Picture1.Print ("0.4")
Picture1.PSet (-0.7, 7)
Picture1.Print ("0.7")
Picture1.PSet (-0.7, 10)
Picture1.Print ("1")
Picture1.PSet (2, -0.3)
Picture1.Print ("2")
Picture1.PSet (5, -0.3)
Picture1.Print
("5")
For i = 0 To 11 Step 0.001
If i < 2 Then
l = 4
Else
If i < 5 Then
l = (0.1 * i + 0.5) * 10
Else
l = 10
End If
End If
Picture1.PSet (i, l)
Next i
Picture1.Line
(2, 4)-(2, 7)
'построение обратной функции
Picture2.Scale (-2, 11)-(11, -2)
Picture2.Line (0, -2)-(0, 11)
Picture2.Line
(-2, 0)-(11, 0)
Picture2.PSet (-1, 11)
Picture2.Print ("x")
Picture2.PSet (10.5, -0.3)
Picture2.Print ("f(x)")
Picture2.PSet (-0.7, 2)
Picture2.Print ("2")
Picture2.PSet (-0.7, 5)
Picture2.Print ("5")
Picture2.PSet (4, -0.3)
Picture2.Print ("0.4")
Picture2.PSet (7, -0.3)
Picture2.Print ("0.7")
Picture2.PSet (10, -0.3)
Picture2.Print
("1")
For i = 4 To 10 Step 0.001
If i < 7 Then
l = 2
Else
l = i - 5
End If
Picture2.PSet (i, l), vbRed
Next i
Picture2.Line (4, 0)-(4, 2), vbRed
Picture2.Line
(10, 5)-(10, 11), vbRed
End Sub

- Моделирование динамических систем
- Моделирование, его понятие и структура
- Моделирование женского платья
- Моделирование женской одежды
- Моделирование и диагностика проблем организационного поведения определённых субъектов деятельности
- Моделирование и его роль в принятии управленческих решений
- Моделирование и использование культурной специфики потребителей продукта/услуги
- Моделирование в научном и техническом творчестве
- Моделирование в научно-техническом исследовании
- Моделирование в организационно-техническом проектировании
- Моделирование вычислительных систем
- Моделирование в экономике. Виды моделей
- Моделирование гемодинамики системы кровообращения
- Моделирование гидрологического режима водохранилищ в случае глобального потепления