3.3. Построение нелинейных сглаживающих кривых
3.3.1 Экспоненциальная зависимость
Покажем, как построить модель в случае, когда уравнение регрессии не является линейным.
Пример 3.1.В таблице приведены данные по конверсии пропана в зависимости от времени работы катализатора.
t, час | 5 | 10 | 15 | 20 | 25 | 30 |
| 66,1 | 60 | 53,5 | 48,4 | 44,3 | 42,3 |
Аппроксимировать экспериментальные данные экспоненциальной зависимостью:
, где α - показатель активности катализатора.
Решение. Представим уравнение в виде:
. Прологарифмируем обе части уравнения lny=lnc1-c2x. Обозначим a=lnc1; b=-c2.
Запишем систему нормальных уравнений для поиска a и b.

Здесь х – это t, y – это Х. Для поиска соответствующих сумм составим таблицу
x | y | ln y | xln y | x2 |
5 | 66,1 | 4,191168747 | 20,9558 | 25 |
10 | 60 | 4,094344562 | 40,9434 | 100 |
15 | 53,5 | 3,979681654 | 59,6952 | 225 |
20 | 48,4 | 3,879499814 | 77,59 | 400 |
25 | 44,3 | 3,790984677 | 94,7746 | 625 |
30 | 42,3 | 3,744787086 | 112,344 | 900 |
105 | 23,68046654 | 406,303 | 2275 |
Получим:

Решив ее в Excel, и учитывая то, что с1=еa, ac2=-b, получим:
a | b |
4,2709614 | -0,01852668 |
Левая часть | Правая часть |
23,680467 | 23,680467 |
406,30274 | 406,30274 |
с1 | 71,59042982 |
с2 | 0,018526685 |
Окончательно имеем:
![]()
Программа в среде Scilab:
clc
clf()
function y=f(x)
y=a*exp(b*x);
endfunction
x=[5:5:30];
y=[66.1 60 53.5 48.4 44.3 42.3];
n=length(x);
b=(sum(x)*sum(log(y))-n* sum(x.*log(y)))/(sum(x)^2-n*sum(x.^2))
a=exp((sum(log(y))-b*sum(x))/n)
printf("a=%3.5f ", a)
printf("b=%3.5f", b)
disp("")
plot2d(x, y,-4)
t=min(x)-.1:.01:max(x)+.1;plot2d(t, f(t))
for i=1:n
printf("y=%2.3f %2.3f", y(i),f(x(i)))
disp("")
end
err=sum((y-f(x)).^2)
printf("err=%3.5f", err)
a=71.59043 b=-0.01853
y=66.100 65.257
y=60.000 59.483
y=53.500 54.221
y=48.400 49.424
y=44.300 45.051
y=42.300 41.065
err= 4.6339751
Здесь a и b - искомые коэффициенты, далее напечатаны табличные значения (y) и - через пробел - значение модельной функции в тех же узлах таблицы, последнее число - err – сумма площадей квадратов отклонений. Ниже приведен график полученной кривой.

Программа с использованием функции Scilabdatafitвыглядит так:
clc
clf()
x=[5:5:30];y=[66.1 60 53.5 48.4 44.3 42.3];
function [zr]=F(c, z)
zr=z(2)-(c(1)*exp(z(1)*c(2)))
endfunction
z=[x;y];
c=[0;0];
[d, S]=datafit(F, z,c)
printf("d1=%3.5f d2=%3.5f ",d(1), d(2))
printf("S=%3.5f", S)
t=min(x)-.1:.01:max(x)+.1;
Yt=d(1)*exp(t*d(2));
plot2d(x, y,-3);
plot2d(t, Yt);
Результаты:
d1=72.14244 d2=-0.01899 S=4.37579
В этой программе z(1) – это х, z(2) – это y (то есть zr - это невязки, то есть разности между экспериментальными и модельными данными), S - сумма площадей квадратов отклонений, - вектор d – искомые коэффициенты. Результаты несколько отличаются от приведенных выше. График аналогичен предыдущему, поэтому его мы не приводим.
Надо отметить, что функция datafit крайне чувствительна к начальному приближению (вектор-столбец с).
Проверим адекватность полученной модели.
x | y |
| (y-Y)2 | (y-y cp)2 |
5 | 66,1 | 65,25655 | 0,71141 | 186,77778 |
10 | 60 | 59,48305 | 0,26724 | 57,254444 |
15 | 53,5 | 54,22036 | 0,51891 | 1,1377778 |
20 | 48,4 | 49,42327 | 1,04709 | 16,267778 |
25 | 44,3 | 45,05060 | 0,56341 | 66,151111 |
30 | 42,3 | 41,06480 | 1,52571 | 102,68444 |
сумма | 4,63376 | 430,2733 | ||
y cp | 52,43333 | R2 | 0,98923 |

Построив график функции с добавленной к нему линией экспоненциального тренда, получим:

Проверим гипотезу об адекватности полученной сглаживающей прямой исходным данным по критерию Фишера при уровне значимости б=0,05.
Для этого вычислим статистику
![]()
Здесь R2 – коэффициент детерминации. По числу степеней свободы k1=1 и k2=n-2 найдем критическое значение Fкрс помощью статистической функции F. ОБР. ПХ (Microsoft Excel 2010, 2016)
Fкр= 7,708647422
Так как Fвыб>Fкр, делаем вывод о том, что полученное уравнение экспоненциальной регрессии
статистически значимо описывает результаты эксперимента.
3.3.2. Метод средних точек для определения формы
регрессионной кривой
Одним из способов, который может помочь в выборе вида уравнений регрессии из нескольких имеющихся альтернатив, является метод средних точек. Суть его состоит в следующем.
Пусть в результате проведения эксперимента получена таблица:
x | x1 | … | xn |
y | y1 | … | yn |
В этой таблице х упорядочены по возрастанию, то естьx1≤ x2≤ …≤xn.
По экспериментальным данным строим график, соединяя соседние точки отрезками прямых.
На втором этапе необходимо выбрать формулу, которая могла бы описать экспериментальные данные. Во втором столбце таблицы 3.1 приведены некоторые типовые формулы, наиболее часто встречающиеся в задачах химии и химической технологии.
Таблица 3.1
№ | Формула | Средние точки | |
1 |
|
|
|
2 |
|
|
|
3 |
|
|
|
4 |
|
|
|
5 |
|
| |
6 |
|
|
|
Здесь х1,y1 – первая, а хn, yn – последняя точки исходной таблицы.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 |





