2.5.1 Sinh biến ngẫu nhiên liên tục tuân theo phân phối chuẩn
Hàmrandntrong MATLAB có tác dụng sinh các biến ngẫu nhiên chuẩn tắc và có chức năng tương tự hàm rand đã được thảo luận trong phần trước. Với biến ngẫu nhiên có phân phối đều U, chúng ta có thể xác định biến ngẫu nhiên chuẩn tắc X với trung vị à và phương saivà σ2 bằng một phộp đổi biến. Thật vậy, gọiZ là một thể hiện của biến ngẫu nhiên chuẩn tắc (có thể được sinh bởi hàm rand) ta tìm đượcX mong muốn thông qua công thức
X =Z.σ+à. (2.7)
2.5.2 Sinh biến ngẫu nhiên liên tục tuân theo phân phối mũ
Phương pháp biến đổi ngược có thể được dùng để sinh biến số ngẫu nhiên tuân theo phân phối mũ. Hàm phân phối cho biến số ngẫu nhiên theo cấp số mũ với tham số λ được cho bởi
F(x) = 1−e−λx, 0< x <∞. (2.8) Gọi
u=F(x) = 1−e−λx, (2.9) Chúng ta có thể tìm x như sau
u= 1−e−λx
⇒eưλx= 1ưu
⇒ ưλx= log(1ưu)
⇒x=−1
λlog(1ưu).
Lưu ý là (1ưu) có phân phối đều trên khoảng (0,1)nên chúng ta có thể sinh các biến ngẫu nhiên tuân theo phân phối mũ với tham sốλ bằng cách sử dụng biến đổi
X =−1
λlog(U). (2.10)
Ví dụ 2.5.1. Mã MATLAB sau sẽ sinh biến số ngẫu nhiên theo cấp số mũ cho λ.
% Set up the parameters.
lam = 2;
n = 1000;
% Generate the random variables.
uni = rand(1,n);
X = -log(uni)/lam;
Chúng ta sinh một tập các biến số ngẫu nhiên và vẽ chúng trên đồ thị để xác nhận chúng có tuân theo phân phối mũ hay không.
% Get the values to draw the theoretical curve.
x=0:.1:5;
% This is a function in the Statistics Toolbox.
Khóa luận tốt nghiệp Đại học Tạ Thị Hoàn
y=exppdf(x,1/2);
% Get the information for the histogram.
[N,h]=hist(X,10);
% Change bar heights to make it correspond to
% the theoretical density - see Chapter 5.
N=N/(h(2)-h(1))/n;
% Do the plots.
bar(h,N,1,’w’) hold on
plot(x,y) hold off xlabel(’X’)
ylabel(’f(x) - Exponential’)
0 1 2 3 4 5
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
X
f(x) − Exponential
Hình 2.3: Hàm mật độ xác suất của các biến ngẫu nhiên được sinh trong ví dụ 2.5.1 và đường cong của hàm mật độ lý thuyết vớiλ= 2.
2.5.3 Sinh biến ngẫu nhiên liên tục tuân theo phân phối Gamma
Trong phần này, tôi trình bày một thuật toán để sinh một biến ngẫu nhiên có phân phối gamma với các tham số(t, λ), trong đót là một số nguyên. Nhắc lại, hàm phân
phối của một biến ngẫu nhiên gama với các tham số (t, λ) có công thức
F(x) = Z λx
0
e−yyt−1
(t−1)!dy. (2.11)
Theo [Ross, 1997], tổng của t biến độc lập tuân theo phân phối mũ với cùng tham số λ là một biến mẫu nghiên có phân phối γ với tham số (t, λ). Điều này dẫn đến công thức biến đổi sau dựa trên t số ngẫu nhiên có phân phối đều t,
X =−1
λlog(U1)−...− 1
λlog(Ut). (2.12)
Tức là,
X =−1
λlog(U1×...×Ut) =−1 λlog
t
Y
i=1
Ui
!
. (2.13)
Ví dụ 2.5.2. Mã MATLAB bên dưới là thể hiện của thuật toán vừa mô tả để sinh biến ngẫu nhiên gama với tham số t nguyên.
n = 1000;
t = 3;
lam = 2;
% Generate the uniforms needed. Each column
% contains the t uniforms for a realization of a
% gamma random variable.
U = rand(t,n);
logU = -log(U)/lam;
X = sum(logU);
Chúng ta vẽ đồ thị hàm mật độ xác suất của các biến ngẫu nhiên mới được sinh
% now do the histogram [N,h]=hist(X,10);
% change bar heights N=N/(h(2)-h(1))/n;
% now get the theoretical pdf x = 0:.1:6;
y = gampdf(x,t,1/lam);
Khóa luận tốt nghiệp Đại học Tạ Thị Hoàn
bar(h,N,1,’w’) hold on
plot(x,y,’k’) hold off
Hình 2.4 thể hiện đồ thị hàm mật xác suất của các biến mới sinh phù hợp hàm mật độ theo lý thuyết.
0 1 2 3 4 5 6 7 8
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7
Hình 2.4: Hàm mật độ xác suất của các biến mới sinh và hàm mật độ lý thuyết
2.5.4 Sinh biến ngẫu nhiên liên tục tuân theo phân phối Chi-Square Một biến ngẫu nhiên chi-square với bậc tự dov là một trường hợp đặc biệt của phân phối gama với λ = 1/2, t= v/2và v là một số nguyên dương.Biến ngẫu nhiên này có thể được sinh bởi inh biến ngẫu nhiên liên tục tuân theo phân phối Gamma vừa trình bày với một chút sửa đổi.
Khiv là chẵn, tứcv = 2k ta có thể có được một biến ngẫu nhiên chi-square từ công thức
X =−2log
k
Y
i=1
Ui
!
. (2.14)
Khiv là lẻ, tứcv = 2k+ 1, theo [Ross, 1997] phân phối chi-square với bậc tự dov là tổng của v biến chuẩn tắc độc lập bình phương(?). Ta nhận được biến ngẫu nhiên
theo yêu cầu bằng công thức
X =Z2−2log
k
Y
i=1
Ui
! ,
với Z là biến ngẫu nhiên chuẩn tắc.
Ví dụ 2.5.3. Trong ví dụ này, chúng tôi trình một function sinh biến ngẫu nhiên liên tục tuân theo phân phối Chi-Square
% function X = cschirnd(n,nu)
% This function will return n chi-square
% random variables with degrees of freedom nu.
function X = cschirnd(n,nu)
% Generate the uniforms needed.
rm = rem(nu,2);
k = floor(nu/2);
if rm == 0 % then even degrees of freedom U = rand(k,n);
if k ~= 1
X = -2*log(prod(U));
else
X = -2*log(U);
end
else % odd degrees of freedom U = rand(k,n);
Z = randn(1,n);
if k ~= 1
X = Z.^2-2*log(prod(U));
else
X = Z.^2-2*log(U);
end end
Khóa luận tốt nghiệp Đại học Tạ Thị Hoàn