Mục lục
Trả lời ngắn: Sensitivity Analysis nâng cao, hay phân tích độ nhạy nâng cao, là cách kiểm output thay đổi ra sao khi nhiều input, range hoặc giả định mô hình thay đổi. Nó không chỉ xếp driver bằng một bảng ±10%, mà còn kiểm interaction, tính hợp lý của tổ hợp, decision threshold và model risk.
Đọc xong, bạn sẽ hiểu:
- Khi nào OAT hữu ích và khi nào nó bỏ sót interaction.
- Cách thiết kế range, tornado và matrix hai chiều có thể audit.
- Cách dùng threshold và stop rule trước khi tin kết quả.
Lưu ý giáo dục: Công ty, công thức và số liệu trong bài đều là demo. Đây không phải mô hình định giá, tín hiệu hay khuyến nghị mua/bán; quyết định tài chính có rủi ro mất vốn.
1. Sensitivity Analysis nâng cao là gì?
a. Bắt đầu từ output, không bắt đầu từ ô Excel
Output là kết quả mô hình cần kiểm. Driver, hay input, là biến hoặc giả định được thay đổi. Range là miền giá trị thấp–base–cao có thể bảo vệ bằng dữ liệu, giới hạn vận hành hoặc kịch bản.
US EPA định nghĩa sensitivity analysis là tính tác động của thay đổi input hoặc giả định — gồm biên và dạng công thức — lên output. Uncertainty analysis xem ảnh hưởng của phần thiếu hiểu biết hoặc sai số. US EPA
Sensitivity hỏi “nếu input đổi thì output đổi thế nào?”. Uncertainty hỏi “input có thể nằm ở đâu?”. Hai câu không phải một.
b. Khóa câu hỏi và threshold
Case demo dùng một mô hình lợi nhuận đơn giản:
Profit = Volume × (Price − Unit cost) − Fixed cost
Base:
100 × (12 − 8) − 200 = 200
Trước khi thay số, phải khóa câu hỏi: “Driver/range nào làm Profit demo đổi nhiều nhất, tổ hợp nào làm Profit xuống dưới 100, và input nào chạm break-even?”
Decision threshold là mức output làm cách xử lý nghiên cứu đổi. Ta dùng hai threshold demo:
Profit = 0: break-even.Profit = 100: ngưỡng cần dừng và xem lại giả định.
Threshold chỉ cho biết vùng cần thêm evidence hoặc chưa được phép kết luận.
c. Quy trình đầy đủ
Một sensitivity analysis có thể đọc được cần đi theo chuỗi:
QUESTION → OUTPUT + THRESHOLD → DRIVERS + RANGES → OAT → INTERACTION GRID → PLAUSIBILITY CHECK → MODEL REVIEW
Nhảy thẳng tới tornado dễ cho biểu đồ đẹp nhưng trả lời sai; range vô căn cứ tạo ranking vô căn cứ.
Hình 1 — Sensitivity có giá trị khi câu hỏi, range, interaction và ngưỡng được khóa trước khi đọc kết quả.
2. Local OAT và tornado: đọc đúng, không thần thánh
a. One-at-a-time là gì?
One-at-a-time (OAT) là đổi một input, giữ các input khác ở base. Đây là local sensitivity khi ta kiểm hành vi quanh một điểm base và trong range hẹp.
Ranges demo:
| Driver | Low | Base | High |
|---|---|---|---|
| Price | 10 | 12 | 14 |
| Unit cost | 7 | 8 | 9 |
| Volume | 80 | 100 | 120 |
| Fixed cost | 180 | 200 | 220 |
Không phải mọi range đều ±10%. Price, Volume, Unit cost và Fixed cost cần range theo dữ liệu/ràng buộc riêng; ở đây chỉ là demo.
b. Tính bốn nhánh OAT
Giữ ba input khác ở base:
Price
- Low
10:100 × (10−8)−200 = 0. - High
14:100 × (14−8)−200 = 400. - So base
200: tác động−200/+200.
Unit cost
- Low
7:100 × (12−7)−200 = 300. - High
9:100 × (12−9)−200 = 100. - Tác động
+100/−100.
Volume
- Low
80:80 × (12−8)−200 = 120. - High
120:120 × (12−8)−200 = 280. - Tác động
−80/+80.
Fixed cost
- Low
180:100 × (12−8)−180 = 220. - High
220:100 × (12−8)−220 = 180. - Tác động
+20/−20.
Trong range đã chọn, Price tạo khoảng output rộng nhất, tiếp theo là Unit cost, Volume và Fixed cost.
c. Tornado chart nói gì?
Tornado chart xếp các khoảng output OAT quanh base theo độ rộng để chọn input cần điều tra thêm.
Hình 2 — Tornado chỉ xếp độ rộng output trong range đã chọn; nó không chứng minh driver quan trọng nhất trong mọi trạng thái.
Đổi Price thành 11,5–12,5 làm thanh Price ngắn; mở Fixed cost thành 100–300 làm thanh đó dài. Ranking phụ thuộc range và công thức.
OAT/đạo hàm có thể khám phá ít miền input và bỏ interaction trong mô hình phi tuyến hoặc không cộng tính. Saltelli, 1999 OAT vẫn hữu ích để chẩn đoán cục bộ.
3. Interaction và hai chiều: nơi OAT bỏ sót
a. Matrix Price × Volume
Interaction effect xuất hiện khi tác động của một driver thay đổi theo driver khác. Với công thức demo, tác động của Price lên Profit được nhân với Volume. Price và Volume có interaction ngay trong cấu trúc.
Giữ Unit cost 8, Fixed cost 200:
| Price \ Volume | 80 | 100 | 120 |
|---|---|---|---|
| 10 | -40 | 0 | 40 |
| 12 | 120 | 200 | 280 |
| 14 | 280 | 400 | 520 |
Base là 200; góc low/low −40, high/high 520. OAT cho từng lát cắt; matrix cho bề mặt hai chiều.
Hình 3 — Matrix hai chiều lộ ra vùng gãy và vùng cao mà từng lát OAT riêng không thể hiện đầy đủ.
b. Cell tính được chưa chắc xảy ra được
Cell Price 14, Volume 120 cho 520, nhưng có hợp lý không? Giá tăng có thể làm volume giảm. Công suất có thể chặn volume 120. Hợp đồng có thể khiến Price và Unit cost cùng đổi.
Vì thế cần plausibility check, tức kiểm:
- Input có quan hệ phụ thuộc/ràng buộc logic không?
- Range có cùng kỳ đo/đơn vị không?
- Tổ hợp có vi phạm công suất hoặc hợp đồng không?
Không được xóa cell chỉ vì nó xấu. Hãy đánh dấu infeasible, unsupported hoặc needs evidence, rồi ghi lý do.
c. Break-even và vùng quyết định
Tại Volume 100, Unit cost 8, Fixed cost 200, giải:
0 = 100 × (Price − 8) − 200
Price break-even = 10
Price 10/Volume 100 bằng 0. Với threshold 100, cả hàng Price 10 nằm dưới ngưỡng: −40, 0, 40; đây là vùng dừng kiểm model/evidence.
4. Sai lầm, giới hạn và model risk
a. Sáu lỗi phổ biến
- Cho mọi input cùng
±10%dù ý nghĩa/ràng buộc khác nhau. - Chọn range sau khi thấy output để bảo vệ kết luận mong muốn.
- Gọi thanh tornado dài nhất là “driver quan trọng nhất” mà không nói range.
- Bỏ interaction, correlation và infeasible combinations.
- Trộn sensitivity với probability: cell high không tự có xác suất cao.
- Báo số lẻ dày đặc dù input chỉ là estimate thô.
Một tổng quan hệ thống ghi nhận nhiều sensitivity analysis dùng phương pháp/diễn giải không phù hợp mục tiêu. Saltelli et al. Vì vậy phải ghi rõ range và giới hạn.
b. Model risk nằm ngoài các ô input
Model risk là rủi ro do công thức, cấu trúc hoặc giả định của mô hình. Model Profit demo giả định:
- Price/Unit cost là số bình quân; volume bán bằng volume sản xuất.
- Fixed cost không đổi; chưa có thuế, vốn lưu động hoặc điểm gãy.
Nếu công thức thiếu hoàn tiền, tỷ lệ rời bỏ hay chi phí bậc thang, thử input chính xác vẫn không sửa được cấu trúc sai. Phương pháp sensitivity phụ thuộc loại mô hình và mục tiêu. NIST TN 2254
c. Local khác global
Global sensitivity khám phá nhiều input trên toàn miền; phương pháp dựa trên phương sai có thể tách tác động riêng/tương tác. GSA Primer
Bài này không tính Sobol/Monte Carlo. Matrix 3×3 chỉ giúp thấy vấn đề; đừng gọi vài góc biên là “global”.
5. Checklist từ question tới stop rule
a. Tám bước
- Viết câu hỏi quyết định bằng một câu.
- Khóa output, đơn vị, horizon và threshold.
- Reconcile base output với dữ liệu/model gốc.
- Liệt kê driver, người phụ trách và nguồn của từng input.
- Thiết kế low/base/high bằng evidence hoặc constraint.
- Chạy OAT, ghi formula và xếp tornado trong đúng range.
- Chọn cặp interaction quan trọng; kiểm correlation và feasibility.
- Ghi kết luận nào bền, kết luận nào đổi, và evidence cần lấy thêm.
b. Range register tối thiểu
Mỗi driver cần một dòng:
| Driver | Low/Base/High | Lý do | Ngày nguồn | Ràng buộc | Phụ trách |
|---|---|---|---|---|---|
| Price | 10/12/14 | Khoảng demo | N/A demo | Không dưới contract floor | Research |
| Volume | 80/100/120 | Công suất demo | N/A demo | Max 120 | Operations |
Không có lý do thì range là trang trí. Nguồn khác kỳ đo phải được đánh dấu.
c. Khi phải dừng
Dừng sensitivity conclusion nếu:
- Base không reconcile.
- Một range chính không có nguồn/rationale.
- Output đổi do lỗi đơn vị hoặc formula.
- Cell quyết định vi phạm constraint.
- Driver ranking đảo hoàn toàn dưới các range hợp lý mà report chỉ chọn một.
Đứng ngoài khi vùng dưới threshold chưa có evidence để loại trừ. Model chạy được chưa chắc dùng được.
6. Bài tập 15 phút: Sensitivity Sheet
a. Công cụ miễn phí và setup
Dùng Google Sheets với bốn input và một output demo. Chưa dùng tiền thật hoặc đặt lệnh.
b. Mẫu đối chiếu đã điền
| Driver | Low | Base | High | Output low | Output high |
|---|---|---|---|---|---|
| Price | 10 | 12 | 14 | 0 | 400 |
| Unit cost | 7 | 8 | 9 | 300 | 100 |
| Volume | 80 | 100 | 120 | 120 | 280 |
| Fixed cost | 180 | 200 | 220 | 220 | 180 |
Sau đó nhập matrix:
| Price \ Volume | 80 | 100 | 120 |
|---|---|---|---|
| 10 | -40 | 0 | 40 |
| 12 | 120 | 200 | 280 |
| 14 | 280 | 400 | 520 |
c. Kết quả mong đợi
Trong 15 phút, bạn phải:
- Reconcile base
200. - Tính đúng tám OAT outputs.
- Chỉ ra Price có thanh rộng nhất trong ranges demo.
- Đánh dấu ba cell Price
10dưới threshold100. - Viết một câu: “Price×Volume có interaction; high/high cần plausibility check.”
Nếu sheet không cho đúng −40, 200, 520, dừng và sửa công thức trước khi diễn giải. Không được uốn range để tránh output âm.
7. Tổng kết
a. Năm ý chính
- Sensitivity bắt đầu từ output, question và threshold.
- OAT là local diagnostic hữu ích, nhưng ranking phụ thuộc range.
- Interaction và correlation có thể tạo vùng OAT không thấy.
- Range phải có rationale; cell tính được chưa chắc plausible.
- Model risk không biến mất khi bảng và biểu đồ tính đúng.
b. Câu hỏi tự kiểm tra
- Vì sao thanh tornado dài nhất chưa chứng minh driver quan trọng nhất tuyệt đối?
- Profit base của case demo bằng bao nhiêu?
- Vì sao Price
14/Volume120cần plausibility check? - Khi nào phải dừng trước khi diễn giải sensitivity?
c. Gợi ý đáp án
Xem gợi ý câu 1
Vì độ dài phụ thuộc range, unit, base và formula đã chọn. Xem mục 2.Xem gợi ý câu 2
`100 × (12−8)−200 = 200`. Xem mục 1–2.Xem gợi ý câu 3
Price và Volume có thể tương quan ngược hoặc bị ràng buộc công suất. Xem mục 3.Xem gợi ý câu 4
Dừng khi base/range/formula/constraint chính không bảo vệ được. Xem mục 5.d. Thuật ngữ cần nhớ
| Thuật ngữ | Giải thích ngắn |
|---|---|
| Output | Kết quả mô hình đang được kiểm. |
| Driver | Biến hoặc giả định được thay đổi. |
| Range | Miền giá trị hợp lý cho driver. |
| OAT | Đổi một input, giữ input khác ở base. |
| Local sensitivity | Độ nhạy quanh một base. |
| Tornado chart | Các khoảng output OAT xếp theo độ rộng. |
| Interaction effect | Tác động một driver phụ thuộc driver khác. |
| Break-even | Input làm output chạm zero. |
| Decision threshold | Mức output làm cách xử lý đổi. |
| Model risk | Rủi ro từ formula, cấu trúc hoặc giả định. |
e. Nguồn tham khảo
- US EPA — Sensitivity and Uncertainty Analyses
- Saltelli — Sensitivity analysis: Could better methods be used?
- Saltelli et al. — Global Sensitivity Analysis: The Primer
- Saltelli et al. — Systematic review of sensitivity practices
- NIST Technical Note 2254
f. Học tiếp gì?
Bài trước: Bayesian Thinking là gì? #8. Tiếp theo: Advanced Thesis Building #10 — biến evidence, assumptions và disconfirming signals thành một thesis có update protocol.
Nhắc lại: Đây là nội dung giáo dục. Profit, range, threshold và matrix demo không phải định giá, tín hiệu giao dịch, lời khuyên đầu tư hay cam kết lợi nhuận.
Bài tiếp theo