1. Trang chủ
  2. » Luận Văn - Báo Cáo

MÔ PHỎNG THỐNG KÊ VÀ ỨNG DỤNG

114 419 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 114
Dung lượng 600,32 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

, m − 1 và xn/mgọi là số giả ngẫu nhiên, xn/m được dùng để xấp xỉ giá trị của một biếnsố ngẫu nhiên phân phối đều trong khoảng 0, 1.. Một cách khác để tạo số giả ngẫu nhiên bằng cách tín

Trang 1

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN

NGUYỄN THỊ KIM LOAN

MÔ PHỎNG THỐNG KÊ VÀ ỨNG DỤNG

Chuyên ngành: Lý thuyết Xác suất và Thống kê Toán học

Mã số: 60.46.15

LUẬN VĂN THẠC SĨ: TOÁN HỌC

NGƯỜI HƯỚNG DẪN KHOA HỌC PGS TS NGUYỄN BÁC VĂN

Thành phố Hố Chí Minh – 2011

Trang 2

Lời cảm ơn

Tôi xin gửi lời cảm ơn chân thành và sâu sắc nhất đến PGS TS NguyễnBác Văn, người Thầy đã tận tình dạy dỗ, hướng dẫn tôi trong suốt quátrình thực hiện luận văn cao học và tạo mọi điều kiện để tôi có thểhoàn thành luận văn này

Tôi xin gửi lời cảm ơn đến các thầy cô khoa Toán − Tin học đã tạođiều kiện cho tôi hoàn thành khóa học

Tôi xin cảm ơn gia đình, bạn bè đã động viên và tạo mọi điều kiệntốt nhất để tôi tiếp tục theo đuổi việc học tập nghiên cứu

Học viên Nguyễn Thị Kim Loan

Trang 3

Mục lục

1.1 Tạo số giả ngẫu nhiên 4

1.2 Sử dụng số ngẫu nhiên để tính tích phân 6

1.3 Bảng số ngẫu nhiên 14

2 TẠO BIẾN NGẪU NHIÊN RỜI RẠC 16 2.1 Phương pháp biến đổi ngược 16

2.2 Tạo hoán vị ngẫu nhiên và ứng dụng trong y khoa 18

2.3 Tạo biến ngẫu nhiên có phân phối Poisson 30

2.4 Tạo biến ngẫu nhiên có phân phối nhị thức 33

2.5 Phương pháp chấp nhận − bác bỏ 36

2.6 Phương pháp hỗn hợp 38

2.7 Tạo vectơ ngẫu nhiên 40

3 TẠO BIẾN NGẪU NHIÊN LIÊN TỤC 43 3.1 Phương pháp biến đổi ngược 43

3.2 Phương pháp bác bỏ 47

Trang 4

3.3 Tạo vectơ ngẫu nhiên có phân phối chuẩn hai chiều.

Ứng dụng tạo số liệu giả về (tầm cao, vòng ngực) của

thiếu niên 54

4 DÙNG MÔ PHỎNG ĐỂ SO SÁNH HIỆU QUẢ CỦA CÁC PHƯƠNG PHÁP BOOTSTRAP KHÁC NHAU 61 5 GIỚI THIỆU VỀ PHẦN MỀM R 87 5.1 Các phép tính cơ bản trong R 88

5.2 Mô phỏng trong R 88

5.2.1 Tạo một dãy số trong R 88

5.2.2 Các hàm phân phối xác suất 90

5.3 Vẽ đồ thị 92

5.4 Lập trình trong R 96

Trang 5

Lời mở đầu

Mô phỏng là cách để mô hình hóa các hiện tượng ngẫu nhiên, nhờvậy mà kết quả mô phỏng thường rất chặt chẽ và phù hợp với kết quảthực tế Bằng cách quan sát các kết quả mô phỏng các nhà nghiên cứucó thể có cái nhìn tiên đoán về thế giới thực Bên cạnh đó, trong mộtsố nghiên cứu, người thực hiện có thể gặp phải những khó khăn (thiếusố liệu, tốn thời gian, kinh phí để thực hiện những thí nghiệm) Khiđó, có thể nhờ mô phỏng để xấp xỉ thực tế, như vậy đòi hỏi ít thờigian, công sức và tiền bạc so với những phương pháp tiếp cận khác.Chính vì những lý do trên, trong luận văn này tôi hệ thống lại nhữngphương pháp mô phỏng trong thống kê, sau đó đi sâu vào thực hiệnmột số mô phỏng thực tế để ứng dụng Luận văn gồm 5 chương

+ Chương 1 tìm hiểu về cách tạo số ngẫu nhiên

+ Chương 2 và 3 trình bày các phương pháp tạo số liệu giả về biếnngẫu nhiên rời rạc và liên tục

+ Chương 4 dùng mô phỏng để so sánh hiệu quả của ba phương phápbootstrap khác nhau

+ Chương 5 giới thiệu về phần mềm R

Trang 6

1.1 Tạo số giả ngẫu nhiên

Phương pháp phổ biến nhất để tạo số ngẫu nhiên gọi là phương pháp

Trang 7

1.1 TẠO SỐ GIẢ NGẪU NHIÊN

với a và m là những số nguyên dương cho trước, xn là số dư của phépchia axn−1 cho m Mỗi xn nhận giá trị trong 0, 1, , m − 1 và xn/mgọi là số giả ngẫu nhiên, xn/m được dùng để xấp xỉ giá trị của một biếnsố ngẫu nhiên phân phối đều trong khoảng (0, 1)

