(MATLAB) Unäre lineare Regression und multiple lineare Regression
1. Unäre lineare Regression
Schauen Sie sich den Code direkt an, das Ziel ist es, yy zu erstelleny undxxDie funktionale Beziehung von x ,dh y = kx + durch = kx + bund=k x+b inkkk undbbb,kkk undbbb sind alle reellen Zahlen.
% 用regress函数进行回归
x=[23.80,27.60,31.60,32.40,33.70,34.90,43.20,52.80,63.80,73.40];
y=[41.4,51.8,61.70,67.90,68.70,77.50,95.90,137.40,155.0,175.0];
figure
plot(x,y,'r*') %作散点图(制定横纵坐标)
xlabel('x')
ylabel('y')
Y=y';
X=[ones(size(x,2),1),x'];
[b,bint,r,rint,s]=regress(Y,X);
hold on
plot(x,b(1)+b(2)*x)
title("预测结果")
figure
rcoplot(r,rint) % 残差分析
Das Ausgabeergebnis b ist die Koeffizientenmatrix, diese Frage b = [- 23,5493,2,791] , das vorhergesagte Ergebnis ist y = -23,5493 + 2,7991x
Die Vorhersageergebnisse und das Streudiagramm sind wie folgt:
Das Restanalysediagramm ist wie folgt: Es ist ersichtlich, dass es nur einen abnormalen Punkt gibt und der Anpassungseffekt gut ist.
2. Multiple lineare Regression
2.1 Datenbeschreibung
Ein Teil der Datendaten ist in der folgenden Abbildung dargestellt:
In MATLAB importiert, sind die Daten eine Matrix aus 200 Zeilen und 4 Spalten, wobei 3 Variablen x 1, x 2, x 3 x_1, x_2, x_3 vorhanden sindx1,x2,x3Jede Variable hat 200 Daten, die letzte Datenspalte steht für yyy , das Ziel der multiplen linearen Regression ist es,yyzu etabliereny undx 1, x 2, x 3 x_1, x_2, x_3x1,x2,x3Die Beziehung zwischen k 0, k 1, k 2, k 3 k_0, k_1, k_2, k_3k0,k1,k2,k3, So dass y = k 0 + k 1 x 1 + k 2 x 2 + k 3 x 3 y = k_0 + k_1x_1 + k_2x_2 + k_3x_3und=k0+k1x1+k2x2+k3x3。
% 多元线性回归
a = load('data.txt');
x1=a(:,[1]) ;
x2=a(:,[2]) ;
x3=a(:,[3]) ;
y=a(:,[4]);
X=[ones(length(y),1), x1,x2,x3];
[b,bint,r,rint,stats]=regress(y,X);
b
rcoplot(r,rint)
2.2 Programmlaufergebnisse
Das Ergebnis der Lösung von b ist wie folgt, also y = 2,9389 + 0,0458 x 1 + 0,1885 x 2 - 0,001 x 3 y = 2,9389 + 0,0458x_1 + 0,1885x_2-0,001x_3und=2 . 9 3 8 9+0 . 0 4 5 8 x1+0 . 1 8 8 5 x2- -0 . 0 0 1 x3
Die Restanalyse ist wie folgt: