Bài toán ước lượng trạng thái của hệ động lực là một trong những bài toán quan trọng trong lý thuyết điều khiển, có nhiều ứng dụng trong khoa học cũng như trong thực tiễn. Đối với các hệ động lực ngẫu nhiên, nhiều nhà khoa học đã đề xuất phương pháp sử dụng bộ lọc Kalman và các ứng dụng của nó.
ĐẠI HỌC TÀI CHÍNH - KẾ TỐN BỘ LỌC KALMAN TUYẾN TÍNH LINEAR KALMAN FILTER Ngày nhận bài : 15/11/2021 Ngày nhận kết quả phản biện : 17/12/2021 Ngày duyệt đăng : 22/12/2021 ThS Đặng Thị Kiêm Hồng Trường Đại học Tài chính - Kế toán TĨM TẮT Bài tốn ước lượng trạng thái hệ động lực toán quan trọng lý thuyết điều khiển, có nhiều ứng dụng khoa học thực tiễn Đối với hệ động lực ngẫu nhiên, nhiều nhà khoa học đề xuất phương pháp sử dụng lọc Kalman ứng dụng Bài viết giới thiệu vấn đề lọc Kalman tuyến tính, làm rõ quy trình hoạt động lọc thơng qua ví dụ không gian chiều hai chiều Việc hiểu rõ quy trình hoạt động lọc làm tảng cho nghiên cứu chuyên sâu lọc Kalman ứng dụng lọc kinh tế, tài Từ khố: Bộ lọc Kalman, lý thuyết lọc Kalman ABSTRACT The problem of state estimation of the dynamic system is one of the important problems in control theory, which has many applications in science as well as in practice For stochastic dynamical systems, many scientists have proposed the method of using Kalman filter and its applications The article introduces the basics of linear Kalman filters, and clarifies the filter’s operation through examples in one-dimensional space and two-dimensional space Understanding the filter’s working process will be the foundation for in-depth studies on Kalman filter as well as its applications in economics and finance Keywords: Kalman filter, basic theory of Kalman filter Giới thiệu Trong thống kê kinh tế học, lọc đơn giản thuật ngữ sử dụng để mơ tả thuật tốn cho phép ước lượng đệ quy tham số không quan sát, thay đổi theo thời gian biến đổi hệ thống [2.] Nó khác với dự báo dự báo đưa cho tương lai, lọc thu ước lượng tham số quan sát khoảng thời gian với tập thông tin Bộ lọc Kalman giới thiệu lần vào năm 1960 Rudolf E Kalman (1930 – 2016), kỹ sư điện, nhà toán học, nhà phát minh người Mỹ gốc Hungary Bộ lọc Kalman lọc tuyến tính đệ quy, lần phát triển lọc rời rạc để sử dụng ứng dụng kỹ thuật sau sử dụng nhà thống kê nhà kinh tế lượng Bộ lọc Kalman công cụ mạnh mẽ kết hợp thông tin không chắn thời điểm với thông tin đầy nhiễu loạn môi trường sang dạng thông tin đáng tin cậy để phục vụ dự đoán tương lai Bộ lọc sử dụng quan sát để dự đốn giá trị khơng thể quan sát kỳ sau sử dụng thời gian thực để cập nhật dự báo Bộ lọc Kalman tuyến tính tối ưu, tức cơng cụ ước tính trung bình bình phương sai số nhỏ biến quan sát nhiễu tuân theo phân phối Gauss Mặt khác, tốt số loại lọc tuyến tính Điểm mạnh lọc Kalman chạy nhanh tính ổn định cao 97 TẠP CHÍ KHOA HỌC TÀI CHÍNH KẾ TOÁN Bài viết giới thiệu lọc Kalman tuyến tính, làm rõ quy trình hoạt động lọc trường hợp chiều hai chiều mục Sau viết giới thiệu lọc Kalman tổng quát mục cuối kết luận Ý tưởng lọc Kalman 2.1 Trường hợp biến ngẫu nhiên chiều Trước hết ta xem xét lọc Kalman đơn giản khơng gian chiều.[6.] Kí hiệu giá trị Kalman đạt KG (Kalman Gain), sai số ước lượng EEST (error in estimate), sai số đo lường EMEA (error in measurement), giá trị ước lượng ESTt (current estimate), giá trị ước lượng trước ESTt −1 (previous estimate), giá trị đo lường MEA (measurement), EESTt sai số giá trị ước lượng tại, EESTt −1 sai số giá trị ước lượng trước Cách thức hoạt động lọc Kalman lặp lặp lại quy trình gồm bước: EEST • Bước 1: Tính KG = EEST + EMEA • Bước 2: Tính ESTt = ESTt −1 + KG [ MEA − ESTt −1 ] ( EMEA ) EESTt−1 = [1 − KG ] EESTt −1 • Bước 3: Tính EESTt = ( EMEA ) + EESTt−1 Bây ta tìm hiểu thơng qua ví dụ đơn giản dễ hiểu giúp ta biết cách thức hoạt động lọc Kalman: Hiện nhiệt độ thực 72, giả sử ta nhiệt độ thực cố gắng tìm nhiệt độ thực lọc Kalman thông qua ước lượng ban đầu ESTt −1 = 68 , sai số ước lượng EEST = 2, giá trị đo lường ban đầu MEA = 75, sai số đo lường EMEA = Lần tính đầu tiên: ( • Bước 1: Tính KG = ) ( ( ) ) EEST = = = 0,33 EEST + EMEA + • Bước 2: ESTt = ESTt −1 + KG [ MEA − ESTt −1 ] = 68 + 0,33 ( 75 − 68 ) = 70,33 ( ) • Bước 3: EESTt = [1 − KG ] EESTt −1 = (1 − 0,33) = 1,33 Lặp lại trình tính tốn ta có: EEST 1,33 KG = = = 0, 25 ; EEST + EMEA 1,33 + ESTt = ESTt −1 + KG [ MEA − ESTt −1 ] = 70,33 + 0, 25 ( 71 − 70,33) = 70,50 ( ) EESTt = [1 − KG ] EESTt −1 = (1 − 0, 25 ) 1,33 = 1, 00 Tiếp tục quy trình trên, ta có kết tóm tắt bảng sau: MEA EMEA t-1 EST EESTt −1 68 KG EESTt t 75 70,33 0,33 1,33 t+1 71 70,50 0,25 1,00 t+2 70 70,40 0,20 0,80 t+3 74 71 0,17 0,66 Sau lần lặp ta thấy giá trị ước lượng 71, gần với giá trị thực 72 Số vòng lặp lớn, giá trị ước lượng theo lọc Kalman cho kết gần giá trị thực 72 98 ĐẠI HỌC TÀI CHÍNH - KẾ TOÁN 2.2 Trường hợp biến ngẫu nhiên hai chiều Để tổng quát hóa, người ta đưa định dạng ma trận cho lọc Kalman, nhằm đưa vào chương trình máy tính tính tốn tự động Để minh họa cho phần này, sử dụng mơ hình xe tự lái chuyển động đường thẳng với hai trạng thái cần theo dõi là: vị trí (position) vận tốc (velocity).[4] Trên xe có gắn thiết bị GPS để định vị với sai số 10m, số lớn muốn xác định xác vị trí xe Ngồi ra, xe cịn chịu ảnh hưởng địa hình (chẳng hạn ổ gà hay đoạn đường gồ ghề), xác định vị trí xe thông qua đồng hồ vận tốc xác Chúng ta khơng biết vị trí vận tốc thực xe lọc Kalman giả định hai biến position velocity ngẫu nhiên tuân theo phân ( ) ( ) phối Gauss với tham số µp , σ p2 µv , σ v2 Vecto chứa biến trạng thái hệ µ thống xt = p Để xác định phân tán hệ trạng thái thời điểm t, sử dụng ma µv trận hiệp phương sai, phần tử ma trận biểu diễn giá trị hiệp phương sai hai biến: cov ( p, p ) cov ( p, v ) Σt t = cov ( v, p ) cov ( v, v ) cov ( p, p ) = σ p2 , cov ( v, v ) = σ v2 Để dự đốn, cần có mơ hình động lực Các phương trình chuyển động biểu diễn sau (tạm thời quan tâm đến chuyển động đều): pt = pt −1 + vt −1∆t Đưa dạng ma trận: vt = vt −1 1 ∆t với F = gọi ma trận động lực hệ trạng thái 1 Sau dự đoán trạng thái hệ thống, cần cập nhật lại ma trận hiệp phương sai hai biến ngẫu nhiên này: Σt t −1 = F Σt −1 t −1 F ′ (F’ ma trận chuyển vị ma trận F) Nếu trình hoạt động, xe cần giảm tốc (vì gặp đèn tín hiệu) tăng tốc (để vượt dốc) ta cần thêm biến gia tốc a vào mơ hình động lực pt = pt −1 + vt −1∆t + a∆t 2 vt = vt −1 + a∆t Đưa dạng ma trận: ∆t B = gọi ma trận điều khiển đầu vào, ut = a gọi biến điều khiển đầu vào ∆t Ngoài cần quan tâm đến tác động từ mơi trường mà ta khơng thể kiểm sốt (chẳng hạn địa hình), trạng thái dự đốn khơng xác Chúng ta mô tác động nhiễu với trung bình w = hiệp phương sai Q : 99 TẠP CHÍ KHOA HỌC TÀI CHÍNH KẾ TỐN Tiếp theo sử dụng liệu đọc từ cảm biến để hiệu chỉnh trạng thái hệ thống , mong muốn trạng thái đo từ cảm biến Với trạng thái dự đốn gần giống vậy: Trong đó, H ma trận quan sát, đo giá trị hai biến vị trí vận tốc nên 0 1 H = Tất nhiên kết phép đo trùng với kết dự đốn lý thuyết nhiễu, 1 0 z cần biểu diễn phân phối Gauss nhiều biến có giá trị kỳ vọng zt = p , ma zv trận hiệp phương sai R Như đến thời điểm có phân phối Gauss (của trạng thái dự đoán trạng thái đo được) Để tìm phân phối vùng giao phân phối Gauss (một biến), cần thực phép nhân phân phối đó: ( ) ( ) ( ) N x µ , σ = N x µ0 , σ 02 N x µ1 , σ 12 Sau loạt biến đổi (tham khảo [1.]), nhận được: σ (µ − µ ) σ4 µ = µ0 + 2 ; σ = σ 02 − 2 σ + σ1 σ + σ1 σ 02 µ = µ0 + k ( µ1 − µ0 ) , σ = (1 − k ) σ 02 Đặt k = 2 ta nhận được: σ + σ1 Đối với phân phối Gauss nhiều biến, ta có: −1 K = Σ ( Σ + Σ1 ) µ = µ0 + K ( µ1 − µ0 ) (2.1) (2.2) Σ = ( I − K ) Σ0 (2.3) Trong đó: Σ ma trận hiệp phương sai phân phối Gauss nhiều biến; I ma trận đơn vị; K gọi ma trận Kalman đạt Tiếp theo cập nhật trạng thái, quay trở lại với xe tự lái, có hai phân phối Gauss nhiều biến: N ( µex , Σ ex ) N ( zt , R t ) , thay vào (2.2) (2.3) với ( µ1 , Σ1 ) = ( zt , Rt ) ta được: (2.4) H Σt t H ′ = H Σt t −1 H ′ − KH Σt t −1 H ′ ( Thay vào (2.1) ta được: K = H Σt t −1 H ′ H Σt t −1 H ′ + Rt ) (2.5) −1 (2.6) Nhân bên trái hai vế đẳng thức (2.6) cho H −1 đặt K t = H −1.K ta được: −1 K t = Σt t −1 H ′ H Σt t −1 H ′ + Rt ( ) Nhân bên trái hai vế đẳng thức (2.4) cho H −1 ta được: Nhân bên trái bên phải hai vế đẳng thức (2.5) cho H −1 Σt t = Σt t −1 − K H Σt t −1 Như vậy, ta có hệ phương trình cập nhật sau: 100 (2.7) ta được: ĐẠI HỌC TÀI CHÍNH - KẾ TỐN Giá trị trạng thái ước tính tốt sử dụng để dự đốn trạng thái thời điểm t + 1.[5] Hình 2.1 Các quy trình lọc Kalman (Hình tác giả vẽ) Hình 2.2 Sơ đồ khối lọc Kalman Bộ lọc Kalman tổng quát Gọi Z t ∈ » n (các) giá trị quan sát cho biến Z gọi X t ∈ » m vectơ (các) biến không quan sát thực tế Mối quan hệ Z X giả định biết mơ tả phương trình: Z t = H t′X t + v t (3.1) H t biết, vt nhiễu trắng Gauss với E [ vt v′s ] ≡ Rtδ ts , δ ts Kronecker delta, t = s t ≠ s X t giả sử phát triển theo phương trình chuyển động: X t +1 = Ft X t + wt wt nhiễu trắng Gauss với E [ wt ws′ ] ≡ Qtδ ts (3.2) 101 TẠP CHÍ KHOA HỌC TÀI CHÍNH KẾ TỐN Các giả thiết bổ sung vt wt độc lập, trạng thái ban đầu biến ngẫu nhiên Gauss có giá trị trung bình E X Z −1 = E [ X ] = X Var X Z −1 = ∑ độc lập với vt wt Bộ lọc Kalman đưa thuật toán để xác định ước lượng với ma trận hiệp phương sai tương ứng ∑t t −1 ∑t t Nó bao gồm phương trình sau: (3.3) (3.4) ( ∑t +1 t = Ft ∑t t −1 − ∑t t −1 H t H t′ ∑t t −1 H t + Rt ) (3.5) −1 ∑ −1 = ∑ H t′ ∑t t −1 Ft′ + Gt Qt Gt′ (3.6) (3.7) (3.8) ( ∑t t = ∑t t −1 − ∑t t −1 H t H t′ ∑t t −1 H t + Rt ) −1 H t′ ∑t t −1 (3.9) Lưu ý (3.5) (3.8) ngụ ý: (3.10) Vì (3.3) tương đương với (3.11) Ma trận K t gọi ma trận Kalman đạt phương trình (3.6), định nghĩa cách đệ quy ma trận hiệp phương sai có điều kiện, gọi phương trình Ricatti Các phương trình (3.3) (3.6) phương trình dự đốn, đưa ước tính tối ưu giá trị tương lai dựa tập thông tin phương trình (3.8) (3.9) phương trình cập nhật cập nhật dự báo giai đoạn trước dựa giá trị quan sát Khi X t không cố định, thuật tốn khởi tạo với giá trị tùy ý cho X −1 ∑ −1 , với phần tử đường chéo phản ánh độ không đảm bảo X −1 Phần lớn trọng số sau trao cho thơng tin vịng lặp thứ hai Ngồi ra, lọc giả định Ft , H t , Rt Qt biết Khi chúng chưa biết, chúng ước lượng cách sử dụng phương pháp ước lượng khả tối đa (MLE) Vì giá trị cho tham số, lọc Kalman cho ηt t −1 = Z t − Z t t −1 phương sai có điều kiện sai số dự báo Σt t −1 = E ηt2t −1 = H t′ ∑t t −1 H t + Rt Nếu X , vt wt theo phân phối Gauss, phân phối có điều kiện Z t theo phân phối Gauss MLE sử dụng để ước tính tham số khơng xác định Một sức mạnh thuật tốn đến từ tính đệ quy tự nhiên Bộ lọc có chu kỳ dự đốn cập nhật liên tiếp, theo ước tính X t lần thu thập dựa thông tin t -1 quan sát Z t sử dụng để cập nhật cải thiện dự đốn Điều có nghĩa lọc tự động sử dụng tất thông tin có dự báo thơng tin mà khơng cần phải lưu trữ xử lý tồn liệu lịch sử bước Ví dụ: Xét hệ Newton khơng nhiễu với vị trí p, vận tốc v tăng tốc liên tục a Hệ thống mô tả sau: 102 ĐẠI HỌC TÀI CHÍNH - KẾ TỐN p 0 0 p v = 0 v hay X = A X a 0 0 a Phiên rời rạc hệ (với số phân hoạch thời gian T) viết sau: X k +1 = FX k F cho 1 T T / AT F = exp AT = I + AT + T + = 0 2! 0 Bộ lọc Kalman hệ là: ( ( ) ) Xˆk k −1 = FXˆk −1 k −1 Σk k −1 = F Σk −1 k −1F '+ Qk −1 = F Σk −1 k −1F ' (do Qk −1 = ) Vì ta khơng có thơng tin đo đạc từ sau thời điểm k-1 (thời điểm xử lý) đến trước thời điểm k nên việc ước lượng khơng chắn Giả sử ta đo vị trí với phương sai δ : Z k = H k′X k + vk = 1 0 X k + vk vk 0, Rk , Rk ( ) Ma trận Kalman đạt từ phương trình (3.5) K k = Fk ∑k k −1 H k H k′ ∑k k −1 H k + Rk −1 Các phương trình cập nhật xác định theo phương trình (3.8) (3.9) Sau kết tính tốn dựa chương trình Mathlab cho 60 bước thời gian (T = 60), code Mathlab lấy từ trang web sách tham khảo [3.] Hình 3.1 thể phương sai ước lượng vị trí, cho thấy phương sai tăng bước thời gian giảm bước kế tiếp, hình cho thấy phương sai hội tụ trạng thái ổn định Hình 3.2 thể sai số phép đo vị trí (với độ lệch chuẩn 30) sai số ước lượng vị trí sau thử nghiệm Sai số ước lượng bắt đầu với độ lệch chuẩn gần 30 đến cuối mô phỏng, độ lệch chuẩn khoảng 11 Hình 3.1 3.1 Hình Hình 3.2 3.2 Hình 103 TẠP CHÍ KHOA HỌC TÀI CHÍNH KẾ TỐN Kết luận Bộ lọc Kalman có nhiều ứng dụng cơng nghệ, kinh tế tài chính, khuôn khổ viết tác giả chưa thể giới thiệu hết Hiện có khối lượng nghiên cứu đồ sộ lọc Kalman, nhiên việc hiểu nguyên tắc hoạt động thuật toán quan trọng, tạo tiền đề cho nghiên cứu chuyên sâu sau Đóng góp chủ yếu tác giả hệ thống kết chi tiết ví dụ để người đọc dễ tiếp cận với Bộ lọc Kalman Hiện nhiều toán liên quan đến hệ động lực ngẫu nhiên, sử dụng lọc Kalman mở rộng lọc Kalman không mùi giới khoa học quan tâm nghiên cứu TÀI LIỆU THAM KHẢO P.A Bromiley, Products and Convolutions of Gaussian Probability Density Functions, Tina Memo No 2003-003, 2014 Pasricha, Gurnain Kaur, Kalman Filter and its Economic Applications, MPRA Paper No 22734, 2010 D Simon, Optimal State Estimation: Kalman, H-infinity, and Nonlinear Approaches, John Wiley & Sons, 2006 https://codelungtung.wordpress.com/2019/05/29/bo-loc-kalman/ https://www.bzarg.com/p/how-a-kalman-filter-works-in-pictures/ https://www.youtube.com/watch?v=CaCcOwJPytQ&t=9s 104 ... Bài viết giới thiệu lọc Kalman tuyến tính, làm rõ quy trình hoạt động lọc trường hợp chiều hai chiều mục Sau viết giới thiệu lọc Kalman tổng quát mục cuối kết luận Ý tưởng lọc Kalman 2.1 Trường... Giá trị trạng thái ước tính tốt sử dụng để dự đốn trạng thái thời điểm t + 1.[5] Hình 2.1 Các quy trình lọc Kalman (Hình tác giả vẽ) Hình 2.2 Sơ đồ khối lọc Kalman Bộ lọc Kalman tổng quát Gọi Z... chi tiết ví dụ để người đọc dễ tiếp cận với Bộ lọc Kalman Hiện cịn nhiều tốn liên quan đến hệ động lực ngẫu nhiên, sử dụng lọc Kalman mở rộng lọc Kalman không mùi giới khoa học quan tâm nghiên