Vì mỗi xn nhận giá trị trong 0, 1, , m − 1, vậy sau hữu hạn giá trịđược tạo thì sẽ có giá trị lặp lại, và lúc đó toàn bộ dãy sẽ bắt đầu lặplại Do đó, chúng ta muốn chọn a và m, với x0 bất kỳ, sao cho số lượngbiến ngẫu nhiên được tạo lớn nhất trước khi quá trình lặp lại xảy ra.Để làm được điều đó, hằng số a và m nên chọn thỏa 3 tiêu chuẩnsau

1 Với x0 bất kỳ, dãy kết quả có dáng vẻ của những biến ngẫu nhiênđộc lập phân phối đều trong khoảng (0, 1)

2 Với x0 bất kỳ, số lượng những biến số có thể được tạo ra là lớntrước khi xảy ra sự lặp lại

3 Những giá trị có thể được tính một cách hiệu quả bằng máy tính.Một nguyên tắc giúp thỏa mãn 3 điều kiện trên là m nên được chọnlà số nguyên tố lớn, số đó phù hợp với kích cỡ dữ liệu của máy tính

Ví dụ, với máy tính 32 bit, chọn m = 231 − 1 và a = 75 = 16.807, vớimáy tính 36 bit, chọn m = 235 − 31 và a = 55 Hai cách chọn a và mđó đều cho kết quả tốt

Một cách khác để tạo số giả ngẫu nhiên bằng cách tính toán đệ quy

xn = (axn−1 + c) mod mPhương pháp này gọi là phương pháp đồng dư hỗn tạp (bao gồm mộtphép nhân và một phép cộng) Khi sử dụng cách này, m được chọn

Trang 8

1.2 SỬ DỤNG SỐ NGẪU NHIÊN ĐỂ TÍNH TÍCH PHÂN

bằng kích thước dữ liệu của máy tính, khi đó việc tính (axn−1 + c)mod m, tức là chia (axn−1 + c) cho m, sẽ khá hiệu quả

Vậy điểm bắt đầu trong mô phỏng máy tính của hệ thống, chúng

ta giả sử rằng có thể tạo một dãy số giả ngẫu nhiên xấp xỉ giá trị củanhững biến ngẫu nhiên độc lập và có phân phối đều trong khoảng(0, 1)

1.2 Sử dụng số ngẫu nhiên để tính tích phân

Một trong những ứng dụng gần nhất của số ngẫu nhiên là tính tíchphân

Đặt g(x) là một hàm số và giả sử ta cần tính θ với

θ =

Z 1 0

g(x)dxLưu ý, biến ngẫu nhiên U có phân phối đều trên (0, 1), nên

θ = E[g(U )]

Nếu U1, , Uk là những biến ngẫu nhiên độc lập, có phân phối đềutrên (0, 1) thì dẫn đến những biến ngẫu nhiên g(U1), , g(Uk) cũngđộc lập, có cùng phân phối, có kỳ vọng là θ Do đó, theo luật mạnh sốlớn Kolmogorov, với xác suất 1,

Vì vậy, ta xấp xỉ θ bằng cách tạo ra một số lớn những số ngẫu nhiên

ui và tính trung bình cộng của g(ui) Phương pháp để xấp xỉ tích phân

như vậy gọi là phương pháp Monte Carlo.

Trang 9

1.2 SỬ DỤNG SỐ NGẪU NHIÊN ĐỂ TÍNH TÍCH PHÂN

Nếu ta muốn tính

θ =

Z b a

g(x)dxthì, bằng cách thay

g(a + [b − a]y)(b − a)dy

=

Z 1 0

h(y)dyvới h(y) = (b − a)g(a + [b − a]y) Do đó, ta có thể xấp xỉ θ bằng cáchtạo số ngẫu nhiên, sau đó tính giá trị trung bình của h

Tương tự, nếu muốn tính

θ =

Z ∞ 0

g(x)dxthì, bằng cách thay

y = 1

x + 1 và dy = − dx

(x + 1)2 = −y2dxthu được

θ =

Z 1 0

h(y)dyvới

Z 1 0

Z 1 0

g(x1, , xn)dx1dx2 dxn

Trang 10

1.2 SỬ DỤNG SỐ NGẪU NHIÊN ĐỂ TÍNH TÍCH PHÂN

Sử dụng phương pháp Monter Carlo để ước lượng θ, θ biểu diễn theokỳ vọng:

θ = E[g(U1, , Un)]

với U1, , Un là những biến ngẫu nhiên độc lập, có phân phối đềutrên khoảng (0, 1) Do đó, nếu tạo k tập độc lập, mỗi tập chứa n biếnsố ngẫu nhiên độc lập có phân phối đều trong khoảng (0, 1)

U11, , Un1

U12, , Un2

U1k, , Unkthì, vì những biến số ngẫu nhiên g(Ui

1, , Uni), i = 1, , k là nhữngbiến số ngẫu nhiên độc lập và có cùng phân phối với kỳ vọng θ, ta cóthể ước lượng θ bởi Pk

i=1g(U1i, , Uni)/k

Ví dụ 1a Ước lượng π

Giả sử vectơ ngẫu nhiên (X, Y ) có phân phối đều thuộc hình vuôngcó diện tích là 4, tâm O Nghĩa là, nó là một điểm ngẫu nhiên trongmiền chỉ định như hình

Ta xem xét xác suất để điểm ngẫu nhiên nằm trong hình tròn có bánkính 1

Trang 11

1.2 SỬ DỤNG SỐ NGẪU NHIÊN ĐỂ TÍNH TÍCH PHÂN

Lưu ý, vì (X, Y ) có phân phối đều thuộc hình vuông nên

P {(X, Y )thuộc hình tròn} = P {X2+Y2 ≤ 1} = diện tích hình tròn

diện tích hình vuông =

