Автор работы: Пользователь скрыл имя, 15 Февраля 2012 в 01:09, курсовая работа
Коэффициент парной корреляции является мерой тесноты линейной связи между двумя случайными величинами. В общем случае его величина может меняться от 0 до ±1. Если коэффициент корреляции равен 0, связь либо вообще отсутствует, либо отлична от линейной. Если он равен ±1. связь является линейной. В промежуточных случаях между полной корреляцией и отсутствием корреляции коэффициент корреляции выражает ту долю вариации одной из переменных, которая линейно связана с изменением значений другой.
1 Исходные данные 4
2 Методика расчета 5
2.1 Выбор типа математической модели методом корреляционного анализа 5
2.2 Расчет коэффициентов математической модели методом наименьших квадратов 9
2.3 Проверка адекватности математической модели по критерию Фишера 11
3 Текст программы расчетов для ЭВМ 13
4 Описание алгоритма решения задачи 19
4.1 Алгоритм программы для выбора типа математической модели методом корреляционного анализа 20
4.2 Алгоритм программы для выбора тип аматематической модели методом наименьших квадратов 21
4.3 Проверка адекватности математической модели по критерию Фишера 22
5 Результаты расчетов 24
Список использованных источников 28
(15)
где X'i, Y'i – значения входного и выходного параметров в i-м опыте,
преобразованные к линейному типу j-й модели;
N– число опытов;
i
– номер опыта.
Порядок выбора типа математической модели следующий:
Для расчетов коэффициентов модели используется метод наименьших квадратов (МНК).
МНК – один из методов теории ошибок для оценки неизвестной величины по результатам измерений, содержащим случайные ошибки. Этот метод применяется также для приближенного представления заданной функции другими (более простыми) функциями и часто оказывается полезным при обработке результатов экспериментов. Метод МНК предложен К.Гауссом в 1794 году и представляет собой один из важнейших разделов математической статистики и широко используется для статистических выводов [1].
Сущность основания МНК заключается в допущении, что "убыток" от замены точного значения физической величины f(x) ее приближенным значением Y. вычисленным по результатам наблюдений, пропорционален квадрату ошибки Y = f(x)2. В этих условиях оптимальной оценкой естественно признать такую лишенную систематической ошибки величину Y, для которой средние значения "убытка" минимальны. Именно это требование и составляет основу МНК.
Чтобы можно было пользоваться едиными формулами для определения коэффициентов b0 и b1 для всех семи рассмотренных ранее моделей, необходимо привести их к линейному виду в соответствии с методикой, предложенной в подразделе 3.2. В результате все модели приобретают вид:
Y’ = b0 + b1·X’ (16)
где Y’ и X’ – преобразованные клинейному виду параметров Yi и Xj;
b0, b1 – коэффициенты функции линейного вида.
Величина Yi для каждого опыта вычисляется по формуле:
Y = ΣYi–m/mi, (17)
где
mi – число повторений в i–ом
опыте.
На основании МНК, наилучшими коэффициентами модели считаются те, для которых сумма квадратов отклонений S(b0, b1) будет минимальной:
(18)
Из условия экстремума функции для двух переменных (условного уравнения) получается уравнение:
(19)
Из формул 2 и 3 получается:
(20)
Схема 4 может быть переписана в следующем виде:
(21)
(22)
Откуда:
(23)
(24)
При условии, что число повторений в каждом опыте постоянно, после соответствующих подстановок и сокращений получаем окончательный вариант формул :
(25)
(26)
где N – число опытов;
Х'i,. Y’i– переменные, преобразованные к линейному виду (i – номер опыта);
n – количество повторений в эксперименте;
i – шаг цикла.
Эмпирические модели не претендуют на роль законов природы. Изложенное выше правило приближенного выбора типа математической модели не позволяет установить истинную модель. С помощью предложенного метода можно выбрать из семи типов моделей наилучшую и, используя метод наименьших квадратов, определить наилучшее численное значение коэффициентов. Это, однако, не означает, что полученная эмпирическая модель обязательно должна отражать искомую, определяемую физикой процессов связь между переменными X и Y. С помощью методов математической статистики в некоторых случаях можно проверить гипотезу о том.что полученная эмпирическая модель удовлетворительно описывает экспериментальные данные.
Одним из методов проверки адекватности математической модели является метод на основе критерия Фишера. По данным эксперимента определяется дисперсия неоднородности экспериментальных данных sнеодн, величина которой служит мерой рассеяния, вызванного экспериментальной ошибкой. Дисперсия неоднородности сравнивается с дисперсией неадекватности sнеад, которая характеризует отклонение экспериментальных данных относительно эмпирической модели. Величина
Fpaсч=sнеад / sнеодн (27)
характеризует неточность подгонки (неадекватность модели). Если расчетное
значение критерия Фишера Fpacч<Fтабл, то полученная модель адекватна, т.е. правильно описывает исследуемую систему. Табличные значения критерия Фишера определяются из соответствующих таблиц, для чего надо задаться уровнем значимости о. (обычно а принимают равным 0.05) и вычислить число степеней свободы для числителя
γнеад=N-2 (28)
и число степеней свободы для знаменателя
γнеодн. = m(N-l). (29)
Дисперсия неадекватности и дисперсия неоднородности экспериментальных данных рассчитываются по следующим формулам:
(30)
(31)
Program p1;
const
nammodel:
array[1..7] of string = ('Y=b0+b1*X', 'Y=b0+b1/X','Y=1/(b0+b1*X)', ‘Y=X/(b0+b1*X)','Y=b0*b1^X','
var
x,y: array[1..20] of real;
r:array[1..7] of real;
n,m,nm,i,j: integer;
xp,yp,sx,sx2,sy,sy2,sxy:
begin
write('Kolichestvo opytov: ');
readln(n);
write('Chislo povtorenii: ');
readln(m);
for i:=1 to n do
begin
write('Vhodnoi parametr X: ');
readln(x[i]);
y[i]:=0;
for j:=1 to m do
begin
write('Y(',i,') opyt ',j,' ');
readln(yp);
y[i]:=y[i]+yp;
end;
y[i]:=y[i]/m;
end;
for i:=1 to 7 do
begin
sx:=0; sx2:=0;
sy:=0; sy2:=0;
sxy:=0;
for j:=1 to n do
begin
case i of
1,3,5: xp:=x[j];
2,4: xp:=1/x[j];
6,7: xp:=ln(x[j]);
end;
case i of
1,2,7: yp:=y[j];
3,4: yp:=1/y[j];
5,6: yp:=ln(y[j]);
end;
sx:=sx+xp; sy:=sy+yp;
sx2:=sx2+xp*xp; sy2:=sy2+yp*yp;
sxy:=sxy+xp*yp;
end;
r[i]:=(sxy-sx*sy/6)/sqrt(
nm:=1;
end;
for i:=2 to 7 do if abs(r[i])>abs(r[nm]) then nm:=i;
writeln('Vybrannaya model'' N ',nm,' tipa: ',nammodel[nm]);
readln;
end.
Program p2;
var
x,y:array[1..20] of real;
n,m,nm,i,j: integer;
xp,yp,sx,sx2,sy,sxy,b0,b1: real;
begin
write('Chislo opitov: ');
readln(n);
write('Chislo povtorenii: ');
readln(m);
write('Nomer modeli: ');
readln(nm);
for i:=1 to n do
begin
write('Vhodnoi parametr X: ');
readln(x[i]);
y[i]:=0;
for j:=1 to m do
begin
write('Y(',i,') opyt ',j,' ');
readln(yp);
y[i]:=y[i]+yp;
end;
y[i]:=y[i]/m;
end;
sx:=0; sx2:=0;
sy:=0;
sxy:=0;
for j:=1 to n do
begin
case nm of
1,3,5: xp:=x[j];
2,4: xp:=1/x[j];
6,7: xp:=ln(x[j]);
end;
case nm of
1,2,7: yp:=y[j];
3,4: yp:=1/y[j];
5,6: yp:=ln(y[j]);
end;
sx:=sx+xp; sy:=sy+yp;
sx2:=sx2+xp*xp;
sxy:=sxy+xp*yp;
end;
b1:=(sx*sy-6*sxy)/(sqr(sx)-6*
b0:=(sy-b1*sx)/6;
b1:=exp(b1);
b0:=exp(b0);
writeln('B0 = ',b0:0:3,', B1 = ',b1:0:3);
readln;
end.
Program Fisher;
var
x:array[1..20] of real;
y:array[1..20,0..10] of real;