You are on page 1of 10

2.4.

Mô hình tuyến tính k biến số


2.4.1. Phương trình hồi quy
- Giả sử xét một đối tượng có k đầu vào, một đầu ra với
mô hình thống kê:
ŷ = a0 + a1x1 + aixi + akxk
- Từ kết quả của nhiều lần thí nghiệm :
Với các giá trị đầu vào xi = (xi1, xi2, .... xik) thì ta có giá trị
đầu ra yi (i=1:n).
Và được biểu diễn dưới dạng bảng sau:
Bảng 2.2
STT x0 x1 x2 ... xk y
1 1 x11 x12 ... x1k y1
2 1 x21 x22 ... x2k y2
... ... ... ... ... ... ...
n 1 xn1 xn2 ... xnk yn

- Nhiệm vụ đặt ra là phải nhận dạng mô hình thống kê,


cần tìm các tham số a0, a1,......,ak. Ta sử dụng phương pháp bình
phương cực tiểu.
- Ta có hàm : S(a0, a1, ..., ak) =
n

(y
i 1
i  a 0 - a 1 x i1 - ...... - a k xik ) 2
Tương tự mô hình tuyến tính một biến số, ta cũng cần tìm
a0, a1,......,ak sao cho S(a0, a1,......,ak) đạt cực tiểu.
+ Xét điều kiện cần của cực trị:
(a 0 , a1 ,......,a k )
0 voi j  0, k
a j

Tức ta cần giải hệ (k+1) phương trình:


 S (a0 , a1 ,..., ak )
 0
a0

S (a0 , a1 ,..., ak )
 0
 a1
 ...

 S (a0 , a1 ,..., ak )
 0
  a k

- Với những phép toán thông thường thì việc giải hệ


phương trình trên là điều khó khăn, và việc chứng minh các a0,
a1,......,ak vừa tìm được là aˆ0 , aˆ1 ,..., aˆk là điều không thể thực hiện
được. Vì vậy trong toán quy hoạch người ta đưa ra công thức
công nhận như sau:
+ Từ bảng kết quả thí nghiệm ta có ma trận thí nghiệm
đầu vào và ma trận đầu ra là:

1 x11 ... x1k   y1 


1 x y 
 21 ... x2 k   2
X  . . ... .  Y  . 
   
. . ... .  . 
1 xn1 ... xnk   yn 
  ( n k )   ( n x1)
Và các ma trận:
 a1   aˆ1 
a   aˆ 
 2  2
a  .  ; aˆ  . 
   
.  . 
 ak   aˆk 
   
+ Ta có kết quả (công nhận) :
â = amin = (XT.X)-1(XT.Y)
Trong đó:
XT : là ma trận chuyển vị của X.
XT : là ma trận (k+1) x n
X : là ma trận n x (k+1)
Đặt M = XT .X là ma trận vuông (k+1)x(k+1)
Tổng quát : det(M)  0 ( ma trận khả nghịch )
Suy ra: â = M-1.XT.Y sau khi tính ra â , ta có phương
trình hồi quy thực nghiệm :
y  aˆ0  aˆ1 x1  aˆ2 x2  ...  aˆk xk
- Ta sử dụng phần mềm Matlab để tính â :
>> x = [1 x11 ... x1k ; 1 x21 ... x2k ; ... ; 1 xn1 ... xnk] ;
>>y = [ y1 y2 ... yn] ;
 y1 
y 
 2
>>Y = y ; % được ma trận cột Y  . 
T
 
. 
 yn 
 
>> C = X' ; %C = XT
>> M = C*X ; % XT . X
>> D = inv(M) ; % D = M-1
Suy ra :
â =D*(C*Y)
 aˆ1 
 aˆ 
 2
Ta có : aˆ  . 
 
. 
 aˆk 
 

Suy ra phương trình hồi quy thực nghiệm :


y  aˆ0  aˆ1 x1  aˆ2 x2  ...  aˆk xk
2.4.2. Ví dụ
Nhận dạng một mô hình biểu diễn sự phụ thuộc giữa y và
2 biến x1 và x2 trên cơ sở quan sát sau:
Lần thí nghiệm x1 x2 y
1 2 1 10
2 2 2 12
3 18 10 17
4 2 4 13
5 6 8 15
6 3 4 10
7 5 7 14
8 3 3 12
9 9 10 16
10 10 11 18
Giải :
1 2 1  10
1 2 2  12
X=   ; Y = 
. . . .
   
1 10 11 18

10 50 60 
X . X = M = 50 336 398
T

60 348 480