π4Vậy, nếu ta tạo một số lượng lớn những điểm ngẫu nhiên độc lập tronghình vuông, thì tỷ lệ những điểm rơi vào trong hình tròn xấp xỉ π/4.Nếu X và Y độc lập và có phân phối đều trên (−1, 1) thì hàm mật độđồng thời của chúng là

f (x, y) = f (x)f (y)

= 1

2 ·

12

= 1

4, −1 ≤ x ≤ 1, −1 ≤ y ≤ 1

Vì hàm mật độ của (X, Y ) là hằng số trong hình vuông nên (X, Y ) cóphân phối đều trong hình vuông Nếu U có phân phối đều trên (0, 1)thì 2U có phân phối đều trên (0, 2), 2U − 1 có phân phối đều trên(−1, 1) Do đó, nếu ta tạo số ngẫu nhiên U1 và U2, đặt

X = 2U1− 1và

Y = 2U2− 1và định nghĩa

Trang 12

1.2 SỬ DỤNG SỐ NGẪU NHIÊN ĐỂ TÍNH TÍCH PHÂN

thì

E[I] = P {X2+ Y2 ≤ 1} = π

4

Ta có thể ước lượng π

4 bằng cách tạo một số lượng lớn các cặp sốngẫu nhiên u1, u2 và lấy ước lượng π

4 là tỉ lệ những cặp thỏa điều kiện(2u1 − 1)2+ (2u2− 1)2 ≤ 1.2

Bây giờ, chúng ta sẽ sử dụng phần mềm R để tạo 5, 10, 20, 30, 100, 1000,

2000, 5000, 10000, 20000 cặp (u1, u2) và cho xấp xỉ π

Trang 13

1.2 SỬ DỤNG SỐ NGẪU NHIÊN ĐỂ TÍNH TÍCH PHÂN

+ }

> comau < − c(5, 10, 20, 30, 100, 1000, 2000, 5000, 8000, 10000)

> vector.pi = vector()

> for (i in 1:10) vector.pi[1] = pi(comau[i])

> ketqua = data.frame(comau, uocluongpi = vector.pi)

> ketqua

Ta thu bảng kết quả:

Thứ tự Cỡ mẫu Ước lượng π

3, ta sẽ chỉ ra cách tạo giá trị của những biến ngẫu nhiên có phân phốitùy ý Với khả năng tạo những biến ngẫu nhiên tùy ý, chúng ta có thểmô phỏng một hệ thống xác suất dựa theo những luật xác suất đặc biệtcủa hệ thống

Trang 14

1.2 SỬ DỤNG SỐ NGẪU NHIÊN ĐỂ TÍNH TÍCH PHÂN

Trang 15

1.2 SỬ DỤNG SỐ NGẪU NHIÊN ĐỂ TÍNH TÍCH PHÂN

[97] 0.98752256 0.64516183 0.85128559 0.31577016

Vẽ biểu đồ

> hist(a, main = "Histogram of creating 100 random numbers")

Ta tạo thêm một bảng 10000 số ngẫu nhiên bằng lệnh

> b < − runif (10000, 0, 1)

và vẽ biểu đồ biểu diễn những số ngẫu nhiên mới tạo

> hist(b, main = "Histogram of creating 10000 random numbers")

Qua hai biểu đồ trên, ta có nhận xét: Kiểm tra các dãy số giả ngẫunhiên có tuân theo luật phân phối đều trong khoảng (0, 1), ta chỉ cầnvẽ biểu đồ tần số của dãy biến ngẫu nhiên vừa tạo Trong R, dùng

lệnh hist() để vẽ biểu đồ tần số.

Trang 16

1.3 BẢNG SỐ NGẪU NHIÊN

1.3 Bảng số ngẫu nhiên

Bảng số ngẫu nhiên đã được sử dụng cho các số liệu thống kê cho cáccông việc như chọn ngẫu nhiên các mẫu

Các bảng số ngẫu nhiên gồm các chữ số từ 0 đến 9, với tần số xảy raxấp xỉ bằng nhau Ở đây gồm 7 bảng

Cách sử dụng bảng số ngẫu nhiên

• Bảng số ngẫu nhiên gồm 7 bảng (từ bảng 1 đến bảng 7) Chúng tacó thể sử dụng ngày trong tuần để xác định bảng chọn lựa, hoặcchọn bảng 1 cho thí nghiệm đầu tiên, bảng 2 cho thí nghiệm thứhai,

• Chọn ngẫu nhiên một điểm trong bảng để bắt đầu tra (có thểnhắm mắt lại và di chuyển đầu bút chì đến một vị trí bất kỳ trongbảng tra, điểm bắt đầu tra là điểm ở ngay đầu bút chì)

• Chọn hướng để tra: có thể chọn một trong các hướng sau đây+ Từ trên xuống dưới (theo cột)

+ Từ dưới lên trên (theo cột)

+ Từ trái qua phải (theo dòng)

+ Từ phải qua trái (theo dòng)

+

Khi đã chuyển đến cuối một hàng hoặc cuối một cột thì phải chuyểnsang cột mới hoặc hàng mới (không được lựa chọn một cột hoặc mộthàng từ hai lần trở lên.)

Trang 17

1.3 BẢNG SỐ NGẪU NHIÊN

Ví dụ: Tạo kết quả gieo xúc xắc 11 lần.

Như đã biết khi gieo xúc xắc có thể xuất hiện một trong các mặt sau

A = { 1 chấm, 2 chấm, 3 chấm, 4 chấm, 5 chấm, 6 chấm }

Ta dùng bảng số ngẫu nhiên để thực hiện thí nghiệm này

Hôm nay là thứ năm nên ta chọn bảng 5

