МИНИСТЕРСТВО ОБЩЕГО И ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
РОССИЙСКОЙ ФЕДЕРАЦИИ
НГТУ
Кафедра ПМ
Лабораторная работа №2
Факультет: ПМИ
Группа: ПМ-86
Студенты: Рощина Т.Е.
Кочанов М.В.
Юркевич.А.
Преподаватели: Тимофеев.В.С
Тишковская.С.В
Вариант: д
Новосибирск-2001
1.Цель работы
Изучение методов моделирования дискретных случайных величин , эксперементальное исследование качества последова тельностей.
2.Задание
Осуществить моделирование случайной величины , распределенной попуассоновскому закону:
pi =P{ ξ =i}= λ i *e-λ / (i !) i=0,1,2...... (1)
Произвести анализ качества полученной последовательности псевдослучайных величин ,используя критерий χ2
3.Схема моделирования
Вработе был применен общий алгоритм моделирования дискретных случайных величин ,приведенный в методических указаниях [1] к лабороторной работе .
1.Генерируем значение S равномерно распределенной на интервале [0,1] с.в.
2.Положим i=0
3. S:=S-pi
4. Если S<=0 ,принимаем i в качестве значения с.в. ξ ,иначе i:=i+1;goto 1
Как можно легко проверить , значения рi и pi-1 связаны соотношением рi = pi-1 * λ / i (2)
p0 найдем в соответствии с формулой (1) ,а рi ,0<i<=n, получим ,используя соотношение (2) .Кроме того ,(1)для i=0 также в целях оптимизации вычислений упростим следующим образом:
p0= e-λ ;
4.Анализ качества псевдослучайнойпоследовательности
Статистикка критерия χ2 проверки гипотезы о распределении выглядит следующим образом :
X2m =∑j=Mj=1 (νj –mp0j)2/ (mp0j)
Здесь M – это кл-во интервалов группирования выборки ,m-объем выборки,
νj – кол-во эл-тов выборки ,попавших в j-ый интервалб p0j –предполагаемая вероятность того, что с.в. окажется в j-ом интервале.
При достаточно большом m гипотеза отом что данная выборка представляет собой выборку из некоторого распределения ,которому соответствуют данные значения p0j ,не отвергается с уровнем значимостикриттерия α , если
X2m < χ21 –α(M-1)
Разобьем отрезок на n+1 интервалов причем
pn+1=1- ∑j=nj=1 p j ;
Пусть M=n+1; В качестве νj где j=0,1,2.....,положим α=0.05
5.Результаты
1.Положим n=2 , ν=0.5 , m-объем выборки =100
Значения ξ ,i |
0 |
1 |
2 |
Вероятность p i |
0.607252 |
0.303626 |
0.089122 |
νj |
69 |
25 |
6 |
X2100= 3.02632 < χ21 –0.05(2 ) = 5.99
2.Положим n= 8, ν=6 , m-объем выборки =100
Знач ξ ,i |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
p i |
0.0025 |
0.0150 |
0.0452 |
0.9051 |
0.1357 |
0.1629 |
0.1629 |
0.1396 |
0.2453 |
νj |
1 |
3 |
5 |
7 |
18 |
17 |
18 |
12 |
19 |
X2100= 7.39229 < χ21 –0.05 (8) =15.5
3.Положим n=4 , ν=1 , m-объем выборки =100
Значения ξ ,i |
0 |
1 |
2 |
3 |
4 |
Вероят p i |
0.368755 |
0.368755 |
0.184377 |
0.061459 |
0.016653 |
νj |
40 |
41 |
13 |
5 |
1 |
X2100=2.80928 < χ21 –0.05 (4 ) =9.49
4.Возьмем еще несколько значений
Объем выборки |
N |
X2m |
χ21 –0.05 |
1000 |
4 |
3.38058 |
9.49 |
10000 |
5 |
4.74487 |
11.1 |
100000 |
5 |
6.29917 |
11.1 |
6.Заключение
Использованная схема моделирования с.в. имеющей пуассоновское распределение (1) ,вполне отвечает своему предназнаечнию, так как с ее помощью удалось получить большие качественные выборки .
7.Текст программы
#include <iostream> //i/o
#include <stdlib.h> //rand()
#include <math.h>
typedef double type;
type* Ps;
int N,n,k,sdv,SampleSize;
type la,f;
int* sample;
void initPs()
{
type exp,ss;
Ps=new type[n+1];
f=1.0;
exp=2.71182818 ;
sdv=1;
Ps[0]=pow(exp,-la);
type sum=Ps[0];
cout<<"P"<<endl<<" & "<<Ps[0];
for(int i=1;i<=n-1;i++)
{
Ps[i]=Ps[i-1]*la/i;
sum+=Ps[i];
cout<<" & "<<Ps[i];
}
Ps[n]=1.0-sum;
cout<<endl;
cout<<" & "<<Ps[n];
cout<<"Check sum for Ps: "<<sum<<endl;
}
type chi()
{
type res=0;
cout<<endl<<"Sample:"<<endl;
for(int i=0;i<=n;i++)
{
cout<<" & "<<sample[i];
res+=(sample[i])*(sample[i])/(SampleSize*Ps[i]);
}
res-=SampleSize;
cout<<endl;
return res;
}
int generate()
{
type S=rand();
S/=RAND_MAX;
int m=-1;
do
{ m++;
S-=Ps[m];
}while(S>0);
return m;
}
int main()
{
cout<<"Input n,la:"<<endl;
cin>>n>>la;
cout<<"Size of sample: ";
cin>>SampleSize;
initPs();
sample=new int[n+1];
for(int i=0;i<=n;i++)
sample[i]=0;
int cur;
for(int i=0;i<SampleSize;i++)
{ cur=generate();
sample[cur]++;
// cout<<cur<<" ";
}
cout<<"chi^{2}_{"<<(n+1)<<"}="<<chi();
return 0;
}
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.