Phụ lục 3: Phương pháp bình phương nhỏ nhất trong phân tích hồi quy 1... Tuy nhiên trong thực tế phương pháp trở thành không ổn định khi bậc đa thức lớn hơn vì các sai số làm tròn số tr
Trang 1Phụ lục 3: Phương pháp bình phương nhỏ nhất
trong phân tích hồi quy
1 Mô hình tuyến tính
Mô hình hồi quy tuyến tính có dạng:
b ax x f
y= ( )= + Theo phương pháp bình phương nhỏ nhất, các hệ số hồi quy a và b
trong phương trình trên được tìm sao cho tổng bình phương sai số bằng
∑
=
−
−
= n
b ax y E
1
2
) (
cực tiểu Lần lượt lấy đạo hàm biểu thức này theo a, b và cho bằng
không, ta được hệ phương trình sau đây để xác định a và b:
∑
∑
∑
=
=
=
=
k k k
n
k k
n
k k
y x x
b x a
1 1
1
2
=
=
=
k k
n
k k
y n b x a
1 1
Vậy các hệ số hồi quy được tính theo các công thức sau:
∑
∑
∑
∑
∑
=
=
=
=
=
−
−
k k n
k k
n k k k n
k k n
k k
x n x
y x n y x a
1
2 2
1
1 1
1
) (
(20)
∑
∑
∑
∑
∑
∑
=
=
=
=
=
=
−
−
k k n
k k
n
k k n
k k n
k k k n
k k
x n x
y x y x x b
1
2 2
1
1 1 2 1
1
) (
, (21)
hay hệ số b còn có thể tính theo công thức:
n
x a y b
n k k n
k
∑
=
=
−
(22)
2 Mô hình đa thức
Phương pháp bình phương nhỏ nhất cũng có thể áp dụng để tính các
hệ số hồi quy đa thức dạng
m
n x a x
a x a a x
f( )= + + 2 + +
2 1
thí dụ đối với mô hình bậc hai
2 2 1 0
)
Lấy đạo hàm tổng sai số theo các hệ số và cho bằng không ta có hệ sau đây để xác định các hệ số hồi quy bậc hai:
Trang 2⎪
⎪
⎪
⎩
⎪⎪
⎪
⎪
⎨
⎧
= +
+
= +
+
= + +
∑
∑ ∑
∑
∑
∑ ∑
∑
∑
∑
∑
=
=
=
=
=
=
=
n k k k n
k
n k k k
n k k
n k k k n
k
n k k k
n k k
n k k n
k k n
k k
y x x a x a x a
y x x a x a x a
y n a x a x a
1
2
2 0 3 1 1
4 2
1
0 2 1 1
3 2
1 1
0 1
1
2 2
(23)
Về nguyên tắc ta có thể sử dụng phương pháp này để tìm phương
trình đa thức bậc bất kỳ Tuy nhiên trong thực tế phương pháp trở thành
không ổn định khi bậc đa thức lớn hơn vì các sai số làm tròn số trong máy
tính
3 Mô hình phi tuyến
Phương pháp bình phương nhỏ nhất có thể áp dụng cho hàm bất kỳ,
nhưng hệ các phương trình để tìm các hệ số có thể phi tuyến, và do đó
không thể giải được bằng cách sử dụng các phương trình tuyến tính Tuy
nhiên, trong một số trường hợp, một hàm phi tuyến có thể chuyển thành
một hàm tuyến tính Thí dụ về một hàm có thể tuyến tính hoá là
a x b x
f( )= (24) Nếu lấy loga hai vế của phương trình này, ta có
b x a x
f( ) ln ln
ln = + (25) Nếu ký hiệu
) ( ln )
g = (26)
b
b ~ = ln (27)
x
x ln
~ = (28)y ln~ = y
(29)
ta có
b x a x
g( )= ~+ ~ (30) Với phương trình (30) các hệ số hồi quy a và b~ tính theo các công thức
∑
∑
∑
∑
∑
=
=
=
=
=
−
−
k k n
k k
n
k k k
n
k k
n
k k
x n x
y x n y x a
1
2 2
1
1 1
1
~ )
~ (
~
~
~
~
(31)
∑
∑
∑
∑
∑
∑
=
=
=
=
=
=
−
−
k k n
k k
n
k k
n
k k
n
k k k
n
k k
x n x
y x y x x b
1
2 2
1
1 1
2 1
1
~ )
~ (
~
~
~
~
~
~
(32)
Vậy công việc tính toán gồm: chuyển đổi các giá trị số liệu x k và y k
theo các công thức (28), (29), tính các tổng, kết quả thế vào các phương trình (31), (32) để tìm a và b~ Giải phương trình (27) đối với b và đặt vào phương trình (24)
Trang 3Phụ lục 4: Sơ đồ ứng dụng phương pháp hồi
quy nhiều biến
Giả sử có n quan trắc đối với biến phụ thuộc y và các biến độc lập
m
x
x
x1 , 2 , , Phương trình hồi quy được thiết lập như sau:
m
mx a x
a x a a
Các hệ số hồi quy a i( i=1, ,m) được chọn sao cho thoả mãn
∑
=
=
−
−
−
−
−
= n
i
m
m x a x
a x a a y
1
2 2
2 1 1
δ
Lần lượt lấy đạo hàm biểu thức trên theo a0 ,a1 ,a2, , a m và cho các
đạo hàm bằng không, ta có hệ m+1 phương trình để xác định các hệ số a
m m
m m
m m
yx a
x x a
x x a
x x a
x
yx a
x x a
x x a
x x a
x
yx a
x x a
x x a
x x a
x
y a
x a
x a
x na
= +
+ +
+
= +
+ +
+
= +
+ +
+
= +
+ +
+
2 2 1
1 0
2 2
2 2 2 1
2 1 0
2
1 1
2 1 2 1
1 1 0
1
2 2 1
1 0
(33)
Hệ phương trình này gọi là hệ phương trình chính tắc để xác định các
hệ số hồi quy Dưới dạng ma trận ta viết hệ này như sau:
⎟
⎟
⎟
⎟
⎠
⎞
⎜
⎜
⎜
⎜
⎜
⎜
⎝
⎛
=
⎟
⎟
⎟
⎟
⎟
⎟
⎠
⎞
⎜
⎜
⎜
⎜
⎜
⎜
⎝
⎛
⎟
⎟
⎟
⎟
⎟
⎟
⎠
⎞
⎜
⎜
⎜
⎜
⎜
⎜
⎝
⎛
m m
m m m
m m
m m m
b
b b b
a
a a a
x x x
x x x x
x x x
x x x x
x x x
x x x x
x x
x n
2 1 0
2 1 0
2 1
2 2
2 2 1 2
1 1
2 1 1 1
2 1
(34) với dấu [ ] ký hiệu phép lấy tổng ∑n
1
Để tìm các hệ số hồi quy a0,a1,a2, , a m ta phải giải hệ phương trình chính tắc theo phương pháp loại biến Gauss hoặc phương pháp căn bậc hai đã mô tả trong phụ lục 2 vì ma trận hệ số của các phương trình chính tắc là ma trận đối xứng Dưới đây dẫn hai thủ tục hỗ trợ cho việc lập
hệ phương trình đại số tuyến tính chuẩn tắc (34) − SUBROUTINE LHPTCT và giải hệ phương trình đó bằng phương pháp loại biến Gauss − SUBROUTINE GAUSS
SUBROUTINE LHPTCT (Y, X, A, N, M)
INTEGER N, M, I, J, K REAL Y (10000), X (10000, 50), A (0 : 50, 0 : 51)
A (0, 0) = N
DO J = 1, M
A (0, J) = 0.0
DO K = 1, N
A (0, J) = A (0, J) + X (K, J)
A (0, M + 1) = 0.0
DO K = 1, N
A (0, M + 1) = A (0, M + 1) + Y (K)
Trang 4DO I = 1, M
A (I, M + 1) = 0.0
DO K = 1, N
A (I, M + 1) = A (I, M + 1) + Y (K) * X(K, I)
DO I = 1, M
DO J = I, M
A (I, J) = 0.0
DO K = 1, N
A (I, J) = A (I, J) + X (K, I) * X (K, J)
ENDDO
ENDDO
DO I = 1, M
DO J = 0, I - 1
A (I, J) = A (J, I)
RETURN
END
SUBROUTINE GAUSS (M, A, X)
REAL A (0 : 50, 0 : 51), X (0 : 50)
DO I = 0, M - 1
K = I
AMAX = ABS (A (K, K))
DO J = I + 1, M
R = ABS (A (J, I))
IF (AMAX LT R) THEN
K = J
IF (K NE I) THEN
DO J = I, M + 1 AMAX = A (I, J)
A (I, J) =A (K, J)
A (K, J) = AMAX
DO J = I + 1, M + 1
A (I, J) = A (I, J) / A (I, I)
DO J = I + 1, M
DO K = I + 1, M + 1
A (J, K) = A (J, K) - A (J, I) * A (I, K) END DO
X (M) = A (M, M + 1) / A (M, M)
DO I = M - 1, 0, -1
X (I) = A (I, M + 1)
DO J = I + 1, M
X (I) = X (I) - A (I, J) * X (J)
RETURN END