Chọn ngẫu nhiên dòng 6 cột 7: Ta thực hiện tra theo cột (từ trên xuốngdưới), bỏ qua những số nhỏ hơn 1 và lớn hơn 6 Ta được kết quả

Trang 18

Chương 2

TẠO BIẾN NGẪU NHIÊN RỜI RẠC

2.1 Phương pháp biến đổi ngược

= pj

Trang 19

2.1 PHƯƠNG PHÁP BIẾN ĐỔI NGƯỢC

Do đó, X có phân phối như mong muốn

Chú thích

1 Thuật toán (đã biết các xác suất p0, p1, và các giá trị x0, x1, )Tạo một số ngẫu nhiên U

Nếu U < p0 đặt X = x0 và dừng

Nếu p0 ≤ U < p0+ p1 đặt X = x1 và dừng

Nếu p0+ p1 ≤ U < p0 + p1+ p2 đặt X = x2 và dừng

pháp này gọi là phương pháp biến đổi ngược cho trường hợp tạo

biến ngẫu nhiên rời rạc.2

Thời gian cần thiết để tạo biến ngẫu nhiên rời rạc bằng phươngpháp biến đổi ngược tỷ lệ với số khoảng cần tìm Vì vậy nên xemxét các giá trị xj của X theo thứ tự các pj giảm dần

Ví dụ 2a Mô phỏng một biến ngẫu nhiên rời rạc X như sau

p1 = 0.20, p2 = 0.15, p3 = 0.25, p4 = 0.40 với pj = P {X = j}

Ta tạo số ngẫu nhiên U,

Trang 20

2.2 TẠO HOÁN VỊ NGẪU NHIÊN VÀ ỨNG DỤNG TRONG Y KHOA.

Nếu U < 0.2 đặt X = 1 và dừngNếu 0.2 ≤ U < 0.35 đặt X = 2 và dừngNếu 0.35 ≤ U < 0.60 đặt X = 3 và dừng

Nếu 0.60 ≤ U đặt X = 4Tuy nhiên có một phương pháp hiệu quả hơn như sau

Nếu U < 0.40 đặt X = 4 và dừngNếu 0.40 ≤ U < 0.65 đặt X = 3 và dừngNếu 0.65 ≤ U < 0.85 đặt X = 1 và dừng

Nếu 0.85 ≤ U đặt X = 2.2Trường hợp đặc biệt: Không cần tìm khoảng chứa số ngẫu nhiên khibiến ngẫu nhiên cần tìm có phân phối rời rạc đồng đều Nghĩa là, giảsử cần tạo giá trị của X , X nhận với cùng xác suất một trong các giá trị

1, 2, , n Tức, P {X = j} = 1/n, j = 1, , n Đầu tiên, tạo số ngẫunhiên U và đặt

X = j nếu j − 1

n ≤ U <

jnNên X = j nếu j − 1 ≤ nU < j; hoặc,

X = Int(nU ) + 1với Int(x) ký hiệu là [x] là phần nguyên của x (x − 1 < Int(x) ≤ x)

2.2 Tạo hoán vị ngẫu nhiên và ứng dụng trong y khoa.

Ví dụ 2b Tạo một hoán vị ngẫu nhiên

Yêu cầu: Tạo một hoán vị của các số 1, 2, , n

Trang 21

2.2 TẠO HOÁN VỊ NGẪU NHIÊN VÀ ỨNG DỤNG TRONG Y KHOA.

vị trí đó với một số ở vị trí n Tiếp theo, chọn một trong những vị tríthứ 1, 2, , n − 1 , sau đó thay đổi số trong vị trí đó với một số ở vị trí

n − 1, và tiếp tục đến khi kết thúc

Chú ý, có thể xem 0 ≤ U < 1, cho nên Int(kU) + 1 nhận giá trị bất kỳtrong các giá trị 1, 2, , k

Thuật toán tạo một hoán vị ngẫu nhiên:

Bước 1: Đặt P1, P2, , Pn là hoán vị bất kỳ của 1, 2, , n (có thể chọn

Pj = j, j = 1, 2, , n)

Bước 2: Đặt k = n

Bước 3: Tạo một số ngẫu nhiên U và đặt I = Int(kU) + 1

Bước 4: Đánh tráo giá trị của PI và Pk

Bước 5: Đặt k = k − 1 và nếu k > 1, quay lại bước 3

Bước 6: P1, P2, , Pn là hoán vị ngẫu nhiên mong muốn

Ví dụ: Trường hợp n = 4 và hoán vị ban đầu là 1, 2, 3, 4

Đầu tiên, đặt k = 4

Giá trị đầu tiên của I (I nhận các giá trị đồng khả năng 1, 2, 3, 4) là

Trang 22

2.2 TẠO HOÁN VỊ NGẪU NHIÊN VÀ ỨNG DỤNG TRONG Y KHOA.

I = 3 chẳng hạn, phần tử ở vị trí 3 và 4 được đổi chỗ nên có hoán vịmới là 1, 2, 4, 3

Tiếp theo, I = Int(3U) + 1, giả sử I = 2, phần tử ở vị trí 2 và 3 sẽ đượcđổi chỗ, hoán vị mới là 1, 4, 2, 3

Nếu giá trị cuối cùng (lúc này k = 2 và I = Int(2U) + 1) của I là I = 2,thì hoán vị cuối cùng là 1, 4, 2, 3 và đây chính là giá trị của hoán vịngẫu nhiên.2

