[MPKD3] Mô phỏng trên bảng tính

56
MÔ PHỎNG TRÊN BẢNG TÍNH

Transcript of [MPKD3] Mô phỏng trên bảng tính

Page 1: [MPKD3] Mô phỏng trên bảng tính

MÔ PHỎNG TRÊN BẢNG TÍNH

Page 2: [MPKD3] Mô phỏng trên bảng tính

NỘI DUNG

Phần mềm mô phỏng

Mô phỏng bằng Excel

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

Các hàm/công cụ phát số ngẫu nhiên

Mô phỏng bằng Crystal Ball

2

Page 3: [MPKD3] Mô phỏng trên bảng tính

Vị trí của mô phỏng

Các mô hình định lượng (bao gồm OR/MS, Statistics &

Data mining)

3

Loạimô

hình

Dạnghàm của

biến phụ thuộc

Giátrị của

các biến độc lậpCáckỹ thuật điển hình

Chính tắc/chỉ

dẫn/tối ưu

(Prescriptive)

Đã biết, được

định nghĩa rõ

ràng

Đãbiết hoặc trong sự

kiểm soát của người ra

quyết định

Quy hoạchtoán học (tối ưu)

CPM (Critical Path Method)

EOQ (Econimic Order Quantity)

Mô tả

(Descriptive)

Đã biết, được

định nghĩa rõ

ràng

Chưabiết hoặc bất

định

Môphỏng (simulation)

Hàng đợi (waiting lines/queuing)

Phân tích Markov

PERT (Pro Eval Rev Tech)

Phân tích cụm (cluster)

Phân tích quyết định (bảng/cây QĐ)

Dựbáo

(Predictive)

Chưabiết, được

định nghĩa

không rõ ràng

Đãbiết hoặc trong sự

kiểm soát của người ra

quyết định

Phân tích hồi quy (regression)

Phân tích chuỗi thời gian (time series)

Phân tích phân biệt (discriminant)

ANN (artificial neural networks)

Các mô hình định lượng (bao gồm OR/MS, Statistics & Data mining)

Page 4: [MPKD3] Mô phỏng trên bảng tính

Phần mềm mô phỏng

Excel

Crystall Ball

@RISK

Risk Solver

SLAM

Extend

SIMSCRIPT

GPSS

Arena

FlexSim

SimWiz

Quen thuộc

Các tính năng:

• Cập nhật động

• Đồ họa

• Thống kê

• Phân tích what-if

4

Page 5: [MPKD3] Mô phỏng trên bảng tính

Mô phỏng bằng Excel

Bảng tính Excel

Các hàm/công cụ phát số ngẫu nhiên

Các công cụ phân tích what-if

Các add-in mô phỏng chuyên dụng

• Oracle’s Crystall Ball

• Palisade’s @RISK

• Frontline’ Risk Solver

• …

5

Page 6: [MPKD3] Mô phỏng trên bảng tính

Các công cụ phân tích what-if

Ví dụ: Một người kinh doanh một mặt hàng A có giá

mua là $8 và giá bán là $10. Hai yếu tố này mang tính

chất rủi ro/bất định. Xét sự biến động của lợi nhuận?

Các công cụ phân tích what-if trong Excel:

Data Table

Scenario Manager

Goal Seek

Solver

6

Page 7: [MPKD3] Mô phỏng trên bảng tính

Các hàm thống kê

7

Page 8: [MPKD3] Mô phỏng trên bảng tính

Dạng thức tổng quát

Hàm phân phối tổng quát có dạng:• =DIST(x_value, distribution_parameters, cumulative_value)

Hàm phân phối nghịch đảo tổng quát có dạng:• =DISTINV(probability, distribution_parameters)

Ví dụ:

NORMDIST NORMINV=NORMDIST(25,20,3,TRUE) =NORMINV(.55,20,3)Trả về P(X25) khi m = 20 Trả về x0 sao cho P(Xx0)=.55 và s = 3 khi m = 20 và s = 3

