Московский Государственный Авиационный
Институт
(Технический Университет)
Филиал „Взлёт“
Курсовая работа
«Теорема Бернулли. Законраспределения Пуассона. Критерий Колмогорова»
Задание 1. Проверка выполнимоститеоремы Бернулли на примере вероятности прохождения тока по цепи
Теоремаутверждает, что при большом числе опытов частота события приближается (точнее — сходится по вероятности) к вероятности этого события. Она устанавливает фактсходимости по вероятности тех или иных случайных величин к постоянным, неслучайным величинам.
Краткаятеория:
Теорема Я.Бернулли: приувеличении количества опытов, частота появлений событий сходится по вероятностик вероятности этого события.
/>
где />,/> — сколь угодно малыеположительные числа.
Вероятностьтого, что в nнезависимых испытаний, в которых вероятность появления события равнар(0
/>, или
/>
где q=1-p
Вероятностьтого, что в nиспытаниях событие наступит:
a) менеек раз;
b) болеек раз;
c) неменее к раз;
d) неболее к раз; — находятся по формулам:
a) />;
b) />;
c) />;
d) />.
Теорема Я.Бернулли утверждает устойчивость частоты при постоянных условиях опыта. Но приизменяющихся условиях опыта аналогичная устойчивость также существует. Теорема,устанавливающая свойство устойчивости частот при переменных условиях опыта,называется теоремой Пуассона.
Схема цепи:
/>/> /> /> /> /> /> />
Вычислениевероятности:
Пусть вероятностибезотказной работы элементов выглядят следующим образом:
P1 = 0.5
P2 = 0.45
P3 = 0.6
P4 = 0.9
P5 = 0.39
P6 = 0.42
P7 = 0.6
Текстпрограммы:
Program Shiva;
Uses CRT;
Label Start;
Const
k = 7; n = 100000;
Top = 60; Left = 55; Width = 360; Height = 380;
Type Real = Extended;
Var
GrDriver, GrMode: Integer;
R: Array[1..k] Of Record P: Real; Works: Boolean; End;
Fr: Real; j: Byte;
m, i, w: LongInt; Gone: Boolean;
Function Calc: Real;
Var P1, P2, P3, P4: Real;
Begin
Calc := (R[1].P +R[2].P-R[1].P*R[2].P+R[3].P-R[3].P*
(R[1].P+R[2].P-R[1].P*R[2].P))*R[4].P*
(R[5].P +R[6].P-R[5].P*R[6].P+R[7].P-R[7].P*
(R[5].P+R[6].P-R[5].P*R[6].P));
End;
Procedure Init_Condit;
Var i: Byte;
Begin
For i := 1 To k Do Begin
R[i].Works := False;
If Random
End;
Gone := (R[1].Works Or R[2].Works Or R[3].Works)
And R[4].Works And (R[5].Works Or R[6].Works OrR[7].Works);
End;
Begin
ClrScr; Randomize;
R[1].P := 0.5; R[2].P := 0.45; R[3].P := 0.6; R[4].P :=0.9;
R[5].P := 0.39; R[6].P := 0.42; R[7].P := 0.6;
WriteLn; WriteLn(' Расчетная вероятность: ', Calc:0:3); WriteLn;
WriteLn(' n p*'); WriteLn; m := 0; w:= 0;
For j := 1 To 18 Do Begin
For i := 1 To 1000 Do Begin
Inc(w);
Init_Condit;
If Gone Then Inc(m);
End; Fr := m / w;
WriteLn(w: 10, Fr:15:3);
End;
Repeat Until KeyPressed;
End.
Результатыпрограммы:
Расчетная вероятность:0.688N, числоопытов p*, частота 1000 0.675 2000 0.678 3000 0.676 4000 0.680 5000 0.681 6000 0.682 7000 0.684 8000 0.683 9000 0.683 10000 0.684 11000 0.685 12000 0.685 13000 0.685 14000 0.686 15000 0.687 16000 0.687 17000 0.687 18000 0.688
Проверка вручную:
Первый способ:
/> />
Вывод: при большом числе опытовчастота события приближается (точнее — сходится по вероятности) к вероятностиэтого события. Следовательно, можно сделать вывод, что теорема Бернулли верна.Задание 2,3. Моделирование дискретнойслучайной величины, имеющей закон распределения Пуассона. Подтверждениегипотезы о том, что полученная случайная величина имеет данный законраспределения с помощью критерия Колмогорова.
ЗаконПуассона
Рассмотримслучайную величину X, которая может принимать целые, неотрицательныезначения:0,1,2,… ,m,...
Говорят, чтоэта СВ Xраспределена по закону Пуассона, если вероятность того, что она приметопределенное значение т, выражается формулой:
/>
(m=0,1,2...), а — некотораяположительная величина называемая параметром закона Пуассона. Ряд распределенияСВ X, распределенный позакону Пуассона, имеет вид:
/> 1 2 … m …
/>
/>
(a/1!)/>
(а2/2!)/>/> …
(am/m!)/> …
Этораспределение зависит от одного параметра а, на рисунке 1 показан видраспределения Пуассона при различных а.
/>
Математическоеожидание данного распределения случайной величины равно параметру законаПуассона а: />;Дисперсия также равна этому параметру: Dx=a. Таким образом дисперсияслучайной величины, распределенной по закону Пуассона равна ее математическомуожиданию и равна параметру а.
Это свойствоприменяется на практике для решения вопроса, правдоподобна ли гипотеза о том,что случайная величина X, распределена по закону Пуассона, для этого определяют изопыта статистические характеристики: математическое ожидание и дисперсию. Еслиих значения близки, то гипотеза является правдоподобной.
Дискетнойназывается случайная величина возможные значения которой есть отдельныеизолированные числа(т.е. между двумя возможными соседними значениями нетвозможных значений), которые эта величина принимает с определеннымивероятностями. Другими словами, возможные значения дискретной случайнойвеличины можно перенумеровать. Число возможных значений дискретной случайнойвеличины может быть конечным или бесконечным (в последнем случае множество всехвозможных значений называют счетным).
Закономраспределения называют перечень ее возможных значений и соответствующих имвероятностей. Текст программы:
Program Puasson_Kolmagor;
Uses CRT, Graph;
Const a = 2.0; d = 8; n = 500; k = d+1; Lkr = 1.2;
Top = 68; Left = 45; Width = 550; Height = 340; Ny =14;
Type Real = Extended;
Var GrDriver, GrMode, X1, Y1, X2, Y2: Integer;
i, j, w: Word; SumS, SumA, Ran, Dk, Kol: Real;
Xmin, Xmax, Ry, Mx, Dx, Rx, Sx, Ex, Sk, h: Real;
HZoom, VZoom, Lx, Ly: Real; Txt: String[20];
S, AL, AY, Y: Array[0..d] Of Real;
X: Array[1..n] Of Byte;
Procedure Bue; Far;
Begin
AssignCrt(Output); Rewrite(Output); CloseGraph;
Window(1, 1, 80, 25); ClrScr;
WriteLn ('Programed by Yuri Melnikov RD-2');
WriteLn ('All rights reserved. (c) 2004.');
WriteLn ('Thanks for attention.');
End;
Procedure Pause;
Var TextAtt, i: Byte;
Begin
Delay(1000); While KeyPressed Do ReadKey;
TextAtt := TextAttr; TextColor(7);
GoToXY(1, 25); For i := 1 To 5 Do WriteLn;
Write(' Press any key to continue or toexit...');
Repeat Until KeyPressed; If ReadKey = #27 Then Halt;
TextAttr := TextAtt; GoToXY(1, 1); ClearDevice;
End;
Function Pwr(x, p: Real): Real; {Возведение в степень}
Begin
If x > 0 Then Pwr := exp(p*ln(x))
Else Pwr := 0;
End;
Function Fact(x: Word): Real;
{Справка для Егоровой Т.П. Считает до 1000!}
Var i: Word; F: Real;
Begin
F := 1;
If x > 0 Then For i := 1 To x Do F := F * i;
Fact := F;
End;
Function f(m: Word): Real;
Begin
If m >= 0 Then f := Pwr(a, m)*exp(-a) / Fact(m)
Else f := 0;
End;
Begin
Assign(Output, ''); Rewrite(Output); Randomize; ExitProc:= @Bue;
DetectGraph(GrDriver, GrMode); InitGraph(GrDriver,GrMode, 'BGI');
SumS := 0;
For i := 0 To d Do Begin
S[i] := f(i); SumS := SumS + S[i];
End;
For i := 0 To d Do Begin al[i] := 0;
For j := 0 To i Do al[i] := al[i] + S[j] / SumS;
End;
For w := 1 To n Do Begin
Ran := Random;
For i := 0 To d Do Begin
If al[i] > Ran Then Begin
x[w] := i; Break;
End;
End;
End; WriteLn; Write(' Смоделирована ');
WriteLn('последовательность случайных чисел (з. Пуассона):');
WriteLn; Mx := 0;
For i := 1 To n Do Begin
Write(X[i]:2, ' ');
Mx := Mx + X[i] / n;
End; Pause; Dx := 0; Sk := 0;
Xmin := X[1]; Xmax := Xmin;
For i := 1 To n Do Begin
Dx := Dx + Sqr(x[i]-Mx) / (n — 1);
If Xmin > X[i] Then Xmin := X[i];
If Xmax
End;
Sx := Sqrt(Dx); WriteLn;
Rx := d; h := Rx / k; Ex := -3;
For i := 1 To n Do Begin
Sk := Sk + Sqr(x[i]-Mx)*(x[i]-Mx)/(Dx*Sx*k);
Ex := Ex + Sqr(x[i]-Mx)*Sqr(x[i]-Mx)/(k*Sqr(Dx));
End;
WriteLn(' Диапазон значений: ', Xmin:0:3, ' — ', Xmax:0:3);
WriteLn(' Мат. ожидание: ', Mx:0:3);
WriteLn(' Дисперсия: ', Dx:0:3);
WriteLn(' Ср. кв. отклонение: ', Sx:0:3);
WriteLn(' Коэффициент скошенности: ', Sk:0:3);
WriteLn(' Эксцесс: ', Ex:0:3); Pause;
For i := 1 To n Do Begin
j := Trunc((x[i]-Xmin) / h); If j > d Then j :=d;
y[j] := y[j] + 1/n;
End; Dk := 0;
For i := 0 To d Do Begin ay[i] := 0; al[i] := 0;
For j := 0 To i Do Begin
ay[i] := ay[i] + y[j];
al[i] := al[i] + f(j);
End;
If Dk
End; Ry := 0;
For i := 0 To d Do Begin
If Ry
End;
HZoom := Width / Rx; VZoom := Height / Ry;
WriteLn; WriteLn(' Гистограмма смоделированной СВ :');
Lx := Rx / k; Ly := Ry / Ny; SetTextStyle(0,1,0);
SetViewPort(Left, Top, Left + Width, Top + Height,False);
For i := 0 To k Do Begin
X1 := Round(Lx*i*HZoom);
SetColor(7); Line(X1, 0, X1, Height + 5);
Str((Lx*i+Xmin):0:2, Txt);
OutTextXY(X1+4, Height+10, Txt);
SetColor(DarkGray); Line(X1, 0, X1, Height);
End; SetTextStyle(0, 0,0);
For i := 0 To Ny Do Begin
Y1 := Round(Height-Ly*i*VZoom);
SetColor(7); Line(-5, Y1, Width, Y1); Str(Ly*i:0:2,Txt);
OutTextXY(-40, Y1-4, Txt);
SetColor(DarkGray); Line(0, Y1, Width, Y1);
Y1 := Round(Height-Ly*(i-0.5)*VZoom);
If i > 0 Then Line(0, Y1, Width, Y1);
End;
SetColor(White); SetFillStyle(8, 7);
For i := 1 To k Do Begin
X1 := Round((i-1)*Lx*HZoom-Lx*HZoom*0.05);
X2 := Round(i*Lx*HZoom-Lx*HZoom*0.95);
Y1 := Round(Height — y[i-1]*VZoom); Y2 := Height;
Bar3D(X1, Y1, X2, Y2, 0, False);
End;
MoveTo(0, Round(Height-f(0)*VZoom));
For i := 1 To d Do
LineTo(Round(i*HZoom), Round(Height-f(i)*VZoom));
Line(0, -30, 0, Height+5); Line(0, -28, 2, -15); Line(0,-28, -2, -15);
Line(-5, Height, Width + 30, Height);
OutTextXY(-36,-30,'f(x)');
OutTextXY(Width+20, Height+5,'x');
Line(Width + 28, Height, Width + 15, Height-2);
Line(Width + 28, Height, Width + 15, Height+2);
Pause; WriteLn;
Kol := Dk * Sqrt(n);
WriteLn(' Критерий Колмогорова:'); WriteLn;
WriteLn(' F(x) F~(x) '); WriteLn;
For i := 0 To d Do WriteLn(al[i]:10:2, ay[i]:14:2);
WriteLn; WriteLn(' Максимум модуля разности: ', Dk:0:2);
WriteLn(' Значение лямбда: ', Kol:2:2);
WriteLn(' Лямбда критическое (а=0.1): ', Lkr:2:2);
Write(' Так как ', Kol:0:2, ' ');
If Kol
WriteLn('
WriteLn(' Нет оснований отвергнуть гипотезу о распределении');
Write(' данной совокупности по закону Пуассона.');
End;
If Kol > Lkr Then Begin
WriteLn('> ', Lkr:0:2, ' то расхождения следует считатьнеслучайными.');
WriteLn(' Нет оснований принять гипотезу о распределении');
Write(' данной совокупности по закону Пуассона.');
End;
Pause;
End.
Результатыработы программы
Смоделированапоследовательность случайных чисел (з.Пуассона)
/>
/>
/>
F(x) F~(x)
0.14 0.15
0.41 0.45
0.68 0.71
0.86 0.88
0.95 0.95
0.98 0.98
1.00 0.99
1.00 1.00
1.00 1.00
Воспользуемся критерием Колмогорова. В качествемеры расхождения между теоретическим и статистическим распределениямирассматривается максимальное значение модуля разности между статистическойфункцией распределения F*(x) и соответствующей теоретической функцией распределения F(x).
D = max | F*(x)- F(x)|
D = 0.04
Далее определяем величину l по формуле:
/> ,
где n – число независимых наблюдений.
/>/>/>
Основанием для выбора в качестве меры расхождениявеличины Dявляется исключительная простота её закона распределения. А.Н. Колмогоровдоказал, что, какова бы ни была функция распределения F(x) непрерывной случайнойвелечины X,при неограниченном возрастании числа независимых наблюдении n вероятность неравенства
/>
стремится к пределу
/>
Значения вероятности />, подсчитанные по формулеприведённой выше занесены в таблицу, по данной таблице находим вероятность />
P(l) = 0,711.
Это есть вероятность того, что (если величина хдействительно распределена по закону F(x)) за счёт чисто случайных причин максимальное расхождениемежду F*(x) и F(x) будет не меньше, чемнаблюдаемое.
Нет оснований отвергать гипотезу о том, что нашзакон распределения является геометрическим законом распределения.
Критерий Колмогорова:
F(x) F~(x)
0.14 0.15
0.41 0.46
0.68 0.71
0.86 0.88
0.95 0.95
0.98 0.98
1.00 0.99
1.00 1.00
1.00 1.00
Список используемойлитературы
1. «Теория вероятностей»В.С. Вентцель
2. «Теория вероятностей(Задачи и Упражнения)» В.С. Вентцель, Л.А. Овчаров
3. «Справочник повероятностным расчётам».
4. «Теория вероятностей иматематическая статистика» В.Е. Гмурман
5. «Руководство к решениюзадач по теории вероятностей и математической статистике» В.Е. Гмурман.