Một tính chất quan trọng của thuật toán trên là còn tạo được mộttập con ngẫu nhiên với kích thước r, 1 ≤ r ≤ n Chỉ áp dụng thuậttoán khi vị trí n, n − 1, , n − r + 1 được lấp đầy Những phần tử trongnhững vị trí này thiết lập tập con ngẫu nhiên cần tìm (Ở đây ta cóthể giả sử r ≤ n/2 vì nếu r > n/2 thì có thể chọn một tập con ngẫunhiên có kích thước n − r và đặt những phần tử không nằm trong tậpcon này là một tập con ngẫu nhiên có kích thước r.)

Ứng dụng trong y khoa.

Tạo một tập con ngẫu nhiên rất quan trọng trong các phép thử thuộc

y khoa Ví dụ, một trung tâm y khoa có kế hoạch kiểm tra một loạithuốc mới làm giảm lượng chất béo trong máu Để kiểm tra hiệu quảcủa nó, trung tâm đã tuyển 1000 người tình nguyện để kiểm tra Hàmlượng chất béo trong máu của họ có thể bị ảnh hưởng bởi những nhântố bên ngoài khi kiểm tra (như thay đổi điều kiện thời tiết), dẫn đếnquyết định chia người tình nguyện thành hai nhóm, nhóm thử gồmcó 500 người, nhóm đối chứng còn lại 500 người sẽ dùng thuốc trấn

an (placebo) Những người tình nguyện và người chịu trách nhiệm đưathuốc đều không được biết ai thuộc nhóm nào (kiểm định hai chiều

bí mật) Vậy phải xác định nhóm những người tình nguyện được làm

Trang 23

2.2 TẠO HOÁN VỊ NGẪU NHIÊN VÀ ỨNG DỤNG TRONG Y KHOA.

nhóm thử

Ở đây, ta xác định yêu cầu của bài toán: "Có 1000 người mang mã sốtừ 1 đến n = 1000 Ta chia 1000 người này thành 2 nhóm, mỗi nhómcó 500 người để thực hiện cuộc thí nghiệm"

1000 và sử dụng hàm as.integer

> random < − runif (n)

> int < − as.interger(random*1000)

Bước 3: Xác định int là số chẵn hay lẻ bằng hàm %% và cho vào biếnodd Dùng hàm replace để chia nhóm: nếu odd là số lẻ, cho vào nhómA; nếu odd là số chẵn, cho vào nhóm B, và gọi nhóm bằng tên mới làgroup

> odd < − int %%2

> group < − odd

> group < − replace (group, odd ==1, "A")

> group < − replace (group, odd ==1, "B")

Bước 4: Dùng hàm data.frame để chứa tất cả số liệu có liên quan như

id và group vào một một dữ liệu có tên là grouping và in ra

> grouping < − data.frame(id, group)

Trang 24

2.2 TẠO HOÁN VỊ NGẪU NHIÊN VÀ ỨNG DỤNG TRONG Y KHOA.

Tóm lại, để tạo bảng gồm 500 mã số của những người lập thành nhómthử thuốc ta thực hiện như sau

Trang 25

2.2 TẠO HOÁN VỊ NGẪU NHIÊN VÀ ỨNG DỤNG TRONG Y KHOA.

> grouping < − data.frame(id, group)

Cột 1 ghi số thứ tự.

Cột 2 ghi mã số của từng người từ 1 đến 1000.

Trang 26

2.2 TẠO HOÁN VỊ NGẪU NHIÊN VÀ ỨNG DỤNG TRONG Y KHOA.

Cột 3 cho biết mỗi người sẽ được sắp vào nhóm nào trong hai nhóm A

hoặc B

Rõ ràng, người ta muốn nhóm thử và nhóm đối chứng giống nhau ở tấtcả các khía cạnh, chỉ trừ những thành viên ở nhóm thử nhận thuốc,trong khi những thành viên ở nhóm đối chứng nhận thuốc trấn an, dovậy, sau đó có thể kết luận bất kỳ phản ứng khác nhau giữa hai nhómthật ra là do thuốc Cách đề xuất tốt nhất là chọn 500 trong 1000 tìnhnguyện viên một cách hoàn toàn ngẫu nhiên để đưa vào nhóm thử,nghĩa là chọn một trong

 1000500

 tập con (cỡ 500) để làm nhóm thử.Trong 1000 người tham gia, chọn ngẫu nhiên 500 người thực hiện cuộcthí nghiệm

Bước 1: Lên danh sách từ 1 đến 1000, bằng cách thực hiện lệnh

Bước 3: In ra đối tượng vừa chọn lựa

> select

Chúng ta cần sắp xếp lại theo thứ tự để dễ làm việc hơn bằng cáchdùng lệnh

> sort (select)

Trang 27

2.2 TẠO HOÁN VỊ NGẪU NHIÊN VÀ ỨNG DỤNG TRONG Y KHOA.

Trang 28

2.2 TẠO HOÁN VỊ NGẪU NHIÊN VÀ ỨNG DỤNG TRONG Y KHOA.

ta sẽ được một danh sách hoàn toàn mới

Chú ý Một cách khác để tạo hoán vị ngẫu nhiên là tạo n số ngẫu

nhiên U1, U2, , Un, sắp xếp chúng theo thứ tự không giảm, và sử dụngnhững chỉ số của các giá trị kế tiếp để tạo thành một hoán vị ngẫunhiên Ví dụ, nếu n = 4, và U1 = 0.4, U2 = 0.1, U3 = 0.8, U4 = 0.7 thì

do U2 < U1 < U4 < U3, hoán vị ngẫu nhiên là 2, 1, 4, 3 Điểm khó củaphương pháp này là sắp thứ tự n số ngẫu nhiên yêu cầu làm nlog(n)lần so sánh.2

Ví dụ 2b Tính giá trị trung bình

Giả sử ta muốn tính a = Pn

i=1a(i)/n, với n lớn và a(i), i = 1, , n lànhững số phức tạp và khó tính Để tính a, lưu ý rằng nếu X là biến