NORMSDIST NORMSINV=NORMSDIST(1.78) =NORMSINV(.55)Trả về P(Z1.78) Trả về z0 sao cho P(Zz0)=.55

POISSON=POISSON(7,5,TRUE)

Trả về P(X7) với l = 5

Các hàm phân phối xác suất8

21

21( )

2

m

s

s

x

f x e

( ) ; 0,1,2,...!

ll

ke

f k kk

2

21

( )2

z

f z e

Standard Normal

Normal

Poisson

Page 9: [MPKD3] Mô phỏng trên bảng tính

Phát số ngẫu nhiên

Phát số ngẫu nhiên phân phối đều trong khoảng

[0,1)

=RAND()

Phát số nguyên ngẫu nhiên phân phối đều trong

khoảng [a,b]

=RANDBETWEEN(a,b)

Phát số ngẫu nhiên phân phối đều trong khoảng

[a,b]?

9

Page 10: [MPKD3] Mô phỏng trên bảng tính

Phát số ngẫu nhiên

Mặc định, giá trị của các ô chứa hàm RAND()

sẽ thay đổi sau mỗi hoạt động trên Excel

Gõ RAND() rồi nhấn F9

10

Page 11: [MPKD3] Mô phỏng trên bảng tính

Tắt tính năng tự động tính toán lại: File > Options > Formulas,

chọn Manual

Khi cần tính tính toán lại: Nhấn F9

11

Page 12: [MPKD3] Mô phỏng trên bảng tính

Phát số ngẫu nhiên

Về mặt nguyên tắc, có thể phát một số ngẫu

nhiên có phân phối bất kỳ thông qua số ngẫu

nhiên phân phối đều U(0,1).

Ví dụ:

Số ngẫu nhiên phân phối đều U(a,b)

f(x) = 1/(b-a) F(x) = (x-a)/(b-a)

=RAND()*(b-a)+a

sử dụng hàm INT khi cần số nguyên

Số ngẫu nhiên phân phối mũ E(m)

f(x) = m e-mx F(x) = 1-e-mx

=-(1/m)*ln(RAND())

12

Page 13: [MPKD3] Mô phỏng trên bảng tính

F(x0)

F(x0)

F-1(U(0,1))

x0 F-1(U(0,1)) x

F(x)

13

U(0,1)

Page 14: [MPKD3] Mô phỏng trên bảng tính

Phát số ngẫu nhiên

Để phát ra một số ngẫu nhiên thuộc một phân

phối cụ thể, có thể sử dụng hàm phân phối

nghịch đảo (inverse distribution function).

=DISTINV(probability, distribution_parameters)

Sử dụng hàm RAND() làm giá trị cho tham số

probability (nhằm phát ra một số nằm giữa 0 và

1). Ví dụ: Để phát số ngẫu nhiên phân phối

chuẩn, có thể sử dụng công thức như sau:

=NORMINV(RAND(), mean, standard_dev)

14

Page 15: [MPKD3] Mô phỏng trên bảng tính

Phát số ngẫu nhiên

Bài tập: Phát ra 10 số ngẫu nhiên tuân theo phân phối

chuẩn với trung bình là 50 và độ lệch chuẩn là 15

=NORMINV(RAND(),50,15)

15

Page 16: [MPKD3] Mô phỏng trên bảng tính

Data > Data Analysis Random Number Generation

16

Page 17: [MPKD3] Mô phỏng trên bảng tính

Trả về xi+1 nếu P(xi) U(0,1) < P(xi+1)

xi

U(0,1)

P(x)

xxi+1

P(xi)

P(xi+1)

17

Page 18: [MPKD3] Mô phỏng trên bảng tính

Phát số ngẫu nhiên

18

Bài tập: Phát ra 10 số

ngẫu nhiên có quy luật

phân phối xác suất theo

bảng sau:

Page 19: [MPKD3] Mô phỏng trên bảng tính

Data > Data Analysis > Random Number Generation

19

Page 20: [MPKD3] Mô phỏng trên bảng tính

Tìm phân phối phù hợp