10 
1 1 ... 1    137 
X .Y =  2 2 ... 10  .   = 756
 
T 12
 ... 
1 2 ... 11   908
18 
Suy ra :
 2876  120  260
.   120 1200  980
-1 1
T -1
M =(X .X) =
7160
 260  980 960 

Suy ra:
 0,3871
â = M . (X .Y) =  0,1286 
-1 T

0, 6174 

Ta có phương trình :
y = 9,3871 + 0,128x1 + 0,6174x2
Dùng matlab :
>>X = [1 2 1 ; 1 2 2 ; ... ; 1 10 11];
>>y = [10 12 17 ... 18];
>>Y= y'
>>C = X' ; %C = XT
>>M = C*X;
>>D = inv (M) ; %D = M-1
>> â = D*C*Y
 0,3871
>> â =  0,1286 
0, 6174 

2.5. Nhận dạng mô hình thống kê tuyến tính của nhiều


hàm số
Xét mô hình thống kê tuyến tính có quan hệ giữa đầu vào
và đầu ra được mô tả bởi phương trình tổng quát:
m
yˆ  a0   a j . f j ( x1 , x2 ,..., xk )
j 1

Trong đó: fj (x1 ... xk ) (với j = 1, m ) là các hàm số đã biết.


Để thống nhất ký hiệu ta đưa thêm một hàm f0 = (x1,
..., xk) = 1 (Với mọi x1,..., xk  Rk tức là f0 = (x j1 , ... , x jk ) = 1
với mọi i = 1, n ), lúc đó:
m
yˆ   a j f j ( x1 ,..., xk )
j 0

m m
Gọi: yi   a j f j ( xi1...xik ) =  a j f j ( xi ) ( i = 0k )
j 1 j 1

Và dùng các công thức công nhận:


 a0   aˆ0 
a   aˆ 
 1  1
a  .  ; aˆ  . 
   
.  . 
 am   aˆm 
   

 x11 x12 ... x1k 


 ... ... ... ... 
X 
 xi1 xi 2 ... xik 
 
 xn1 xn 2 ... xnk 

1 f1 ( x1 ) . f m ( x1 ) 
 
1 f1 ( xi ) . f m ( xi ) 
F 
. . . . 
 
1 f1 ( x n ) . f m ( x n )  ( m x ( m 1))

Từ ma trận thí nghiệm X và ma trận F suy ra ma trận đầu


ra:
 y1 
y 
Y   2
. 
 
 yn 

Mục đích ta phải tìm ma trận :


 aˆ0   a0 
 aˆ  a 
aˆ   1   min  1 
 ...   ... 
   
 aˆm   am 

Đặt M = FT . F Suy ra :
â =M-1 . (FT .Y) = (FT . F)-1 . (FT .Y)
Vậy khi đó ta có phương trình hồi quy thực nghiệm:
yˆ  aˆ0  aˆ1 f1 ( x1 , x2 ,..., xk )  ...  aˆm f m ( x1 , x2 ,..., xk )
Ví dụ:
Hãy nhận dạng một mô hình thống kê.
â1
yˆ  aˆ0   aˆ2 .x1.x2
x1  x2

Biết người ta thí nghiệm được các kết quả sau:


Lần thí nghiệm x1 x2 y
1 0,7 0,8 8,45
2 0,5 0,9 8,13
3 0,4 0,1 16,98
4 0,3 0,7 11,13
5 0,11 0,5 15,19
6 0,9 0,4 9,99
Bài làm:
0, 7 0,8  8, 45 
 0,5 0,9   8,13 
X   ; Y  
 ... ...   ... 
   
 0,9 0, 4  9,99 
Ta chọn: f0(x1,x2) = 1
Và đã biết:
1
f1 (x1,x2) =
x1  x 2

f2 (x1,x2) =x1.x22
Suy ra :
 1 0, 667 0, 448
1 ... ... 
F 
... ... ... 
 
 1 0, 769 0,144 
Suy ra :
 6 6.817 1,173 
M  F .F  6,817 4,325 0,845 
T
 1,173 0,845 0, 408

Suy ra :
 5,5229 3,1834 8,8909 
M 1
  3,1839 1,9713 4,8275 
 8,8937 4,8293 17, 4216 
 69, 77 
Ta có: F .Y  89, 4683
T

10,5558

Suy ra:
 6, 6241 
a  M .F .Y   5,1863 
1 T

 4,5453

Suy ra phương trình hồi quy thực nghiệm:


5,1863
ŷ = 6,6241+ - 4,5453.x1.x22
x1  x 2

You might also like