Множественная регрессия

0.4097

1.3974

0.9191

0.5318

1.0000 2.3000 5.2900

1.0000 1.6000 2.5600

1.0000 1.1000 1.2100

1.0000 0.8000 0.6400

1.0000 0.3000 0.0900

Полиномиальная регрессия

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

 

y = a0 + a1t + a2t2

 

Неизвестные коэффициенты a0,a1 и a2 могут быть найдены методом среднеквадратичес-кой подгонки (аппроксимации), которая основана на минимизации суммы квадратов отклоне-ний данных от модели. Мы имеем шесть уравнений относительно трех неизвестных,

представляемых следующей матрицей 6х3:

 

X = [ones(size(t)) t t.^2]

X = 1.0000 0 0

 

Решение находится при помощи оператора \ :

 

a = X\y

a =

- 0.2387

 

Следовательно, полиномиальная модель второго порядка наших данных будет иметь вид

 

y = 0.5318 + 0.9191t – 0.2387 t2

 

Оценим теперь значения модели на равноотстоящих точках (с шагом 0.1) и нанесем кривую на график с исходными данными.

 

T = (0 : 0.1 : 2.5)';

Y = [ones(size(T)) T T.^2]*a;

plot(T,Y,'-',t,y,'o'); grid on

 

Очевидно, полиномиальная аппроксимация оказалась не столь удачной. Здесь можно или по-высить порядок аппроксимирующего полинома, или попытаться найти какую-либо другую функциональную зависимость для получения лучшей подгонки.

Линейно-параметрическая регрессия[1]

 

Вместо полиномиальной функции, можно было-бы попробовать так называемую линейно-параметрическую функцию. В данном случае, рассмотрим экспоненциальную функцию

 

y = a0 + a1-t + a2t℮-t

 

Здесь также, неизвестные коэффициентыa0,a1 и a2 могут быть найдены методом наимень-ших квадратов. Составим и решим систему совместных уравнений, сформировав регресси-онную матрицу X, и применив для определения коэффициентов оператор \ :

 

X = [ones(size(t)) exp(- t) t.*exp(- t)];

a = X\y

a =

- 0.8988

 

Значит, наша модель данных имеет вид

 

y = 1.3974 – 0.8988℮-t + 0.4097t℮-t

 

Оценим теперь, как и раньше, значения модели на равноотстоящих точках (с шагом 0.1) и на-несем эту кривую на график с исходными данными.

 

 

 

 

Как видно из данного графика, подгонка здесь намного лучше чем в случае полиномиальной функции второго порядка.

 

Рассмотренные выше методы аппроксимации данных можно распространить и на случай бо-лее чем одной независимой переменной, за счет перехода к расширенной форме записи. До-пустим, мы измерили величину yдля некоторых значений двух параметровx1 иx2 и полу-чили следующие результаты

 

x1 = [0.2 0.5 0.6 0.8 1.0 1.1]' ;

x2 = [0.1 0.3 0.4 0.9 1.1 1.4]' ;

y = [0.17 0.26 0.28 0.23 0.27 0.24]' ;

Множественную модель данных будем искать в виде

 

y = a0 + a1x1 + a2x2

 

Методы множественной регрессии решают задачу определения неизвестных коэффициентов a0 , a1 иa2 путем минимизации среднеквадратической ошибки приближения. Составим сов-местную систему уравнений, сформировав матрицу регрессии X и решив уравнения отно-сительно неизвестных коэффициентов, применяя оператор \ .

 

X = [ones(size(x1)) x1 x2];

a = X\y

a =