Название: Побудова кривих регресій методом парабол
Вид работы: реферат
Рубрика: Астрономия
Размер файла: 42.63 Kb
Скачать файл: referat.me-4880.docx
Краткое описание работы: Міністерство освіти України Львівський державний університет ім. І. Франка Факультет прикладної математики та інформатики Кафедра теорії оптимальних
Побудова кривих регресій методом парабол
Міністерство освіти України
Львівський державний університет ім. І. Франка
Факультет прикладної математики
та інформатики
Кафедра теорії оптимальних
процесів .
Звіт
про виконання індивідуального завдання № 3
“Побудова кривих регресій методом парабол”
з курсу
"Теорія імовірностей та математична статистика"
Виконав: студенти групи ПМП-32
Ковальський Д., Шевчук А.
Керівник: Сеньо П.С.
Львів – 1998
Теоритичні відомост і
Лінійна залежність є найпростішою і в більшості випадків є початковим, першим наближенням до істини. Часто потрібно встановити більш адекватну залежність між компонентами наприклад двомірного випадкового вектора, яка як правило не лінійна.
Так як у вибіркових данних присутні випадковості, то початковий вигляд нелінійної залежності можна приблизно уявити побудувавши на міліметровому папері сукупність точок
Ми будемо шукати залежність у вигляді y = a0 + a1 x + … + ak xk , де а0 , …, аk – початкові моменти.
Ця передумова обумовлюється теоремою Вейерштраса про наближення будь-якої функції многочленом відповідного степеня (многочленом Берштейна).
Складність полягає в тому, що як правило в статистиці многочлени степеня k > 4 не використовуються, а початкові моменти вище четвертого дають великі похибки, а експериментальних данних багато, отже не можна провести многочлен який би проходив через всі вибіркові точки. Тому параболу будемо будувати таку, щоб сума квадратів відхилень вибіркових значень була найменшою.
Розглянувши пари ( xi ,yi ) скористаємося формулами:
Розв'язавши дану систему, отримаємо рівняння шуканої параболи.
Найбільшу величину похибки при апроксимації початкових данних шукатимемо за наступною формулою:
Приклад дії програми
Початкові данні:
x | o | 1 | 2 | 3 | 4 |
y | 1 | 1.5 | 1.7 | 2.1 | 5.9 |
При виборі степеня k=1 результат отримано наступний:
а0 = 0.36
а1 = 1.04
d = 4.776
Графік:
При k=2:
a0 = 1.3314; a1 = -0.9029; a2 = 0.4857; d= 1.4731
При k=3:
a0 = 0.9614; a1 = 1.7488; a2 =-1.3643; a3 =-0.3083; d= 0.1041
При k=4:
a0 = 1.2250; a1 = -0.1381; a2 =-0.0495; a3 =0.090; a4 =-0.0002; d= 0.7906
Текст програми (Borland Pascal 7.0):
uses crt, graph;
var xn,yn:array[1..30] of real; n:integer; chr:char; a: array [1..5] of real;
function stepin (x:real; i:integer):real;
var j:integer; temp:real;
begin
temp:=1;
for j:=1 to i do
begin
temp:=temp*x;
inc (i);
end;
stepin:=temp;
end;
procedure xyread;
var fl:text; i:integer;
begin
TextBackground(3);
TextColor(0);
clrscr;
assign (fl,'3.txt');
reset (fl);
writeln ('Програма знаходження кривих регресiй методом парабол');
writeln ('Шевчук А., Ковальський Д. ПМП-32, 1998');
{ writeln ('Esc for Exit');}
writeln;
writeln;
writeln (' x', ' y');
writeln ;
i:=1;
while not EOF (fl) do
begin
read (fl,xn[i]);
read (fl,yn[i]);
writeln ('x[',i,']=',xn[i]:0:2,' ',' y','[',i,']=',yn[i]:0:2);
inc (i); n:=i-1;
end;
writeln;
writeln ('Тиснiть ENTER для продовження');
close (fl);
repeat
chr:=readkey;
if ord(chr)=13 then break;
until false;
end;
procedure obchysl;
var k :integer; i,j,h:integer;
sx: array [1..6] of real;
sy: array [1..2] of real;
sxy: array [1..3] of real;
matr: array [1..5, 1..5] of real;
b: array [1..5] of real;
s: real;
d:real;
m,v:word;
gd,gm,ch,cv:integer;
x,y:real;
chr:char;
ex:boolean;
{процедура ўнўцўалўзацў• системи кординат}
procedure initgrah(m:word);
var i:integer;
begin
setbkcolor(white);
setcolor(magenta);
ch:=getmaxx div 2 ;
cv:=getmaxy div 2 ;
line(1,cv,getmaxx,cv);
line(getmaxx,cv,getmaxx-6,cv-3);
line(getmaxx,cv,getmaxx-6,cv+3);
line(ch,1,ch,getmaxy);
line(ch,1,ch-3,6);
line(ch,1,ch+3,6);
i:=0;
while ch+i*m<=getmaxx-6 do
begin
line(ch+i*m,cv+2,ch+i*m,cv-2);
line(ch-2,cv+i*m,ch+2,cv+i*m);
line(ch-i*m,cv+2,ch-i*m,cv-2);
line(ch-2,cv-i*m,ch+2,cv-i*m);
i:=i+1;
end;
end;
begin
writeln;
writeln;
writeln ('Крива регресii описуэться рiвнянням y=g(x), де');
writeln ('g(x)=a[0] + a[1]*x + ... + a[k]*x^k');
writeln ('Введiть cтепiнь k (k < = 4):');
readln (k);
for i:=k+1 to 5 do
a[i]:=0;
for i:=1 to 6 do
begin
sx[i]:=0;
for j:=1 to n do
sx[i]:=sx[i] + stepin (xn[j], i);
end;
for i:=1 to 2 do
begin
sy[i]:=0;
for j:=1 to n do
sy[i]:=sy[i] + stepin (yn[j], i);
end;
for i:=1 to 3 do
begin
sxy[i]:=0;
for j:=1 to n do
sxy[i]:=sxy[i] + yn[j] * stepin (xn[j], i);
end;
b[1]:=sy[1];
for j:=2 to k+1 do
matr[1,j]:=sx[j-1];
for i:=2 to k+1 do
b[i]:=sxy[i-1];
for i:=2 to k+1 do
for j:=1 to k+1 do
matr[i,j]:=sx[j+i-2];
matr[1,1]:=n;
{ МЕТОД ГАУСА РОЗВ'ЯЗАННЯ С.Л.А.Р. }
{ прямий хiд методу гауса }
for i:=1 to k do
for j:=i+1 to k+1 do
begin
matr[j,i]:= -matr[j,i]/matr[i,i];
for h:=i+1 to k+1 do
matr[j,h]:=matr[j,h]+matr[j,i]*matr[i,h];
b[j]:=b[j]+matr[j,i]*b[i];
end;
{ обернений хiд методу гауса }
for i:=k+1 downto 1 do
begin
s:=b[i];
for j:=i+1 to k+1 do s:=s-a[j]*matr[i,j];
a[i]:=s/matr[i,i];
end;
writeln ('Моменти:');
for i:=1 to k+1 do
writeln ('a[',i-1,']=',a[i]:0:4);
d:=sy[2]-a[1]*sy[1]-a[2]*sxy[1]-a[3]*sxy[2]-a[4]*sxy[3];
writeln ('Похибка:');
writeln ('d = ',d:0:4);
writeln ('Enter для перегляду графiка');
repeat
chr:=readkey;
if ord(chr)=13 then break;
until false;
m:=50;v:=160;ex:=false;
repeat
gd:=detect;
initgraph(gd,gm,'');
initgrah(m);
highvideo;
setcolor(green);
for i:=1 to n do
begin
line (round(ch+abs(xn[i]*m))-3, round(cv-yn[i]*m)+3,round(ch+abs(xn[i]*m))+3, round(cv-yn[i]*m)-3);
line (round(ch+abs(xn[i]*m))+3, round(cv-yn[i]*m)+3,round(ch+abs(xn[i]*m))-3, round(cv-yn[i]*m)-3);
end;
setcolor(magenta);
{лўва частина графўка}
for i:=(-v) to 0 do
begin
x:=i/20;
y:=a[1] + a[2]*x + a[3]*x*x + a[4]*x*x*x +a[5]*x*x*x*x;
if abs(ch-abs(x)*m) <32500 then
if abs(cv-y*m)<32500 then
lineto(round(ch-abs(x)*m),round(cv-y*m));
end;
{права частина графўка}
for i:=0 to v do
begin
x:=i/20;
y:=a[1] + a[2]*x + a[3]*x*x + a[4]*x*x*x +a[5]*x*x*x*x;
if abs(ch+abs(x)*m) <32500then
if abs(cv-y*m)<32500 then
lineto(round(ch+abs(x)*m),round(cv-y*m));
end;
outtextxy(30,30,'graphic');
{маштабування графўка}
repeat
chr:=readkey;
case ord(chr) of
{збўльшення графўка}
43:begin
case m of
400:outtextxy(40,40,'no more big');
10..390:begin
m:=m+10;
v:=20*trunc(400/m);
break;
end;
end;
end;
{зменшення графўка}
45:begin
case m of
10:outtextxy(40,40,'no more small');
10..1000:begin
m:=m-10;
v:=20*trunc(400/m);
break;
end;
end;
end;
{повернення в меню}
27:begin
ex:=true;
break;
end;
end;
until false;
closegraph;
if ex=true then break;
until false;
closegraph;
end;
BEGIN
xyread;
obchysl;
END.
Список л і тератури
1. Крамер Гарольд. Математические методы статистики. М.: Мир, 1976.
2. Бух Арлей. Введение в теорию вероятностей и математическую статистику. М., 1951.
Похожие работы
-
Комп ютерні та мікропроцесорні системи
Міністерство освіти і науки України Університет Львівська політехніка Розрахункова робота З предмету: Комп ютерні та мікропроцесорні системи Виконав:
-
Степеневі ряди Теорема Абеля Область збіжності степеневого ряду
Міністерство освіти і науки України Київський державний торговельно-економічний університет Коломийський економіко-правовий коледж Реферат З дисципліни „Вища математика”
-
Структура та принцип роботи Win9x NT
Міністерство освіти України Львівський державний університет ім. І. Франка Факультет прикладної математики та інформатики Звіт про виконання практичного завдання з курсу
-
Методи буферних сумішей
Київський національний університет імені Тараса Шевченка Геологічний факультет Кафедра мінералогії геохімії та петрографії РЕФЕРАТ тема: “ Методи буферних сумішей в експериментальній мінералогії і петрографії
-
Опуклість та гнучкість функції Екстремуми функції Необхідна та достатні умови екстремуму Мето
Міністерство освіти і науки України Київський державний торговельно-економічний університет Коломийський економіко-правовий коледж Реферат З дисципліни „Вища математика”
-
Редактор текстів Word Форматування текстових документів
Реферат з інформатики Редактор текстів Word: Форматування текстових документів. Мета: Уміти форматувати тексти і створювати ділові листи. План Форматування титульної сторінки лабораторної роботи.
-
Лікувальна фізична культура 4
Міністерство освіти і науки України. Київський державний торгово – економічний університет. Коломийський економіко – правовий коледж. З курсу “Фізичне виховання”
-
Обчислення визначеного інтеграла функції F на відрізку A B за формулою Сімпсона
Коломийський коледж комп’ютерних наук Кафедра комп’ютерних дисциплін КУРСОВА РОБОТА на тему : «Обчислення визначеного інтеграла функції F(x) на відрізку [A,B] за формулою Сімпсона.»
-
Розрахунок електроенергетичної мережі
Міністерство освіти і науки України Вінницький державний технічний університет Факультет ФЕЕМ Кафедра ЕСЕЕ РОЗРАХУНКОВО – ПОЯСНЮВАЛЬНА ЗАПИСКА до курсової роботи з дисципліни
-
Комп ютерне моделювання складних систем
МІНІСТЕРСТВО ОСВІТИ УКРАЇНИ ЧЕРНІВЕЦЬКИЙ ДЕРЖАВНИЙ УНІВЕРСИТЕТ ім. Ю.ФЕДЬКОВИЧА Фізичний факультет Кафедра ЕОМ Комп’ютерне моделювання складних систем