Các bước theo lý thuyết:

Xây dựng biểu đồ tần suất từ dữ liệu

Chọn phân phối xác suất có hình dáng hàm mật độ xác suất giống

với biểu đồ tần suất nhất

Ước lượng các tham số của phân phối xác suất

Kiểm định Goodness-of-Fit (Thích hợp tốt)

• Chi-Square (>0.5)

• Kolmogorov-Smirnov (<0.03)

• Anderson-Darling (<1.5)

Sử dụng công cụ cho nhanh: Crystal Ball, @RISK, EasyFit,…

Bài tập: Tìm phân phối xác suất phù hợp với dữ liệu trong file

C:\Program Files\Oracle\Crystal Ball\Examples\TESTDATA.txt

20

Page 21: [MPKD3] Mô phỏng trên bảng tính

Tìm phân phối phù hợp

22

Lập bảng và vẽ biểu đồ tần số:

Data > Analysis >

Data Analysis > Histogram

Page 22: [MPKD3] Mô phỏng trên bảng tính

Tìm phân phối phù hợp

23

Lập bảng tần số:

=FREQUENCY(data,bins)

Giới

hạn

trên

Page 23: [MPKD3] Mô phỏng trên bảng tính

Tìm phân phối phù hợp

24

Lập bảng và vẽ biểu đồ tần số:

Insert > Tables > Pivot Table

Page 24: [MPKD3] Mô phỏng trên bảng tính

25

Page 25: [MPKD3] Mô phỏng trên bảng tính

Tìm phân phối phù hợp

Không có dữ liệu quá khứ

Kinh nghiệm, ý kiến chuyên gia. Ví dụ:

Phân phối Poisson thường được sử dụng để mô

tả các sự kiện độc lập xảy ra với cường độ là hằng

số. Ví dụ: Sinh viên đến trạm xe buýt với cường

độ 0.8 sinh viên/phút

Phân phối mũ thường được sử dụng để mô tả

thời gian phục vụ.

Biết cận trên và cận dưới [a,b] phân phối đều

Biết cận trên và cận dưới [a,b], một số c[a,b] có

khả năng xuất hiện cao phân phối tam giác

26

Page 26: [MPKD3] Mô phỏng trên bảng tính

Mô phỏng bằng Excel

Phát số ngẫu nhiên phân phối đều

=RAND() [0,1)

=RANDBETWEEN(a,b)

Phát số ngẫu nhiên thuộc vài phân

phối khác

Hàm phân phối nghịch đảo

Data > Analysis > Data Analysis

> Random Number Generation

Lập bảng tần số (để tìm phân phối

phù hợp)

=FREQUENCY(data,bins)

Data > Analysis >

Data Analysis > Histogram

Insert > Tables > PivotTable

27

Page 27: [MPKD3] Mô phỏng trên bảng tính

Mô phỏng tung đồng xu

Hai mặt “Sấp” và “Ngửa” xuất hiện ngẫu nhiên

với xác suất bằng nhau (=0.5)

=IF(RAND()<0.5,“Sấp”,“Ngửa”)

28

Page 28: [MPKD3] Mô phỏng trên bảng tính

Mô phỏng tung xúc sắc

Các giá trị 1, 2, 3, 4, 5, 6 xuất hiện ngẫu nhiên với

xác suất bằng nhau (=1/6)

Nếu 6*RAND() nằm INT(6*RAND())+1

trong khoảng: trả về giá trị:

0.0 0.999 1

1.0 1.999 2

2.0 2.999 3

3.0 3.999 4

4.0 4.999 5

5.0 5.999 6

=INT(6*RAND())+1

=RANDBETWEEN(1,6)

29

Page 29: [MPKD3] Mô phỏng trên bảng tính

Bài toán cửa hàng tivi

Quan sát doanh số bán máy truyền hình của 30 ngày ở

một cửa hàng nọ, người chủ cửa hàng thấy được:

Người chủ muốn mô phỏng doanh số bán trong tương