Trang 29

2.2 TẠO HOÁN VỊ NGẪU NHIÊN VÀ ỨNG DỤNG TRONG Y KHOA.

ngẫu nhiên rời rạc có phân phối đều trên {1, , n}, thì biến ngẫunhiên a(X) có kỳ vọng cho bởi

Vì vậy, nếu tạo k biến ngẫu nhiên rời rạc có phân phối đều Xi, i =

1, , k bằng cách tạo k số ngẫu nhiên Ui và đặt Xi = Int(nUi) + 1 thìmỗi biến Xi sẽ có phân phối đều trên {1, , n} và mỗi biến số ngẫunhiên a(Xi) sẽ có kỳ vọng a, vậy theo luật mạnh số lớn khi k lớn thìtrung bình cộng của a(Xi), (i = 1, , k) sẽ xấp xỉ a Do đó

Trang 30

2.2 TẠO HOÁN VỊ NGẪU NHIÊN VÀ ỨNG DỤNG TRONG Y KHOA.

hoặc, tương đương với

qj < 1 − U ≤ qj−1Từ đó, ta có thể xác định X:

X = M in{j : qj < 1 − U }Mặt khác, ta có a < b thì log(a) < log(b), vậy

X = M in{j : j log(q) < log(1 − U )}

X = Int(log(1 − U )

log(q) ) + 1Cuối cùng, chú ý 1 − U cũng có phân phối đều trên khoảng (0, 1), nênsuy ra

X ≡ Int

log(U )log(q)

+ 1cũng là biến ngẫu nhiên có phân phối hình học với tham số p.2

Ví dụ 2d Tạo một dãy biến ngẫu nhiên độc lập có phân phối Bernoulli

Giả sử tạo n biến ngẫu nhiên X1, , Xn độc lập và có cùng phân phốiBernoulli với tham số p, bằng cách tạo n số ngẫu nhiên U1, , Un vàđặt

Trang 31

2.2 TẠO HOÁN VỊ NGẪU NHIÊN VÀ ỨNG DỤNG TRONG Y KHOA.

phân phối hình học N, bằng với số phép thử của lần thành công đầu

tiên khi tất cả phép thử có xác suất thành công là p

Giả sử, giá trị mô phỏng của N là N = j

Nếu j > n đặt Xi = 0, i = 1, , n;

Nếu j ≤ n đặt X1 = = Xj−1 = 0, Xj = 1;

và nếu j < n lặp lại phép toán trước đó để thu được giá trị của n − j

biến ngẫu nhiên Bernoulli còn lại

(Khi p > 1/2, bởi vì muốn cùng một lúc tạo nhiều biến ngẫu nhiên

Bernoulli, ta nên tạo số phép thử của phép thử đầu thất bại hơn là phép

thử đầu thành công)

Áp dụng khi các Xi độc lập nhưng không cùng phân phối Bernoulli

Ngoài ra, đặt pi = P {Xi = ui} và qi = 1 − pi Mô phỏng chuỗi Bernoulli

bằng cách tạo giá trị của X, với j = 1, , n

X =

j, nếu phép thử thứ j là phép thử đầu tiên, kết quả là thất bại

n + 1, nếu không có phép thử nào trong n phép thử kết quả là thất bạiĐể tạo X, đặt

qn+1 = 0,và

Trang 32

2.3 TẠO BIẾN NGẪU NHIÊN CÓ PHÂN PHỐI POISSON

Vì vậy, ta có thể mô phỏng X bằng cách tạo một số ngẫu nhiên U vàđặt

Nếu X = n + 1, mô phỏng dãy biến ngẫu nhiên Bernoulli là Xi =

1 − ui, i = 1, , n

Nếu X = j, j ≤ n, đặt Xi = 1 − ui, i = 1, , j − 1, Xj = uj; nếu j < nthì tạo những biến ngẫu nhiên còn lại Xj+1, , Xn theo cách tươngtự

2.3 Tạo biến ngẫu nhiên có phân phối Poisson

X là biến ngẫu nhiên có phân phối Poisson với tham số λ nếu

pi = P {X = i} = e−λλ

i

i!, i = 0, 1, Sử dụng phương pháp biến đổi ngược để tạo biến ngẫu nhiên có phânphối Poisson với tham số λ, với

pi+1 = λ

i + 1pi, i ≥ 0 (2.1)(i = i + 1, p = pi = P {X = i}, F = F (i) = P {X ≤ i})

Thuật toán biến đổi ngược để tạo một biến ngẫu nhiên có phân phốiPoisson với tham số λ như sau

Bước 1: Tạo số ngẫu nhiên U

Trang 33

2.3 TẠO BIẾN NGẪU NHIÊN CÓ PHÂN PHỐI POISSON

Để tạo một biến ngẫu nhiên có phân phối Poisson với tham số λ,

đầu tiên tạo một số ngẫu nhiên U và kiểm tra U < e−λ = p0 Nếu

U < e−λ = p0 thì đặt X = 0

Nếu U ≥ e−λ = p0 thì tính p1 trong bước 4 bằng cách sử dụng tính toán

đệ quy ở phương trình (2.1) Tiếp theo kiểm tra U < p0+ p1 và nếu xảy

ra thì đặt X = 1, và tiếp tục

Thuật toán lần lượt kiểm tra giá trị Poisson từ 0, 1, Số lần so sánh

là i + 1, trung bình cần 1 + λ lần kiểm tra Khi λ nhỏ thì tốt hơn khi

λ lớn Vì một biến ngẫu nhiên có phân phối Poisson với tham số λ sẽ

