Теорія імовірностей та математична статистика

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

Індивідуальна робота на тему:

"Теорія імовірностей та математична статистика"

Виконав: студенти групи ПМП-32

Теоретичні відомості:

Набір експерементальних даних будем позначатиx, …,x. Однорідний набір спостережень називається вибіркою з генеральної сукупності. Генеральна сукупність - універсальна множина значень(проявів) цього явища. Кількість елементів вибірки називають об'ємом вибірки. Вибіркові значення називають ще й статистичним розподілом, якщо їх спеціальним чином перетворити. З однієї генеральної сукупності можна отримати різні вибірки, тому вибірку називають статистичною змінною, які в свою чергу бувають: дискретними або наперервними.

Весь аналітичний процес можна поділити на побудову варіаційного ряду та табличне, графічне, аналітичне представлення цієї вибірки.

Варіаційним рядом вибірки x, …,x (1) називається сукупність всіх елементів вибірки розміщених у порядку неспадання величин їх значень.

Нехай x, … , x (2) - варіаційний ряд вибірки (1), тоді можна побудувати частотну таблицю (3):

X

y

y

V

n

n

де y - найменше значення варіаційного ряду (2),

n- кількість його повторень, і т.д.

Якщо випадкові змінні неперервні, то діапазон зміни

вибіркових значень x- x розбивається на r груп ,

де

z- середина першого інтервала.

z- середина r-того інтервала.

r вибирається з умови: 2

Нехай nпопадає на z, … , n попадає на z.

Тоді частотна таблиця набуде вигляду:

Z

z

z

V

n

n

Де n+ … + n=n

Найчастіше для графічного зображення вибірки використовують:

  1. Графік (діаграма частот).

  2. Полігон частот.

  3. Гістрограма.

Нехай маєм частотну таблицю (3). Діаграмою частот називається сукупність вертикальних відрізків поставлених в точках y, … , y, з довжиною n, … , n.

Полігон частот, це ламана лінія, що зєднує точки з кординатами (x,n).

Гістрограма - сукупність прямокутників, центри основ яких лежать в точках z(якщо маєм вибірку з неперервної генеральної сукупності) і x(якщо маєм вибірку з дескретної генеральної сукупності).

Аналітично статистичні дані представляються як правило емпіричною функцією розподілу або певними статистиками. Нехай маєм частотну таблицю (3), то емпіричною функцією називається:

F= (6)

де к - кількість елементів вибірки, що неперевищують x.

Числові характеристики статистичного матеріалу поділяються на:

  1. Статистики локації(центральної тенденції).

  2. Розсіювання.

  3. Числові характеристики форми.

Числові характеристики центральної тенденції.

Медіана - той елемент вибірки(якщо елементів непарна кількість) який поділяє вибірку по об'єму на дві рівні частини.Якщо елементів є парна кількість то медіана є проміжком.

Мода - той елемент частотної таблиці, який має найбільшу частоту, тобто найчастіше зустрічається у вибірці.

Середнє, якщо випадкові змінні дискретні і (3) - її частотна таблиця обчислюється за формулою: = або =.

Числові характеристики розсіювання.

Варіанса: S .

Середньоквадратичне відхилення: S=.

Варіація(мінливість): V= .

Розмахом: =x-x .

Приклад роботи програми:



Дискрентна вибірка 1,0,-1,2,3,2,3,-1,0,5,4. Результат:

Графіки:



Текст програми (Object Pascal Delphi 4 з застосуванням технології ActiveX):

unit main;


interface


uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

Grids, DBGrids, StdCtrls;


type

TForm1 = class(TForm)

StringGrid1: TStringGrid;

Button1: TButton;

Button2: TButton;

ComboBox3: TComboBox;

Label1: TLabel;

Edit1: TEdit;

procedure Button2Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;


var

Form1: TForm1;n:integer; typ:boolean;


implementation


uses Unit2;


{$R *.DFM}




procedure TForm1.Button2Click(Sender: TObject);

begin

close;

end;


procedure TForm1.Button1Click(Sender: TObject);