lai. Tính lợi nhuận biết biến phí là 2 triệu/TV, giá bán 3

triệu/TV, định phí 5 triệu/ngày.

Số hàng bán Số ngày bán

4 5

5 8

6 10

7 7

30

Page 30: [MPKD3] Mô phỏng trên bảng tính

Mô phỏng bằng Crystal Ball

Mở rộng khả năng dự báo của mô hình bảng tính: Cung

cấp các thông tin dự báo cần thiết hỗ trợ ra quyết định

với độ chính xác cao hơn, hiệu quả và tin cậy hơn.

Thuận lợi của việc sử dụng Crystal Ball

Quản lý quá trình phát ra số ngẫu nhiên thông qua

định nghĩa phân phối xác suất

Quản lý quá trình lặp

Hiển thị kết quả ở dạng đồ thị

Phân tích độ nhạy

Tìm phân phối phù hợp

Cho phép sự tương quan giữa các biến

Mở rộng Solver bằng OptQuest

31

Page 31: [MPKD3] Mô phỏng trên bảng tính

Kiểm định Goodness-of-Fit (Thích hợp tốt)

•Chi-Square (>0.5)

•Kolmogorov-Smirnov (<0.03)

•Anderson-Darling (<1.5)

32

Page 32: [MPKD3] Mô phỏng trên bảng tính

33

Page 33: [MPKD3] Mô phỏng trên bảng tính

Phân tích độ nhạy

Ô giả thiết

Ô giả thiết

Ô dự báo

Ô dự báo

Độ nhạy (sensitivity) là độ lớn của sự không chắc chắn trong các ô dự báo gây ra

do bởi cả sự không chắc chắn và độ nhạy của các ô giả thiết trong mô hình.

34

Page 34: [MPKD3] Mô phỏng trên bảng tính

C:\Program Files\Oracle\Crystal Ball\Examples\Toxic Waste Site.xls

Độ nhạy cao nhất Giả thiết quan trọng

nhất trong mô hình cần khảo sát thêm

giả thiết này nhằm giảm độ không chắc

chắn, từ đó giảm ảnh hưởng đến mục

tiêu dự báoĐộ nhạy thấp nhất Giả thiết kém quan

trọng nhất trong mô hình ảnh hưởng

không lớn đến mục tiêu dự báo có thể

bỏ qua và loại hẳn khỏi mô hình

35

Page 35: [MPKD3] Mô phỏng trên bảng tính

36

Page 36: [MPKD3] Mô phỏng trên bảng tính

Một số phân phối thông dụng

Phân phối liên tục (Continuous)

Phân phối đều (Uniform)

Phân phối chuẩn (Normal)

Phân phối tam giác (Triangular)

Phân phối mũ (Exponential)

Phân phối rời rạc (Discrete)

Phân phối Yes-No (Bernoulli)

Phân phối đều rời rạc (Discrete Uniform)

Phân phối nhị thức (Binominal)

Phân phối Poisson

Phân phối hình học (Geometric)

Phân phối siêu bội (Hypergeometric)

Phân phối tùy biến (Custom)

37

Page 37: [MPKD3] Mô phỏng trên bảng tính

Phân phối tùy biến (Custom)

Giúp ta xây dựng phân phối phù hợp với từng tình

huống đặc thù (không thể mô tả bằng các phân phối

thông dụng có sẵn)

Có thể mô tả một chuỗi các giá trị riêng lẻ, những

khoảng rời rạc hoặc những khoảng liên tục

Range 1st Param. 2nd Param. 3rd Param. 4th Param. 5th Param.

Unweighted Values Value -- -- -- --

Weighted Values Value Probability

Continuous Ranges Minimum Maximum Probability

Discrete Ranges Minimum Maximum Probability Step

Sloping Ranges Minimum Maximum Height of Min. Height of Max. Step

38

Page 38: [MPKD3] Mô phỏng trên bảng tính

39

Chi phí bán lẻ có thể

có cho một sản phẩm

mới sẽ là 5$, 8$ hoặc

10$