nhận một trong hai giá trị nguyên gần với λ, thuật toán còn hiệu quả

hơn ở chỗ, ngay lần đầu tiên ta kiểm tra từ một giá trị nào đó thay vì

phải kiểm tra bắt đầu từ 0

Ví dụ, đặt I = Int(λ) và sử dụng phương trình (2.1) để xác định F (I)

Bây giờ, tạo một biến ngẫu nhiên X có phân phối Poisson với tham số

λ bằng cách tạo một số ngẫu nhiên U, lưu ý xem X ≤ I hay không

bằng cách xem U ≤ F (I) hay không Sau đó, quá trình kiểm tra bắt

đầu từ I trở xuống trong trường hợp X ≤ I, và từ I + 1 trở lên trong

trường hợp ngược lại

Số lần kiểm tra trung bình của thuật toán ' 1 + E[|X − λ|]với X ∼ N(λ, λ)

= 1 +

√λE



|X − λ|

√λ



= 1 +

√λE[|Z|]với Z ∼ N(0, 1)

= 1 + 0.798

√λBây giờ, ta sẽ sử dụng thuật toán biến đổi ngược để tạo 10 biến ngẫu

nhiên có phân phối Poisson với λ = 2

>Poisson < − function(a){

Trang 34

2.3 TẠO BIẾN NGẪU NHIÊN CÓ PHÂN PHỐI POISSON

Trang 35

2.4 TẠO BIẾN NGẪU NHIÊN CÓ PHÂN PHỐI NHỊ THỨC

Ngoài ra, ta có thể sử dụng lệnh rpois được tích hợp sẵn trong R để tạo

10 biến ngẫu nhiên có phân phối Poisson với λ = 2

2.4 Tạo biến ngẫu nhiên có phân phối nhị thức

Giả sử ta muốn tạo một giá trị của biến ngẫu nhiên Xcó phân phối nhịthức theo tham số (n, p) có hàm mật độ xác suất xác định bởi

P {X = i} = n!

i!(n − 1)!p

i(1 − p)n−i, i = 0, 1, , nDùng phương pháp biến đổi ngược bằng cách sử dụng phép toán đệ quy

Bước 3: Nếu U < F , đặt X = i và dừng

Bước 4: pr = [c(n − i)/(i + 1)]pr, F = F + pr, i = i + 1

Bước 5: Trở lại bước 3

Thuật toán kiểm tra lần lượt các giá trị X từ 0, 1, , n Vì vậy, số lần

Trang 36

2.4 TẠO BIẾN NGẪU NHIÊN CÓ PHÂN PHỐI NHỊ THỨC

kiểm tra là i + 1 Cho nên, trung bình sẽ có 1 + np kiểm tra để tạo X.Một biến ngẫu nhiên có phân phối nhị thức (n, p) chỉ ra số lần thànhcông trong n phép thử, với xác suất thành công là p Bên cạnh đó, biếnngẫu nhiên có phân phối nhị thức cũng tìm được bằng cách tạo biếnngẫu nhiên có phân phối nhị thức (n, 1 − p) Vì, khi p > 1

2, có thể tạobiến ngẫu nhiên có phân phối nhị thức (n, 1 − p) bằng phương phápbiến đổi ngược và trừ đi giá trị của nó từ n để thu được giá trị mongmuốn

Ghi chú

1 Cách khác để tạo một biến ngẫu nhiên X có phân phối nhịthức (n, p) là dùng giải thích số lần thành công trong n phép thửBernoulli độc lập, khi mỗi phép thử có xác suất thành công là p

Do đó, ta cũng có thể mô phỏng X bằng cách tạo kết quả của nphép thử Bernoulli

2 Trong trường hợp biến ngẫu nhiên có phân phối Poisson, khi thamsố np lớn, tốt nhất đầu tiên xác định nếu giá trị được tạo nhỏ hơnhoặc bằng I ≡ Int(np) hoặc lớn hơn I , sau đó bắt đầu kiểm tra

I, I − 1, ; ngược lại thì bắt đầu kiểm tra từ I + 1 trở lên.2Tạo biến ngẫu nhiên có phân phối nhị thức với n = 7, p = 0.75

Trang 37

2.4 TẠO BIẾN NGẪU NHIÊN CÓ PHÂN PHỐI NHỊ THỨC

Trang 38

2.5 PHƯƠNG PHÁP CHẤP NHẬN − BÁC BỎ

2.5 Phương pháp chấp nhận − bác bỏ

Giả sử có một phương pháp hiệu quả để mô phỏng một biến ngẫu nhiêncó hàm phân phối xác suất {qj, j ≥ 0} Dựa trên biến mới tạo, môphỏng một biến ngẫu nhiên có hàm xác suất {pj, j ≥ 0} bằng cách:Đầu tiên mô phỏng biến ngẫu nhiên Y có hàm xác suất {qj}, sau đóchấp nhận giá trị mô phỏng này với xác suất tỷ lệ với pY

q Y Cụ thể, giả sử c là hằng số, sao cho:

pj

qj ≤ c, ∀j, pj > 0 (2.2)

Phương pháp này gọi là phương pháp bác bỏ hoặc phương pháp chấp

nhận bác bỏ để mô phỏng một biến ngẫu nhiên X có hàm phân phối

pj = P {X = j}

Phương pháp bác bỏ

Bước 1: Mô phỏng biến ngẫu nhiên Y có hàm mật độ xác suất qj.Bước 2: Tạo số ngẫu nhiên U, độc lập với Y

Bước 3: Nếu U < pY/cqY, lấy X = Y và dừng

Ngược lại, trở về bước 1

Bây giờ, chúng ta sẽ chứng minh phương pháp bác bỏ

Định lý Thuật toán chấp nhận - bác bỏ tạo một biến ngẫu nhiên X thỏa

P {X = j} = pj, j = 0,

Hơn nữa, số bước lặp lại cần thiết của thuật toán để thu được X là một biến ngẫu nhiên hình học với trung bình c.

Chứng minh

Trang 39

2.5 PHƯƠNG PHÁP CHẤP NHẬN − BÁC BỎ

Đầu tiên, xác định

P {Y = j,chấp nhận j} = P (Y = j)P (chấp nhận|Y = j)

= qj pj

cqj

= pjcLấy tổng tất cả những giá trị j mà xác suất để biến ngẫu nhiên đượctạo chấp nhận

c, chúng ta nhận thấy số bước lặp cần thiết là biến ngẫu nhiên cóphân phối hình học với trung bình c Do đó,

= pj2

Chú ý Chấp nhận giá trị Y với xác suất p Y

cq Y nghĩa là tạo một số ngẫunhiên U và chấp nhận Y nếu U ≤ p Y

cq Y

Ví dụ 2e Giả sử chúng ta muốn mô phỏng giá trị của một biến

ngẫu nhiên X, X nhận một trong các giá trị 1, 2, , 10 với xác suấttương ứng là 0.11, 0.12, 0.09, 0.08, 0.12, 0.10, 0.09, 0.09, 0.10, 0.10 Bên cạnhphương pháp biến đổi ngược thì phương pháp bác bỏ được sử dụngvới q là hàm mật độ của phân phối đều rời rạc trên 1, , 10, tức là,

qj = 1/10, j = 1, , 10 Với cách chọn {qj} như vậy, ta có thể chọn cbởi

c = M axpj

qj

= 1.2

Trang 40

2.6 PHƯƠNG PHÁP HỖN HỢP

và thuật toán như sau:

Bước 1: Tạo số ngẫu nhiên U1 và đặt Y = Int(10U1) + 1

Bước 2: Tạo số ngẫu nhiên thứ hai U2

Bước 3: Nếu U2 ≤ pY

0.12, lấy X = Y và dừng Ngược lại, trở về bước 1.Trong bước 3, 0.12 có được bằng cách tính cqY = 1.2/10 = 0.12 Trungbình, thuật toán này đòi hỏi 1.2 bước lặp để tạo giá trị X.2

2.6 Phương pháp hỗn hợp

Giả sử có một phương pháp hiệu quả để mô phỏng giá trị của một biếnngẫu nhiên có một trong hai hàm mật độ xác suất {p(1)

j , j ≥ 0} hoặc{p(2)j , j ≥ 0} và chúng ta muốn mô phỏng giá trị của biến ngẫu nhiên

X có hàm mật độ xác suất

P {X = j} = αp(1)j + (1 − α)p(2)j , j ≥ 0 (2.3)với 0 < α < 1

Một cách để mô phỏng biến ngẫu nhiên X , nếu X1 và X2 là biếnngẫu nhiên có hàm mật độ xác suất lần lượt là p(1)

j và p(2)

j , thì biếnngẫu nhiên X được định nghĩa

X =

X1 với xác suất α

X2 với xác suất 1 − αsẽ có hàm mật độ xác suất như (2.3) Từ đó, có thể tạo giá trị của biếnngẫu nhiên X bằng cách tạo số ngẫu nhiên U , sau đó tạo một giá trịcủa X1 nếu U < α và của X2 nếu U > α

Thuật toán:

Bước 1: Tạo số ngẫu nhiên U

Ngày đăng: 21/11/2015, 20:57

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Trần Lộc Hùng. (1997). Cơ sở mô phỏng ngẫu nhiên. NXB Giáo dục Khác
[2] Nguyễn Quý Hỷ. (2004). Phương pháp mô phỏng số Monte - Carlo.NXB ĐHQG Hà Nội Khác
[3] Nguyễn Văn Tuấn. (2007). Phân tích số liệu và tạo biểu đồ bằng R.NXB Khoa học và Kỹ thuật Khác
[4] Nguyễn Bác Văn. (1996). Xác suất và xử lý số liệu thống kê. NXB Giáo dục Khác
[5] B. Efron. (1979). Bootstrap methods: Another look at the Jackknife.The Annal of Statistics, Vol.7, No.1, 1 − 26 Khác
[6] C.Radhakrishna Rao. (2002). Linear Statistical Inference and Its Ap- plications, 2nd Ed. Wiley Series in Probability and Statistics Khác
[7] Jame E. Gentle. (2003). Random Number Generation and MonteCarlo Methods. Springer Publisher Khác
[8] Harald Niederreiter. (1992). Random Number and Quasi MonteCarlo Method. Library of Congress Cataloging − in − Publication Data Khác
[9] Sheldon M. Ross. (2006). Simulation. Elsevier Academic Press Publi- cations Khác

HÌNH ẢNH LIÊN QUAN

Hình minh họa phương pháp biến đổi ngược - MÔ PHỎNG THỐNG KÊ VÀ ỨNG DỤNG
Hình minh họa phương pháp biến đổi ngược (Trang 46)
Đồ thị hàm số P (Z 1 &lt; v). - MÔ PHỎNG THỐNG KÊ VÀ ỨNG DỤNG
th ị hàm số P (Z 1 &lt; v) (Trang 77)
Hình học dgeom (x, p) pgeom (q, p) - MÔ PHỎNG THỐNG KÊ VÀ ỨNG DỤNG
Hình h ọc dgeom (x, p) pgeom (q, p) (Trang 92)
Bảng số ngẫu nhiên - MÔ PHỎNG THỐNG KÊ VÀ ỨNG DỤNG
Bảng s ố ngẫu nhiên (Trang 102)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w