var i:integer;

begin

i:=30;n:=30;


while (StringGrid1.Cells[i,0]='') do begin

n:=n-1;

i:=i-1;

end;


typ:=true;

if Combobox3.ItemIndex=1 then typ:=false;


Form1.Visible:=false;

Form2.Showmodal;

end;


end.


unit Unit2;


interface


uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

StdCtrls, Grids;


type

TForm2 = class(TForm)

StringGrid1: TStringGrid;

Button1: TButton;

Button2: TButton;

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit;

Edit5: TEdit;

Label1: TLabel;

Button3: TButton;

Label2: TLabel;

Edit4: TEdit;

Label3: TLabel;

Edit6: TEdit;

Memo1: TMemo;

Label5: TLabel;

Label6: TLabel;

Label7: TLabel;

Edit8: TEdit;

Label8: TLabel;

Edit9: TEdit;

Label9: TLabel;

Edit10: TEdit;

Label10: TLabel;

Edit11: TEdit;

Label4: TLabel;

Edit7: TEdit;

Label11: TLabel;

Edit12: TEdit;

Label12: TLabel;

Edit13: TEdit;

Label13: TLabel;

Edit14: TEdit;

Label14: TLabel;

Edit15: TEdit;

procedure Button2Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure FormActivate(Sender: TObject);

procedure Button3Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;


var

Form2: TForm2; xi,ni,wi:variant;m,r:integer;sx,s,ser:double;


implementation


uses main, Unit3;


{$R *.DFM}


procedure TForm2.Button2Click(Sender: TObject);

begin

halt;

end;


procedure TForm2.Button1Click(Sender: TObject);

begin

Form2.Close;

Form1.Visible:=true;

end;


procedure TForm2.FormActivate(Sender: TObject);

var sn,i,j,k:integer;p,w,v,t:variant;dx,tx:double;

s1,s2,s3:string;

begin


v := VarArrayCreate([0,n], varDouble);

p := VarArrayCreate([0,n], varDouble);


m:=0;


for i:=1 to n do begin

v[i]:=Form1.StringGrid1.Cells[i,0];

p[i]:=Form1.StringGrid1.Cells[i,0];

end;


{sorting}

k:=n;

while k<>0 do begin

for i:=n-1 downto 1 do

if v[i]>v[i+1] then begin

t:=v[i]; v[i]:=v[i+1]; v[i+1]:=t;

end;

k:=k-1;

end;


