Реферат: Теорія імовірностей та математична статистика
Название: Теорія імовірностей та математична статистика Раздел: Рефераты по финансам Тип: реферат | |||||||||||||||||
Індивідуальна робота на тему: "Теорія імовірностей та математична статистика"Виконав: студенти групи ПМП-32 Теоретичні відомості : Набір експерементальних даних будем позначатиx, …,x. Однорідний набір спостережень називається вибіркою з генеральної сукупності. Генеральна сукупність - універсальна множина значень(проявів) цього явища. Кількість елементів вибірки називають об'ємом вибірки. Вибіркові значення називають ще й статистичним розподілом, якщо їх спеціальним чином перетворити. З однієї генеральної сукупності можна отримати різні вибірки, тому вибірку називають статистичною змінною, які в свою чергу бувають: дискретними або наперервними. Весь аналітичний процес можна поділити на побудову варіаційного ряду та табличне, графічне, аналітичне представлення цієї вибірки. Варіаційним рядом вибірки x, …,x (1) називається сукупність всіх елементів вибірки розміщених у порядку неспадання величин їх значень. Нехай x , … , x (2) - варіаційний ряд вибірки (1), тоді можна побудувати частотну таблицю (3):
де y - найменше значення варіаційного ряду (2), n- кількість його повторень, і т.д. Якщо випадкові змінні неперервні, то діапазон змінивибіркових значень x - x розбивається на r груп , де z- середина першого інтервала. z- середина r-того інтервала. rвибирається з умови: 2 Нехай nпопадає на z , … , n попадає на z . Тоді частотна таблиця набуде вигляду:
Де 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. |