![]() |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Главная Рефераты по авиации и космонавтике Рефераты по административному праву Рефераты по безопасности жизнедеятельности Рефераты по арбитражному процессу Рефераты по архитектуре Рефераты по астрономии Рефераты по банковскому делу Рефераты по сексологии Рефераты по информатике программированию Рефераты по биологии Рефераты по экономике Рефераты по москвоведению Рефераты по экологии Краткое содержание произведений Рефераты по физкультуре и спорту Топики по английскому языку Рефераты по математике Рефераты по музыке Остальные рефераты Рефераты по биржевому делу Рефераты по ботанике и сельскому хозяйству Рефераты по бухгалтерскому учету и аудиту Рефераты по валютным отношениям Рефераты по ветеринарии Рефераты для военной кафедры Рефераты по географии Рефераты по геодезии Рефераты по геологии Рефераты по геополитике Рефераты по государству и праву Рефераты по гражданскому праву и процессу Рефераты по кредитованию Рефераты по естествознанию Рефераты по истории техники Рефераты по журналистике Рефераты по зоологии Рефераты по инвестициям Рефераты по информатике Исторические личности Рефераты по кибернетике Рефераты по коммуникации и связи Рефераты по косметологии Рефераты по криминалистике Рефераты по криминологии Рефераты по науке и технике Рефераты по кулинарии Рефераты по культурологии |
Курсовая работа: Критерій відношення правдоподібності для великих вибірокКурсовая работа: Критерій відношення правдоподібності для великих вибірокМіністерство освіти і науки України Національний Університет "Львівська Політехніка" Інститут прикладної математики та фундаментальних наук Кафедра прикладної математики Курсова робота з курсу математичної статистики на тему: "Критерій відношення правдоподібності для великих вибірок" Керівник роботи доц. каф. ПМ Ружевич Н. А. Виконав студент гр. ПМ-41 Новосад Н. Львів – 2009 Розглянуто один із методів перевірки параметричних статистичних гіпотез – метод відношення правдоподібності для великих вибірок. Наведено теоретичне обґрунтування даного методу, проілюстровано його застосування до розв’язку практичних задач. Виконано програмну реалізацію методу. Зміст Вступ 1. Основні поняття 2. Критерій відношення правдоподібності для великих вибірок 3. Приклади застосування критерію відношення правдоподібності для великих вибірок 4. Опис програми Висновки Список використаної літератури Додаток А. Використані статистичні таблиці Додаток B. Текст програми, що реалізує застосування критерію відношення правдоподібності для великих вибірок Додаток C. Результати виконання програми ВступМатематична статистика – це один з розділів математики, що має широке прикладне значення в науці і техніці. Зокрема, методи математичної статистики широко використовуються в теорії масового обслуговування, теорії надійності, теорії інформації, стохастичній апроксимації та інших дисциплінах. Одним із основних інструментів математичної статистики є теорія перевірки статистичних гіпотез. Причиною виникнення цієї теорії стала проблема визначення закономірностей розподілу випадкових величин( їхніх функцій та щільностей розподілу), основних характеристик( математичного сподівання, дисперсії та ін.), залежностей між випадковими величинами. Як зрозуміло із самої назви, теорія перевірки статистичних гіпотез займається розробкою та обґрунтуванням методів перевірки статистичних гіпотез. Під статистичною гіпотезою розуміють припущення щодо виду розподілу випадкової величини, незалежності випадкових величин, значень невідомих параметрів розподілу та ін. на основі експериментальних статистичних даних. На сьогоднішній день розроблено багато методів перевірки гіпотез( критеріїв згоди), що застосовуються на практиці. Одним із таких критеріїв є критерій відношення правдоподібності для великих вибірок. Саме цей метод розглянуто у даній курсовій роботі. Структуру курсової роботи складають п’ять розділів і чотири додатки. У розділі "Основні поняття" введено необхідні поняття та позначення, які будуть використовуватись у подальшому. У розділі "Критерій відношення правдоподібності для великих вибірок" описано суть критерію. У розділі "Приклади застосування критерію відношення правдоподібності для великих вибірок" на декількох прикладах проілюстровано застосування цього критерію до практичних задач. У пункті "Висновки" обговорюється практична цінність критерію, а також його недоліки. Далі наводиться список використаної літератури і статистичних таблиць, дані з яких використовувались. У додатках В , С та D наводиться опис, код та результати роботи програми, яка реалізує перевірку гіпотези на основі розглянутого критерію. 1. Основні поняття Введемо ряд понять та означень, які будемо використовувати в подальшому. Через 1)
2)
3)
4) 5)
Тоді
множини 1)
2)
3)
Відображення Нехай в
результаті проведення експерименту спостерігаються значення Нехай де Нехай Статистичною
гіпотезою( або просто гіпотезою) називають будь-яке твердження щодо виду чи
властивостей розподілу спостережуваної випадкової величини. Статистичні
гіпотези надалі позначатимемо так: 1)
2)
3)
В загальному випадку параметрична гіпотеза задається деякою підмножиною Правило, згідно
якого висунута гіпотеза Нехай У процесі
перевірки гіпотези Ймовірності цих
двох помилок можна виразити через функцію потужності Число Нехай 2. Критерій відношення правдоподібності для великих вибірок Одним із найбільш
універсальних методів побудови критеріїв перевірки складних гіпотез є метод
відношення правдоподібності, суть якого полягає у наступному. Для перевірки
гіпотези де Будемо вважати,
що виконуються умови регулярності, що забезпечують існування, єдність і
асимптотичну нормальність оцінки максимальної правдоподібності Теорема. Нехай потрібно перевірити
просту гіпотезу
тобто при де Доведення. Покажемо, що з умов теореми слідує:
звідки випливає
рівність (1). Якщо справедлива гіпотеза де Оскільки На основі закону великих чисел при збігається за
ймовірністю( за
розподілом Таким чином,
матриця граничних значень коефіцієнтів квадратичної форми у (3) співпадає з інформаційною матрицею Розглянемо
важливий приклад застосування викладених результатів до поліноміального
розподілу Приклад( метод відношення
правдоподібності для поліноміального розподілу). Нехай проводяться незалежні
випробування, в кожному з яких реалізується один із Тут роль
параметра Оцінками
максимальної правдоподібності для параметрів Звідси Якщо справедлива
гіпотеза Тому, якщо то гіпотеза Приклад 2(метод відношення правдоподібності для перевірки значень параметрів нормального розподілу) Розглядається
вибірка з нормального розподілу. Потрібно перевірити гіпотезу про значення
параметрів нормального розподілу за двосторонньої альтернативи. А саме,
Звідси, Тут
У наступному розділі ми більш детально розглянемо застосування критерію відношення правдоподібності для великих вибірок до перевірки статистичних гіпотез. 3. Приклади застосування критерію відношення правдоподібності для великих вибірок Розглянемо декілька прикладів на застосування розглянутого критерію. Приклад 1.
Кількість бракованих деталей у партії не повинна перевищувати Розв’язання. Для
розв’язку задачі застосуємо критерій відношення правдоподібності для великих
вибірок. Нехай Для заданого рівня значущості Приклад 2. Гральний
кубик підкинули 600 разів, при цьому шестірка випала 75 разів, п’ятірка – 118,
четвірка – 124, трійка – 108, двійка – 92 і одиничка - 83. Чи можна вважати, що
кубик симетричний і однорідний? Прийняти Розв’язання. У
цій задачі Критична точка Приклад 3. Метод одержання випадкових чисел був застосований 250 разів, при цьому отримали наступні результати:
Чи можна вважати,
що застосований метод дійсно генерує випадкові числа? Покласти Критична точка
множини 4. Опис програми Призначення програми. Використовуючи програму, код модуля якої наведений у додатку B, можна розв’язувати задачі на узгодженість простої параметричної гіпотези із реалізаціями великих вибірок. Перевірка узгодженості проводиться на основі критерію відношення правдоподібності для великих вибірок. Умови застосування. Програма коректно працює на IBM – сумісних комп’ютерах з такими характеристиками: Celeron 2.26/MB ASUS P4VM-800 /DDR 1.5Gb PC3200/ HDD 330 Gb 7200 rpm/ Radeon 9250 128/128, під операційною системою – Windows XP Professional SP3 із встановленим програмним забезпеченням – середовищем розробки - Delphi 7. Опис задачі та вихідні дані. У додатку C наводяться три результати виконання програми. У першому випадку при вводі даних вручну потрібно вказати у відповідні поля кількість різних значень випадкової величини та рівень значущості. У таблицю вводяться частоти і ймовірності, з якими випадкова величина набуває відповідні значення. У другому випадку розглядається подібна задача, тільки тут дані зчитуються з файлу. У третьому випадку програма сама генерує вибірку з нормального розподілу і перевіряється гіпотеза про значення математичного сподівання і дисперсії цього розподілу, причому на формі вказується значення математичного сподівання, дисперсії і рівня значущості. Текст програми. У додатку B наведений код модуля програми, оскільки при написанні програми використано візуальне середовище Delphi 7. Результати. У додатку C наведені результати виконання програми на різних контрольних прикладах. Висновки У курсовій роботі було розглянуто один із критеріїв відношення правдоподібності, а саме: критерій відношення правдоподібності для великих вибірок, його теоретичне обґрунтування, застосування до розв’язування практичних задач. Проте, як і будь-який інший статистичний критерій, він має свої переваги і недоліки, які визначають його практичну цінність. Тому розглянемо їх. Критерії відношення правдоподібності мають широке практичне застосування з огляду на такі їхні властивості( які мають місце у широкому класі задач), як: 1. Критерії відношення правдоподібності є найбільш потужними серед усіх інших можливих критеріїв( лема Неймана - Пірсона). 2. Щільність розподілу критичної статистики можна легко отримати із функції правдоподібності спостережуваної випадкової величини( у випадку застосування цих критеріїв до перевірки гіпотез для великих вибірок, користуються асимптотичною щільністю хі -квадрат розподілу). Однак, варто відзначити, що ці критерії мають ряд недоліків, які дещо звужують коло застосувань цих методів. Одним із головних недоліків є вимога регулярності функцій правдоподібності, що не завжди має місце на практиці. Інші два недоліки мають місце при застосуванні будь-яких статистичних критеріїв. Це так звані ефекти "надто малого об’єму вибірки" та ефекти "надто великого об’єму вибірки". Ефект "
надто малого об’єму вибірки" полягає у тому, що при заданому рівні
значущості критерію Ефект "надто
великого об’єму вибірки" полягає у тому, що при великих значеннях Список використаної літератури 1. Айвазян С.А., Енюков И.С., Мешалкин Л.Д. Прикладная статистика. Основы моделирования и первичная обработка данных. Справочное пособие. – М.: Финансы и статистика, 1983. – 471 с. 2. Ефимов А.В. Сборник задач по математике для втузов. Специальные курсы. Т.3. – М.: Наука, 1984. – 608 с. 3. Ивченко Г.И., Медведев Ю.И. Математическая статистика. – М.: Высш. шк., 1984. – 248 с. 4. Ружевич Н.А. Математична статистика. – Львів: Львівська політехніка, 2001. – 168 с. Додаток А. Використані статистичні таблиці Таблиця значень
Додаток B. Текст програми, що реалізує застосування критерію відношення правдоподібності для великих вибірок unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Grids, ExtCtrls, Math; type TFrm = class(TForm) GrpBox_HandEnter: TGroupBox; RdoGrp_CaseEnter: TRadioGroup; RdBtn_FileRead: TRadioButton; RdBtn_HandEnter: TRadioButton; StrGrd: TStringGrid; Lbl_LevelMean: TLabel; Cmb_LevelMean: TComboBox; Lbl_CountValue: TLabel; Cmb_CountValue: TComboBox; GrpB_Result: TGroupBox; Memo_WriteResult: TMemo; Button1: TButton; OpnDg: TOpenDialog; RdB_CompGenerate: TRadioButton; Edt_Average: TEdit; Edt_Dispersion: TEdit; Lbl_Average: TLabel; Lbl_Dispersion: TLabel; procedure Button1Click(Sender: TObject); procedure RdBtn_HandEnterClick(Sender: TObject); procedure Cmb_CountValueChange(Sender: TObject); procedure RdBtn_FileReadClick(Sender: TObject); procedure RdB_CompGenerateClick(Sender: TObject); procedure Edt_AverageChange(Sender: TObject); procedure Edt_DispersionChange(Sender: TObject); private { Private declarations } public { Public declarations } end; var Frm: TFrm; List:TStringList; implementation {$R *.dfm} Function Factorial(N:Integer):Integer; var s:Integer; begin s:=1; if(N>0) then while (N>0) do begin s:=N*s; N:=N-1; end; Result:=s; end; function FactorialHalf(N:Integer):Double; var s:Double; begin s:=1; if(N>=0) then begin while (N>=0) do begin s:=(1./2+N)*s; N:=N-1; end; end; Result:=s; end; Function Abs(s:Double):Double; begin if(s>0) then Abs:=s else Abs:=-s; end; function FindCriticalPoint(N: Integer): Double; var Gamma,Integral,c, h,level_mean: Double; i: Integer; NumPointsIntegrate:LongInt; begin c:=0.1; i:=0; Integral:=0;h:=c/2; level_mean:= StrToFloat(Frm.Cmb_LevelMean.Text); NumPointsIntegrate:=1000; if(((N-1) mod 2)=1) then Gamma:=Power(ArcCos(-1),1./2)*FactorialHalf(((N-1)div 2)-1) else Gamma:=Factorial(((N-1) div 2)-1); while(Abs(((1-level_mean) -Integral/(Gamma*Power(2,0.5*(N-1)))))>0.00001) do begin Integral:=0; for i:=1 to NumPointsIntegrate do Integral:=Integral+ (c/(NumPointsIntegrate))*Power(i*c/(NumPointsIntegrate),(0.5*N-1.5))*exp(-i*c/(2*NumPointsIntegrate)); if ((((1-level_mean) )-Integral/(Gamma*Power(2,0.5*(N-1)))))>0 then begin c:=c+h ; NumPointsIntegrate:=NumPointsIntegrate+100; end else begin c:=c-h; h:=h/10; c:=c+h; end; end; FindCriticalPoint:=c; end; function EvaluteStatistic(aOfValues:Array of Double; aOfProbabil:Array of Double; CountVal:Integer; f:Boolean):Double; var i,n:Integer; s,sum,s_2,disp,aver:Double; begin s:=0; n:=0; sum:=0; if(not f) then begin for i:=0 to CountVal-1 do sum:=sum+aOfValues[i]; for i:=0 to CountVal-1 do s:=s+2*aOfValues[i]*LnXP1(aOfValues[i]/(sum*aOfProbabil[i])-1); Result:=s; end else begin for i:=1 to Frm.StrGrd.ColCount-1 do if(Frm.StrGrd.Cells[i,2]<>'') then begin s:=s+Power(StrToFloat(Frm.StrGrd.Cells[i,1]),2); sum:=sum+StrToFloat(Frm.StrGrd.Cells[i,1]); n:=n+StrToInt(Frm.StrGrd.Cells[i,2]); end; s_2:=(s/n)-Power(sum/n,2); disp:= StrToFloat(Frm.Edt_Dispersion.Text); aver:= StrToFloat(Frm.Edt_Average.Text); Result:=n*LnXP1((disp/s_2)-1)-n+s/disp-2*sum*aver/disp+n*Power(aver,2)/disp;//n*LnXP1((disp/s_2)-1); end; end; procedure TFrm.Button1Click(Sender: TObject); var ValArr:array of Double; ProbArray:array of Double; i:Integer; s:TStringList; st,critical_point:Double; begin if(RdBtn_HandEnter.Checked ) then begin SetLength(ValArr,StrGrd.ColCount-1); SetLength(ProbArray,StrGrd.ColCount-1); For i:=0 to StrGrd.ColCount-2 do begin try ValArr[i]:=StrToFloat(StrGrd.Cells[i+1,1]); ProbArray[i]:= StrToFloat(StrGrd.Cells[i+1,2]); finally end; end; end else if (RdBtn_FileRead.Checked ) then begin s:= TStringList.Create; s.Text:=StringReplace(List[0],' ',#13#10,[rfReplaceAll]); SetLength(ValArr,s.Count); Cmb_CountValue.Text := IntToStr(s.Count ); RdBtn_HandEnter.Checked :=false; for i:=0 to s.Count-1 do ValArr[i]:=StrToFloat(s[i]); s.Text:=StringReplace(List[1],' ',#13#10,[rfReplaceAll]); SetLength(ProbArray,s.Count); for i:=0 to s.Count -1 do ProbArray[i]:=StrToFloat(s[i]); end; Memo_WriteResult.Lines.Clear(); Memo_WriteResult.Lines.Add('Значення статистики критерію:'); if(RdBtn_HandEnter.Checked ) then begin st:=EvaluteStatistic(ValArr, ProbArray, StrGrd.ColCount-1,false); Memo_WriteResult.Lines.Add(FloatToStr(st)); end else if (RdBtn_FileRead.Checked ) then begin st:=EvaluteStatistic(ValArr, ProbArray,s.Count,false ); Memo_WriteResult.Lines.Add(FloatToStr(st)); end else begin st:=EvaluteStatistic(ValArr, ProbArray,0,true); Memo_WriteResult.Lines.Add(FloatToStr(st)); end; Memo_WriteResult.Lines.Add('Значення критичної точки:'); if(RdB_CompGenerate.Checked )then critical_point:=FindCriticalPoint(3) else critical_point:=FindCriticalPoint(StrToInt(Frm.Cmb_CountValue.Text)); Memo_WriteResult.Lines.Add(FloatToStr(critical_point)); if(st<critical_point) then Memo_WriteResult.Lines.Add('Висновок: гіпотеза не суперечить реалізації вибірки.') else Memo_WriteResult.Lines.Add('Висновок: гіпотеза суперечить реалізації вибірки.'); end; procedure TFrm.RdBtn_HandEnterClick(Sender: TObject); var i:Integer; begin Memo_WriteResult.Lines.Clear(); Edt_Average.Visible:=false; Lbl_Average.Visible:=false;Cmb_CountValue.Visible:=true; Edt_Dispersion.Visible: = false; Lbl_Dispersion. Visible: = false;Lbl_CountValue.Visible :=true; StrGrd.ColCount:=StrToInt(Cmb_CountValue.Text )+1; for i:=1 to StrGrd.ColCount do StrGrd.Cols[i].Text:='x'+IntToStr(i); StrGrd.RowCount:=3; StrGrd.Rows[1].Text:='Частоти'; StrGrd.Rows[2].Text:='Ймовірності'; end; procedure TFrm.Cmb_CountValueChange(Sender: TObject); begin RdBtn_HandEnterClick( Sender); RdBtn_HandEnter.Checked:=true; end; procedure TFrm.RdBtn_FileReadClick(Sender: TObject); begin Memo_WriteResult.Lines.Clear(); Edt_Average.Visible:=false; Lbl_Average.Visible:=false;Cmb_CountValue.Visible:=false; Edt_Dispersion.Visible:= false; Lbl_Dispersion.Visible:=false;Lbl_CountValue.Visible :=false; List:= TStringList.Create; if OpnDg.Execute then List.LoadFromFile(OpnDg.FileName ); end; function SetGaussNumber(a:String):Boolean; var i:Integer; begin SetGaussNumber:=false; for i:=1 to Frm.StrGrd.ColCount-1 do begin if( Frm.StrGrd.Cells[i,0]<>'') then begin if(Frm.StrGrd.Cells[i,2]='') then Frm.StrGrd.cells[i,2]:='1'; if(Frm.StrGrd.Cells[i,1]=a) then begin Frm.StrGrd.cells[i,2]:=IntToStr(StrToInt(Frm.StrGrd.cells[i,2])+1); SetGaussNumber:=true; end end; end; end; procedure TFrm.RdB_CompGenerateClick(Sender: TObject); var i:Integer; begin Memo_WriteResult.Lines.Clear(); Randomize; StrGrd.Rows[1].Text:='Значення'; StrGrd.Rows[2].Text:='Частоти'; Edt_Average.Visible:=true; Lbl_Average.Visible:=true;Cmb_CountValue.Visible:=false; Edt_Dispersion.Visible:= true; Lbl_Dispersion.Visible:=true;Lbl_CountValue.Visible :=false; for i:=0 to 50 do begin if StrGrd.Col <i+1 then StrGrd.ColCount:=StrGrd.ColCount+1; if(not(SetGaussNumber(FloatToStr(StrToFloat(Frm.Edt_Average.Text)+RandG(0 ,1)*Power(StrToFloat(Frm.Edt_Dispersion.Text),1./2))))) then //StrToFloat(Frm.Edt_Average.Text) ,StrToFloat(Frm.Edt_Dispersion.Text ) begin StrGrd.Cells[i+1,0]:='x'+IntToStr(i+1); StrGrd.Cells[i+1,1]:=FloatToStr(StrToFloat(Frm.Edt_Average.Text)+RandG(0 ,1)*Power(StrToFloat(Frm.Edt_Dispersion.Text),1./2)); StrGrd.Cells[i+1,2]:='1'; end; end; end; procedure TFrm.Edt_AverageChange(Sender: TObject); begin RdB_CompGenerate.Checked:=false; RdB_CompGenerate.Checked:=true; end; procedure TFrm.Edt_DispersionChange(Sender: TObject); begin RdB_CompGenerate.Checked:=false; RdB_CompGenerate.Checked:=true; end; end. Додаток C. Результати виконання програми Результати одержані при ручному вводі: Результати отримані при зчитуванні з файлу: Дані згенеровані комп’ютером: |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|