{об'єм вибірки}

xi:=n;

edit5.Text:=xi;


if typ=true then begin


w := VarArrayCreate([0,n], varDouble);


for i:=1 to n do

w[i]:=Form1.StringGrid1.Cells[i,0];


{об'єм ряду вибірки}

for i:=1 to n do

if w[i]<>-666 then begin

m:=m+1;

if i<>n then

for j:=i+1 to n do

if w[i]=w[j] then

w[j]:=-666;


end;



xi := VarArrayCreate([0,m], varDouble);

ni := VarArrayCreate([0,m], varInteger);

wi := VarArrayCreate([0,m], varDouble);

sn:=0;

sx:=0;

k:=0;


for i:=1 to n do

if v[i]<>-666 then begin

k:=k+1;

xi[k]:=v[i];

ni[k]:=1;

if i<>n then

for j:=i+1 to n do

if xi[k]=v[j] then begin

ni[k]:=ni[k]+1;

v[j]:=-666;

end;

end;

sn:=0;sx:=0;

for i:=1 to m do begin

sn:=sn+ni[i];

sx:=sx+xi[i];

end;

s:=sx/m;


for i:=1 to m do

wi[i]:=ni[i]/sn;


{moda}

t:=ni[1];

for i:=1 to m do

if t<=ni[i] then begin

t:=ni[i];

k:=i;

end;

Edit4.text:='{';

for i:=1 to m do

if t=ni[i] then begin

w:=xi[i];s1:=w;

Edit4.text:=Edit4.Text + s1;

if k<>i then Edit4.Text:=Edit4.Text + ','

else Edit4.Text:=Edit4.Text + '}';

end;


{mediana}

if m mod 2<>0 then begin

t:=(m+1)/2; t:=xi[t];

Edit6.Text:=t;

end

else begin

t:=m/2;k:=t;

t:=xi[k];

s1:=t;

t:=xi[k+1];

s2:=t;

Edit6.Text:='[' + s1 + ',' + s2 + ']';

end;


{Середнє}

ser:=0;

for i:=1 to n do

ser:=ser+p[i];

ser:=ser/n;

t:=ser; Edit15.Text:=t;


{Deviacia}

tx:=0;

for i:=1 to n do

tx:=tx+(p[i]-ser)*(p[i]-ser);

t:=tx;

Edit8.Text:=t;


{Variansa}

if n<>1 then sx:=tx/(n-1);t:=sx;

Edit9.Text:=t;


sx:=0;

{momenty}

for i:=1 to n do {1}

sx:=sx+p[i]-ser;

sx:=sx/n;

t:=sx;

Edit7.Text:=t;


tx:=tx/n;t:=tx; {2}

Edit12.Text:=t;


sx:=0;

for i:=1 to n do {3}

sx:=sx+(p[i]-ser)*(p[i]-ser)*(p[i]-ser);

sx:=sx/n;

t:=sx;

Edit13.Text:=t;


{Assymetrija}

if tx<>0 then sx:=sx/(sqrt(tx)*sqrt(tx)*sqrt(tx));

t:=sx;

Edit10.Text:=t;


sx:=0;

for i:=1 to n do {4}

sx:=sx+(p[i]-ser)*(p[i]-ser)*(p[i]-ser)*(p[i]-ser);

sx:=sx/n;

t:=sx;

Edit14.Text:=t;


{Eksces}

if tx<>0 then sx:=sx/(tx*tx)-3;

t:=tx;

Edit11.Text:=t;


{rozpodil function}

s2:=xi[1]; sx:=0;

Memo1.lines[0]:='0, x<' + s2;

for i:=1 to m-1 do begin

sx:=sx+wi[i];

t:=sx;

s1:=t;

s2:=xi[i];

s3:=xi[i+1];

Memo1.lines[i]:=s1 + ', ' + s2 + '=<x<' + s3;

end;

s2:=xi[m];

Memo1.lines[m]:='1, x>=' + s2;


for i:=1 to m do begin

Form2.StringGrid1.Cells[i,0]:=xi[i];

Form2.StringGrid1.Cells[i,1]:=ni[i];

Form2.StringGrid1.Cells[i,2]:=wi[i];

end;





end


else begin

sx:=v[n]-v[1];


i:=1;

r:=1;

while i<n do begin

i:=2*i;

r:=r+1;

end;


sx:=sx/(r-1)-0.2;


xi := VarArrayCreate([0,r-1], varDouble);

ni := VarArrayCreate([0,r-1], varInteger);

wi := VarArrayCreate([0,r-1], varDouble);

w := VarArrayCreate([0,r-1], varVariant);


xi[1]:=v[1]-0.2; s1:=xi[1];s2:=v[1]+sx;

Form2.StringGrid1.Cells[1,0]:='[' + s1 + ';' + s2 + ')';

xi[r-1]:=v[n]-sx; s1:=xi[r-1];

s2:=v[n]+0.2;

Form2.StringGrid1.Cells[r-1,0]:='[' + s1 + ';' + s2 + ']';


for i:=2 to r-2 do begin

xi[i]:=xi[i-1]+sx; s1:=xi[i]; s2:=xi[i]+sx;

Form2.StringGrid1.Cells[i,0]:='[' + s1 + ';' + s2 + ']';

end;


i:=1;j:=1;

while i<n do begin

if v[i]<xi[j]+sx then begin

ni[j]:=ni[j]+1;

i:=i+1;

end

else if j<=r-1 then j:=j+1;

end;

ni[r-1]:=ni[r-1]+1;


sn:=0;

for i:=1 to r-1 do begin

sn:=sn+ni[i];

Form2.StringGrid1.Cells[i,1]:= ni[i];

end;


for i:=1 to r-1 do begin

w[i]:=Form2.StringGrid1.Cells[i,0];

wi[i]:=ni[i]/sn;

Form2.StringGrid1.Cells[i,2]:= wi[i];

end;


{moda}

t:=ni[1];

for i:=1 to r-1 do

if t<=ni[i] then begin

t:=ni[i];

k:=i;

end;

Edit4.text:='{';

for i:=1 to r-1 do

if t=ni[i] then begin

s1:=xi[i]+sx/2;

Edit4.text:=Edit4.Text + s1;

if k<>i then Edit4.Text:=Edit4.Text + ','

else Edit4.Text:=Edit4.Text + '}';

end;


{mediana}

if r-1 mod 2<>0 then begin

t:=r/2; s1:=w[t];

Edit6.Text:=s1;

end

else begin

t:=(r-1)/2;

s1:=xi[t+1]+sx-sx/2;

s2:=xi[t+1]+sx+sx/2;

Edit6.Text:='[' + s1 + ';' + s2 + ']';

end;


{rozpodil function}

s2:=xi[1]; w[1]:=0;

Memo1.lines[0]:='0, x<' + s2;

for i:=1 to r-1 do begin

w[1]:=w[1]+wi[i];

t:=w[1];

s1:=t;

s2:=xi[i];

s3:=xi[i]+sx;

Memo1.lines[i]:=s1 + ', ' + s2 + '=<x<' + s3;

end;

s2:=xi[r-1];

Memo1.lines[r]:='1, x>=' + s2;


{serednie}

tx:=0;

for i:=1 to n do

tx:=tx+p[i];

ser:=tx/n;t:=ser;

Edit15.text:=t;


{Deviacia}

tx:=0;

for i:=1 to n do

tx:=tx+(p[i]-ser)*(p[i]-ser);

t:=tx;

Edit8.Text:=t;


{Variansa}

if n<>1 then dx:=tx/(n-1);t:=dx;

Edit9.Text:=t;


{momenty}

for i:=1 to n do {1}

dx:=dx+p[i]-ser;

dx:=dx/n;

t:=dx;

Edit7.Text:=t;


tx:=tx/n;t:=tx; {2}

Edit12.Text:=t;


dx:=0;

for i:=1 to n do {3}

dx:=dx+(p[i]-ser)*(p[i]-ser)*(p[i]-ser);

dx:=dx/n;

t:=dx;

Edit13.Text:=t;


{Assymetrija}

if tx<>0 then dx:=dx/(sqrt(tx)*sqrt(tx)*sqrt(tx));

t:=dx;

Edit10.Text:=t;


dx:=0;

for i:=1 to n do {4}

dx:=dx+(p[i]-ser)*(p[i]-ser)*(p[i]-ser)*(p[i]-ser);

dx:=dx/n;

t:=dx;

Edit14.Text:=t;


{Eksces}

dx:=dx/(tx*tx)-3;

t:=tx;

Edit11.Text:=t;


s:=ser;


end;


end;


procedure TForm2.Button3Click(Sender: TObject);

begin

Form3.ShowModal;

end;


end.


unit Unit3;


interface


uses main, unit2,

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

OleCtrls, graphsv3;


type

TForm3 = class(TForm)

Graph1: TGraph;

Graph2: TGraph;

Graph3: TGraph;

Graph4: TGraph;

procedure FormActivate(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;


var

Form3: TForm3;


implementation


{$R *.DFM}


procedure TForm3.FormActivate(Sender: TObject);

var i,j:integer;dx:double;nxi,fi:variant;

begin

dx:=sx;

sx:=0;

if typ=true then begin


Graph1.RandomData:=0;

Graph1.GraphTitle:='Гістограма';

Graph1.GraphType:=3;

Graph1.NumPoints:=m;



for i:=1 to m do begin

Graph1.Data[i]:=ni[i];

Graph1.XPosData:=xi[i];

end;


Graph2.RandomData:=0;

Graph2.GraphTitle:='Полігон';

Graph2.GraphType:=6;

Graph2.NumPoints:=m;


for i:=1 to m do begin

Graph2.Data[i]:=ni[i];

Graph2.XPosData:=xi[i];

end;


Graph3.RandomData:=0;

Graph3.GraphTitle:='Діаграма';

Graph3.GraphType:=6;

Graph3.GraphStyle:=2;

Graph3.NumPoints:=m;



for i:=1 to m do begin

Graph3.XPosData:=xi[i];

Graph3.Data[i]:=ni[i];

end;


Graph4.RandomData:=0;

Graph4.GraphTitle:='Функція розподілу';

Graph4.GraphType:=6;

Graph4.NumPoints:=2*m+2;


fi := VarArrayCreate([0,2*m+2], varDouble);

nxi := VarArrayCreate([0,2*m+2], varDouble);


for i:=1 to m do begin

sx:=wi[i]+sx;

fi[2*i]:=sx-wi[i];

fi[2*i+1]:=sx;

nxi[2*i]:=xi[i];

nxi[2*i+1]:=xi[i];

end;

fi[2*m+2]:=1;

nxi[1]:=xi[1]-s;

nxi[2*m+2]:=xi[m]+s;


j:=0;

for i:=1 to 2*m+2 do begin

Graph4.Data[i]:=fi[i];

Graph4.XPosData:=nxi[i];

end;

end


else begin

Graph1.RandomData:=0;

Graph1.GraphTitle:='Гістограма';

Graph1.GraphType:=3;

Graph1.NumPoints:=r-1;


for i:=1 to r-1 do begin

Graph1.Data[i]:=ni[i];

Graph1.XPosData:=xi[i];

end;


Graph2.RandomData:=0;

Graph2.GraphTitle:='Полігон';

Graph2.GraphType:=6;

Graph2.NumPoints:=r-1;


for i:=1 to r-1 do begin

Graph2.Data[i]:=ni[i];

Graph2.XPosData:=xi[i]+dx/2;

end;


Graph3.RandomData:=0;

Graph3.GraphTitle:='Діаграма';

Graph3.GraphType:=6;

Graph3.GraphStyle:=2;

Graph3.NumPoints:=r-1;



for i:=1 to r-1 do begin

Graph3.XPosData:=xi[i]+dx/2;

Graph3.Data[i]:=ni[i];

end;


Graph4.RandomData:=0;

Graph4.GraphTitle:='Функція розподілу';

Graph4.GraphType:=6;

Graph4.NumPoints:=2*(r-1)+2;


fi := VarArrayCreate([0,2*(r-1)+2], varDouble);

nxi := VarArrayCreate([0,2*(r-1)+2], varDouble);

sx:=0;

for i:=1 to r-1 do begin

sx:=wi[i]+sx;

fi[2*i]:=sx-wi[i];

fi[2*i+1]:=sx;

nxi[2*i]:=xi[i];

nxi[2*i+1]:=xi[i];

end;

fi[2*(r-1)+2]:=1;

nxi[1]:=xi[1]-3;

nxi[2*(r-1)+2]:=xi[r-1]+3;


j:=0;

for i:=1 to 2*(r-1)+2 do begin

Graph4.Data[i]:=fi[i];

Graph4.XPosData:=nxi[i];

end;

end;

end;



end.



Список літератури


1. Крамер Гарольд. Математические методы статистики. М.: Мир, 1976.

2. Бух Арлей. Введение в теорию вероятностей и математическую статистику. М., 1951.


Додати в блог або на сайт

Цей текст може містити помилки.

Фінанси, гроші і податки | Реферат
85.5кб. | скачати


Схожі роботи:
Теорія ймовірностей та математична статистика 2
Теорія ймовірності і математична статистика 3
Теорія ймовірностей і математична статистика
Теорія ймовірностей і математична статистика
Теорія ймовірностей та математична статистика
Теорія ймовірностей і математична статистика
Теорія ймовірностей і математична статистика
Теорія ймовірності та математична статистика
Теорія ймовірності і математична статистика Завдання
© Усі права захищені
написати до нас