Page 39: [MPKD3] Mô phỏng trên bảng tính

75% cơ hội sẽ là một

giá trị nào đó trong

khoảng 5$, 15$;

25% cơ hội sẽ là một

giá trị nào đó trong

khoảng 15$, 25$

40

Page 40: [MPKD3] Mô phỏng trên bảng tính

75% cơ hội sẽ là lượng

tiền giữa 5$, 15$;

25% cơ hội sẽ là lượng

tiền giữa 16$, 20$

41

Page 41: [MPKD3] Mô phỏng trên bảng tính

Một bài toán cực kỳ đơn giản

Một người kinh doanh một mặt hàng A có giá

mua là $8 và giá bán là $10.

Hãy phân tích sự thay đổi của tiền lời khi giá

mua và giá bán thay đổi. Biết rằng giá mua có

dạng phân phối chuẩn N(m=8, s2=4), giá bán có

dạng phân phối chuẩn N(m=10, s2=4).

Hãy cho biết khả năng lỗ là bao nhiêu phần

trăm?

42

Page 42: [MPKD3] Mô phỏng trên bảng tính

Quá trình mô phỏng với Crystal Ball

43

1. Lập mô hình trên bảng tính Excel

2. Khai báo các biến giả thiết

3. Khai báo các biến dự báo

4. Khai báo các thông số mô phỏng

5. Chạy mô phỏng

6. Xem xét kết quả mô phỏng

7. Tạo báo cáo

Page 43: [MPKD3] Mô phỏng trên bảng tính

1. Lập mô hình trên bảng tính

44

Để trống? Hằng số?

Công thức?

Ba loại biến

Biến giả thiết (assumption)

Biến dự báo (forecast)

Biến quyết định (decision) bàn sau!

Page 44: [MPKD3] Mô phỏng trên bảng tính

2. Khai báo biến giả thiết (Giá mua)

Vào Crytall Ball Define Define Assumption

45

Chọn kiểu

phân phối xác

xuất và nhập

các thông số

tương ứng

Page 45: [MPKD3] Mô phỏng trên bảng tính

2. Khai báo biến giả thiết (Giá bán)

Vào Crytall Ball Define Define Assumption

46

Chọn kiểu

phân phối xác

xuất và nhập

các thông số

tương ứng

Page 46: [MPKD3] Mô phỏng trên bảng tính

3. Khai báo biến dự báo (Lợi nhuận)

Vào Crytall Ball Define Define Forecast

47

Nhập tên,

đơn vị tính

Chọn More

để khai báo

thêm

Page 47: [MPKD3] Mô phỏng trên bảng tính

4. Khai báo các thông số

Vào Crystal Ball Run Run References

Khai báo số lần mô phỏng, giá trị hạt nhân ban đầu,

chế độ màn hình khi chạy...

48

Page 48: [MPKD3] Mô phỏng trên bảng tính

5. Chạy mô phỏng

Vào Crystal Ball Run Start

49

Page 49: [MPKD3] Mô phỏng trên bảng tính

6. Xem kết quả

Các kết quả được thể hiện ở nhiều dạng khác nhau:

50

Page 50: [MPKD3] Mô phỏng trên bảng tính

7. Tạo báo cáo

Vào Crystal Ball

Analyze

Create Report

kiểu report

Chọn Full để

Crystal Ball tạo

báo cáo đầy đủ

nhất

51

Page 51: [MPKD3] Mô phỏng trên bảng tính

52

Page 52: [MPKD3] Mô phỏng trên bảng tính

53

Page 53: [MPKD3] Mô phỏng trên bảng tính

54

Page 54: [MPKD3] Mô phỏng trên bảng tính

Kiểm định Goodness-of-Fit (Thích hợp tốt)

•Chi-Square (>0.5)

•Kolmogorov-Smirnov (<0.03)

•Anderson-Darling (<1.5)

55

Page 55: [MPKD3] Mô phỏng trên bảng tính

56

Page 56: [MPKD3] Mô phỏng trên bảng tính

-HẾT-