Tìm hiểu lý thuyết ước lượng quá trình ngẫu nhiên, vấn đề ước lượng tuyến tính bình phương nhỏ nhất và lọc dự đoán. Phương pháp bình phương nhỏ nhất là phương pháp ước lượng các thông số bằng cách tối thiểu hóa các sai lệch bình phương giữa các dữ liệu được quan sát và các giá trị kỳ vọng( xem phương pháp tối ưu hóa).
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN CÔNG NGHỆ THÔNG TIN
BÁO CÁO BỘ MÔN QUÁ TRÌNH NGẪU NHIÊN
VÀ ỨNG DỤNG
Đề tài 14 : Tìm hiểu lý thuyết ước lượng quá trình ngẫu nhiên,
vấn đề ước lượng tuyến tính bình phương nhỏ nhất và lọc dự đoán
Trang 2
I Phương pháp ước lượng bình phương nhỏ nhất
( MSE)
1.Phương pháp chung
bằng cách tối thiểu hóa các sai lệch bình phương giữa các dữ liệu được quan sát
và các giá trị kỳ vọng( xem phương pháp tối ưu hóa) Ta sẽ nghiên cứu các phương pháp trong một bài toán hồi quy, với sự biến thiên của 1 biến được gọi
là biến phụ thuộc Y một phần được giải thích qua sự biến thiên của các biến còn lại dược gọi là biến các hiệp biến(xem hồi quy tuyến tính đa biến)
Ví dụ sự biến thiên của các kết quả thi Y thì chủ yếu do sự biến thiên của năng lực và sự cần cù X của học sinh, hay sự biến thiên trong thời gian sinh tồn chủ yếu bởi các biến về điều kiện môi trường X Cho giá trị X, dự đoán tốt nhất của Y là trung bình f(x) của Y theo X ta nói rằng Y là hàm số của X cộng với nhiễu
các kết quả (x1,y1)…(xn,yn).Giả sử f có một số hữu hạn các số p≤ n của các thông số β = (β1, ,βp) ,,f = fβ Ta ước lượng β, f = fβ bằng giá trị ^β phù hợp nhất với dữ liệu Các ước lượng bình phương tối thiểu ký hiệu là ^β là giá trị của
b được tối thiểu hóa trên tất cả các giá trị của b có thể có
^β =∑
i=1
n
(y i−f b(x i))2
Các tiêu chí để bình phương nhỏ nhất là một biện pháp tính toán thuận tiện
và phù hợp Nó tương ứng với các ước lượng khả năng cực đại khi nhiễu là bình thường có phân phối với các phương sai bằng nhau.các biện pháp khác phù hợp
Y=f(X)+Nhiễu
Trang 3hơn đôi khi được sử dụng Ví dụ độ lệch tuyệt đối thì tốt hơn với phương pháp kiểm định Outliers (xem phương pháp kiểm định Robust)
Tuyến tính hồi quy: Xét các trường hợp với fβ là một hàm tuyến tính của β
và đây (X1,… Xp ) đại diện cho các biến được quan sát sử dụng ở trong fβ (X), có nghĩa là:
mẫu, ta sử dụng ký hiệu ma trận sẽ rất thuận tiện Cho y = và X là ma trận dữ liệu kích thước n x p của n quan sát trong p biến
X = (x 1,1 ⋯ x 1, p⋮ ⋱ ⋮
x n ,1 ⋯ x n , p) = (x1, ,xp)
Với xj là vector cột chứa n quan sát trên biến j (j chạy từ 1 đến n).Biểu thị
độ dài bình phương của một vector n chiều v bằng ||v||2 = v’v =∑
i=1
n
(v i)2 Sau đó biểu thức (1) có thể được viết như sau:
||y-Xb||2
Đó là khoảng cách bình phương giữa các vector y và tổ hợp tuyến tính b của các cột từ ma trận X Khoảng cách được tối thiểu hóa bằng cách lấy tham chiếu của y trên các không gian kéo dài các cột của X ( xem hình 1 )
Giả sử bây giờ X có các cột thứ hạng đầy đủ,nghĩa là không có cột trong X
có thể được viết thành tổ hợp tuyến tính của các cột khác.Sau đó ước lượng bình phương nhỏ nhất β được viết thành:
^β = (X’ X)-1 X’ y
Trang 4
( Hình 1:chiếu của vector y trên mặt phẳng kéo dài bởi x )
2-Phương sai của LSE
Ma trận của ^β bây giờ có thể được chỉ ra rằng với X thì ma trận hiệp
phương sai của ^β bằng:
(X’ X)-1σ2 ( Với σ2 là phương sai của nhiễu)
Như một ước lượng của σ2, ta có:
^
σ2 =n− p1 || y – X ^β ||2 = n− p1 ∑
i=1
n
^
e i2
(Với e^i là phần dư ra:e^i=y i – x p ,1 ^β1– … – x p ,i β^p)
Do đó ma trận hiệp phương sai của ^β có thể được ước lượng qua:
(X’X)-1σ^ 2
Ví dụ 1: Các ước lượng phương sai của ^β j là:
^
var(^β j)=γ2j σ^2
Với γ2j là phần tử thứ j trên đường chéo của (X' X)-1 Khoảng tin cậy của βj thu được bằng cách lấy ước lượng bình phương nhỏ nhất của ^β j± một khoảng:
Trang 5 ^β j± c√var (^β^ j)
thì giá trị của c = 1.96 khi n lớn Với n nhỏ hơn thì giá trị của c cần phải lựa chọn thận trọng bằng cách sử dụng bảng phân phối Student với n - p bậc tự do
Ví dụ 2: Xét một hồi quy với một hằng số , tuyến tính với giới hạn là bậc 2
f β(X )=β1+X β2+X2β3
Ta có n=100 và xi = n i với i=1, n Ma trận X bây giờ bằng:
X =(1 x1 x12
⋮ ⋮ ⋮
1 x n x n2)
X’X=( 50.5100 33.8350 25.502550.5 33.8350
33.8350 25.5025 20.5023)
(X’ X)-1=[ 0.0937 − 0.3729 0.3092
−0.3729 1.9571 −1.8189 0.3092 −1.8189 1.8009 ]
Ta mô phỏng n biến ngẫu nhiên độc lập chuẩn bình thường là e1, ,en.và i chạy từ 1 đến n:
Yi=1-3xi+ei
Như vậy, trong ví dụ này thì các tham số sẽ là
β2
β3) =(−31
0 )
Hơn nữa với σ2 = 1.Bởi vì đây là một mô phỏng nên các giá trị đều đã biết.Để tính toán ước lượng bình phương nhỏ nhất thì ta cần giá trị của X’y trong trường hợp này thì:
Trang 6−42.2025)
^β = (−2.38560.5778
− 0.0446)
nhiễu.Và tìm ra giá trị
^
σ2 = 0.883
Các dữ kiện được biểu diễn trong hình 2.Đường nét đứt thể hiện hồi quy đúng fβ (X).Đường liền nét thể hiện hồi quy ước lượng f β^(X)
hạng bậc hai khá là nhỏ:^β3=-0.0446.Các ước lượng phương sai của ^β3 là
^
var(^β3) = 1.8009 x 0.883= 1.5902
Sử dụng c =1.96 trong công thức (7), ta tìm được ra khoảng tin cậy
β3 ∈ -0.0446 ± 1.96√1.5902 = [-2.5162, 2.470]
Như vậy, β3 khác không không đáng kể ở mức 5% và do đó ta bác bỏ giả thiết H0:β3 = 0
Trang 7 Dưới đây,ta sẽ xem xét kiểm định thống kê chung để kiểm nghiệm giả thuyết trên β Trong trường hợp cụ thể này thì kiểm định thống kê có dạng
T2= β^32
^
var( ^β3)= 0.0012 (1)
phương pháp dựa trên khoảng tin cậy Thật vậy, (T)2 < (1.96)2 ta không bác bỏ giá thuyết H0: β3 =0
nhất
(β^1,0
^
β2,0) = (X0’X0)-1X0’y =(−2.43060.5854 )
Điều quan trọng là cần lưu ý thiết lập β3 không thay đổi các giá trị của ước lượng bình phương nhỏ nhất của β1 và β2
(β^1,0
^
β2,0)≠ (β^1
^
β2)
Điều này là do ^β3 tương quan với ^β1 và ^β2 Ta có thể xác minh điều đó thông qua ma trận tương quan của ^β là:
(−0.87081 −0.87081 −0.96890.7529 0.7529 −0.9689 1 )
trường hợp thử nghiệm đặc biệt của giả thuyết H0 tuyến tính: Aβ = 0 với A là β = 0 với Aβ = 0 với A là là một số ma trận r x p Như mốt số ví dụ của 1 giả thuyết, giả sử ta muốn kiểm tra 2 hệ số bằng nhau thì H0: β1 = β2 Điều này có nghĩa là hạn chế r=1 và ta có thể biến Aβ = 0 với A là thành ma vector hàng 1 x p:
Aβ = 0 với A là =(1,-1,0, ,0)
Trang 8 Nói chung, ta giả định rằng không có sự tuyến tính phụ thuộc vào r hạn chế
Aβ = 0 với A là β = 0 Để kiểm tra giả thuyết tuyển tính,ta sử dụng các số liệu thống kê:
T2=
¿ ∨X ^β0−X ^β∨¿2
r
^
σ 2
Với ^β0 là ước lượng bình phương nhỏ nhất dưới H0:Aβ = 0 với A là β = 0.Trong các ví dụ
cụ thể,thống kê này ở biểu thức (1) Khi nhiễu là phân phối bình thường thì các giá trị quan trọng có thể thấy ở trong bảng phân phối F với r và n - p bậc tự do.Đối với n lớn thì giá trị quan trọng có thể lấy ở bảng phân phối χ2 với bậc
tự do r
II Lọc dự đoán
1-Bình phương nhỏ nhất và lọc dự đoán
2
các ứng dụng thực tế, mà chỉ có thể có được số đo của đầu vào và tín hiệu đáp ứng mong muốn
2-Nguyên tắc của bình phương nhỏ nhất
phương của các lỗi ước lượng – tiêu chí cho việc thiết kế các bộ lọc tối ưu
nghiệm bộ lọc thích hợp
Tuỳ thuộc vào dữ liệu có sẵn, có 2 cách để thiết kế một ước lượng tối ưu:
kế bộ lọc đó là tối ưu cho tất cả các bộ dữ liệu với số liệu thống kê tương tự
Nếu chúng ta chỉ có một khối dữ liệu, chúng ta sử dụng tiêu chí LSE để thiết
kế một ước lượng tối ưu cho dữ liệu
Trang 93-Ước lượng tuyến tính bình phương nhỏ nhất
Vấn đề: Cho bộ dữ liệu {y(n)} và {xk(n)}, thiết kế ước lượng ^y (n) cũng cấp ước lượng đáp ứng mong muốn y(n) bằng cách sử dụng sữ kết hợp tuyến tính của dữ liệu xk(n) với 1 ≤ k ≤ M Như vậy:
∑
n
e(n)2=∑
n
((y (n)−^y (n))¿¿ 2) ¿ tối thiếu
Giải pháp:
^y(n)=∑
k =1
M
c k(n)xk(n)
Cho y=y(n), e=e(n), c´=(c1(n),c2(n), ,cM(n))T, ´x=(x1(n),x2(n), ,xk(n))T
n
e(n)2=∑
n
{(y (n)−´c ' ´x (n))2}
o J=E{e}2=E{(y-c ' ´x´ )2} trong việc thiết kế một bộ lọc tuyến tính tối ưu
J tối thiểu tại ∂ J ∂ ´c=0
=> ∂ ´c (n) ∂ J =∑
n [∂ ´c ∂ ((y (n)−´c ' ´x(n))
2
)] =∑
n
{−2( y (n)−´c ' ´x (n)) ´x ' (n)}=0
=> ∑
n
{y (n) ´x (n)' } = ∑
n
{ ´c ' ´x (n) ´x ' (n)} = c '´ ∑
n
{ ´x (n)´x '(n)}
=> ∑
n
{ ´x ' (n) y (n)}
=> ^Rxc´ = ^´rxy
=> c´ = R´−1x ^´rxy
Khi ^Rx = ∑
n
{ ´x (n)´x '(n)} và ^´rxy = ∑
n
{ ´x (n) y (n)}
Phương trình ^Rxc* =r^ * xy còn được gọi là phương trình bình phương.
Trang 10[ ∑(x1 (n)x1(n))∑(x1(n)x2(n))… ∑(x1(n) xM(n))
∑(x2(n)x1(n))∑(x2(n)x2(n))… ∑(x2(n) xM(n))
⋮⋮ ⋱⋮
∑(x M(n)x 1 (n))∑(xM(n)x 2 (n))… ∑(xM(n) xM(n))][c1 (n)
c2(n)
⋮
c M(n)]=[∑( y (n) x1 (n))
∑( y (n) x2(n))
⋮
∑( y (n)x M(n))]
4-Bộ lọc bình phương nhỏ nhất FIR
Lý thuyết về ước lượng tuyến tính LS có thể được áp dụng cho việc thiết kế các bộ lọc FIR
Giả sử chúng ta lấy số đo mong muốn y(n) và tín hiệu đầu vào x(n) trong khoảng thời gian 0 ≤ n ≤ N -1
Giả sử tín hiệu là cố định ⇒ hệ số lọc là bất biến
Theo như (8.a), ta có:
{xk(0)}=[x(0) 0 0 … 0]
{xk(1)}=[x(1) x(0) 0 … 0]
⋮ {xk(M−2)}=[ x (M−2)… x (0)0]
{xk(M −1)}=[ x(M −1) x (M −2)x (M −3)… x(0)]
⋮ {xk(N−1)}=[ x (N−1)x (N −2) x (N−3)… x (N−M )]
{xk(N )}=[0 x(N −1)x (N−2)… x (N−M +1)]
⋮ {xk(N +M −3)}=[0 0 … 0 x(N-1) x(N-2)]
{xk(N +M −2)}=[ 0 0 … 0 0 x(N-1)]
k=0
M−1
h(k ) x(n−k)
Trang 11n= N i
N f
e (n)2=∑
n= N i
N f
¿ (y (n)−´c ' ´x (n))2} ¿
lọc và dự báo
Nếu N >> M, sự khác biệt hiệu năng giữa các phương pháp khác nhau ở trên không đáng kể
thuyết xử lý tín hiệu như các phương pháp tự tương quan và hiệp phương sai
Có thể coi đó là bộ lọc tối ưu nhưng Rx và r*xy xấp xỉ
=> ^Rx = ∑
n= N i
N f
{´x (n) ´x '(n)} và ^´rxy = ∑
n= N i
N f
{´x (n) y (n)}
Trang 12
III ÁP DỤNG PHƯƠNG PHÁP BÌNH PHƯƠNG
CỰC TIỂU TRONG MATLAB
Trong phần này ta sẽ xét cách áp dụng phương pháp dự đoán bình phương cực tiểu vào 2 bài toán cơ bản nhất: Ước lượng hàm thỏa mãn điều kiện bình phương cực tiểu với các giá trị thu được và sử dụng bộ lọc dự đoán để dự đoán các giá trị của tín hiệu trong tương lai dựa vào các giá trị đã thu được Cả 2 bài toán sẽ được xét với mô hình tuyến tính (bậc nhất)
1 Ước lượng hàm bậc nhất thỏa mãn điều kiện bình
phương cực tiểu
a Bài toán
Tại các thời điểm t=0,1,2,…,n ta thu được các giá trị x0,x1,…,xn Biết rằng các giá trị xi phụ thuộc vào thời gian theo quan hệ X=F(t) nhưng do nhiễu từ thiết bị
đo hay do môi trường, các giá trị thu được không tuân theo quan hệ X=F(t) một cách chính xác Với trường hợp đang xét là hàm bậc nhất, ta cần ước lượng các
nhất:
∑
i=0
n
(^x i−x i)2 =Min
b Hướng giải quyết
Ta đã biết lời giải cho bài toán trên có thể thu được bằng cách tính ma trận
H=(A T A)−1A T X
Trong đó ma trận Aβ = 0 với A là có thể tính được dựa trên các thời gian ti, và cách tính phụ thuộc vào mô hình ước lượng đang xét Chẳng hạn, với mô hình tuyến tính ma trận Aβ = 0 với A là có dạng
[t0 1
⋮ ⋮
t n 1]
Từ kết quả tính ma trận H ta xác định được các hệ số cần ước lượng a,b lần lượt tương ứng với H(1) và H(2)
Trang 13c Áp dụng giải quyết bài toán bằng MAβ = 0 với A là TLAβ = 0 với A là B
c.1 Các hàm sử dụng trong chương trình
- Hàm randn(m,n): Tạo 1 ma trận kích thước m*n với các phần tử là biến ngẫu nhiên phân phối chuẩn
- Hàm inv(Aβ = 0 với A là ): Tính ma trận nghịch đảo của ma trận Aβ = 0 với A là
- Hàm plot(x,y,option): Vẽ biểu đồ với x là trục hoành, y là trục tung cùng các tùy chọn như dạng đồ thị, màu, cách kí hiệu các điểm,…
- Hàm zeros(m): Tạo một ma trận vuông kích thước m*m với các phần tử có giá trị bằng 0
- Kí hiệu u’ là vector chuyển vị của vector u
c.2 MAβ = 0 với A là TLAβ = 0 với A là B code và giải thích
Trong ví dụ này, nếu ta lấy cả x và y đều là các biến ngẫu nhiên thì các điểm biểu diễn chúng sẽ rất “phân tán” (hệ số tương quan giữa x và y thấp), không tập trung gần một đường thẳng nên dù các tham số ước lượng đạt điều kiện bình phương cực tiểu chúng không thể hiện được ý nghĩa thực tiễn Do vậy, ta chọn một hàm tuyến tính cụ thể, thêm nhiễu và áp dụng phương pháp LSE để “ước lượng lại” các hệ số Trong thực tế ta sẽ thay x và y bằng các đầu vào là thời gian
và số liệu thu được
Trang 14c.3 Kết quả và nhận xét
Nhận xét: Ta thu được 2 tham số a và b sao cho hàm ^x=a X +b thỏa mãn tiêu chí bình phương cực tiểu Để biết được sai số bình phương (LS error), ta viết thêm các dòng lệnh:
2 Sử dụng bộ lọc dự đoán trong MATLAB
a Bài toán
Cho một tập các giá trị của một quá trình ngẫu nhiên thời gian rời rạc, ta cần dự đoán giá trị trong tương lai Cụ thể là, cho các giá trị x(n-1), x(n-2),…,x(n-M), ta cần dự đoán giá trị x(n) Ta có thể biểu diễn dự đoán này dưới dạng một hàm của
M giá trị quá khứ:
Trang 15x (n∨n−1 ,n−2 , … , n−M )=f (x (n−1) , x (n−2 ), … , x (n−M ))
Trong bài ví dụ này, ta xét đến dự đoán tuyến tính, tức f là một hàm bậc nhất đối với các biến x(n-1), x(n-2),…,x(n-M), tức là:
^
x (n∨n−1 ,n−2 , …, n−M )=∑
k=1
M
a k x(n−k)
(Trong đó ak là các hằng số)
Công việc của ta là ước lượng các hằng số ak sao cho dự đoán về x(n) thỏa mãn điều kiện bình phương cực tiểu
b Hướng giải quyết
Đặt u(k) là ma trận dọc chứa các giá trị đã thu được tại các thời điểm t<k:
u (k )=[x (k −1) x (k −2) …x (k−M )]T
aM là vector các hệ số tương ứng
P là một ma trận dùng để tính toán các hệ số aM(k)
Thuật toán của bộ lọc dự đoán như sau:
Tại k=1, có aM=[1,0,0,…,0]T và P(1) là ma trận đơn vị M*M
Với k>=2:
- Tính đầu ra dự đoán hiện tại: ^x (k )=a M T (k −1)u (k )
a M(k )=aM(k −1)+ P ( k−1) u(k )
u T(k ) P (k−1) u(k)[x (k )−^x(k )]
P (k )=P (k −1)− P (k−1) u (k ) u
T(k ) P(k−1)
u T
( k ) P (k −1)u (k )
Trong mỗi bước, bộ dự đoán sẽ dựa vào chênh lệch giữa giá trị dự đoán với giá trị thực tế thu được để đưa ra thay đổi cho vector hệ số và ma trận P
Trang 16c Áp dụng giải quyết bằng MAβ = 0 với A là TLAβ = 0 với A là B
c.1 Các hàm sử dụng trong chương trình
- Hàm zeros(m,n): Tạo một ma trận kích thước m*n với các phần tử bằng 0
- Hàm eye(m): Tạo một ma trận đơn vị kích thước m*m
- Hàm flipud(Aβ = 0 với A là (m:n)): Đảo vị trí các phần tử có số thứ tự từ m đến n của vectorAβ = 0 với A là
- Kí hiệu u’ là vector chuyển vị của vector u
- Hàm plot(x,y,option): Vẽ biểu đồ với x là trục hoành, y là trục tung cùng các tùy chọn như dạng đồ thị, màu, cách kí hiệu các điểm,…
c.2 MAβ = 0 với A là TLAβ = 0 với A là B code và giải thích
Trong ví dụ này ta giả thiết hàm thu được có dạng sin
Trang 17c.3 Kết quả và nhận xét
Đầu tiên ta vẽ đồ thị của tín hiệu thu được theo thời gian (màu xanh):
Sau đó trên cùng đồ thị này ta vẽ đồ thị của tín hiệu dự đoán thu được nhờ bộ lọc dự đoán (màu đỏ):
Trang 18Ta thấy rằng sau một vài giá trị đầu tiên có sự khác biệt, phần lớn các giá trị tiếp theo được dự đoán chính xác (đồ thị đỏ và đồ thị xanh hoàn toàn trùng nhau) Như vậy thuật toán về bộ lọc tuyến tính sử dụng phương pháp LSE là hoàn toàn chính xác
Trang 19IV Bài tập
Bài 25 (bài 10-20)
biến ngẫu nhiên độc lập của x(t) thì quá trình y(t) = x(t- ɛ) là quá trình SSS
Giải
x(t) là quá trình SSS
P{x(t)≤y}=F x (y) không phụ thuộc vào t
Ta có biến ngẫu nhiên và x(t) là độc lập
F y (y)=P{ x(t- ɛ)≤y| ɛ = ɛ } = P{ x(t- ɛ)≤y} = F x (y) độc lập với t
Quá trình y(t)= x(t- ɛ) là quá trình SSS ( điều phải chứng minh)
Bài 26 (bài 11-6)
Cho quá trình Wiener w(t) và tham số α.Ta tạo ra các quá trình
x(t)=w(t 2 ) y(t)=w 2 (t)
Chứng minh rằng x(t) là phân phối chuẩn trung bình bằng 0 (“zero mean”) thì
1/ R X (t 1 ;t 2 )=αtt1
2
2/ R Y (t 1 ;t 2 )=α 2 t 1 t 2 +2αtt1
2
Giải
Nếu x(t)=w(t 2 )
R X (t 1 ;t 2 )=E{w(t1
2)w(t2
2)}=αtt1
2
Nếu y(t)=w 2 (t)
R Y (t 1 ;t 2 )=E{w 2 (t 1 )w 2 (t 2 )}=E{w 2 (t 1 )} E{w 2 (t 2 )} + 2E 2 {w(t 1 )w(t 2 )}=α 2 t 1 t 2 +2 αtt12