介绍
# Decision Trees — Structured Decision-Making
决策树分析:一种利用概率和期望值进行决策的可视化工具。
## 适用场景
✅ **适用于:** - 商业决策(投资、招聘、产品发布) - 个人选择(职业、搬迁、购买) - 交易与投资(仓位规模、进出场) - 运营决策(扩张、外包)- 任何具有可衡量后果的情况
❌ **不适合:** - 存在真正不确定性的决策(黑天鹅事件) - 快速的战术选择 - 纯粹的情感/伦理问题
## 方法
**决策树** = 树状结构,其中: - **决策节点**(方块)— 你的行动 - **机会节点**(圆形)— 随机事件 - **终点节点**(三角形)— 最终结果
**流程:** 1. **定义选项** — 所有可能的行动 2. **定义结果** — 每个行动后可能发生的事情 3. **估算概率** — 每个结果发生的可能性 (0-100%) 4. **估算数值** — 每个结果的效用/回报(金钱、分数、效用单位) 5. **计算 EV** — 期望值 = Σ (概率 × 数值) 6. **选择** — 具有最高 EV 的选项
## 公式
``` EV = Σ (probability_i × value_i) ```
**示例:** - 结果 A:70% 概率,+$100 → 0.7 × 100 = $70 - 结果 B:30% 概率,-$50 → 0.3 × (-50) = -$15 - **EV = $70 + (-$15) = $55**
## 经典示例(来自维基百科)
**决策:** 去参加派对还是待在家里?
### 估算: - 派对:+9 效用(有趣) - 在家:+3 效用(舒适) - 不必要地带夹克:-2 效用 - 感到冷:-10 效用 - 变冷的概率:70% - 变暖的概率:30%
### 树:
``` Decision ├─ Go to party │ ├─ Take jacket │ │ ├─ Cold (70%) → 9 utility (party) │ │ └─ Warm (30%) → 9 - 2 = 7 utility (carried unnecessarily) │ │ EV = 0.7 × 9 + 0.3 × 7 = 8.4 │ └─ Don't take jacket │ ├─ Cold (70%) → 9 - 10 = -1 utility (froze) │ └─ Warm (30%) → 9 utility (perfect) │ EV = 0.7 × (-1) + 0.3 × 9 = 2.0 └─ Stay home └─ EV = 3.0 (always) ```
**结论:** 去并带上夹克 (EV = 8.4) > 待在家里 (EV = 3.0) > 去不带夹克 (EV = 2.0)
## 商业示例
**决策:** 推出新产品?
### 估算: - 成功概率:40% - 失败概率:60% - 成功时的利润:$500K - 失败时的损失:$200K - 不推出:$0
### 树:
``` Launch product ├─ Success (40%) → +$500K └─ Failure (60%) → -$200K
EV = (0.4 × 500K) + (0.6 × -200K) = 200K - 120K = +$80K
Don't launch └─ EV = $0 ```
**结论:** 推出 (EV = +$80K) 优于不推出 ($0)。
## 交易示例
**决策:** 建仓还是等待?
### 估算: - 上涨概率:60% - 下跌概率:40% - 仓位规模:$1000 - 目标:+10% ($100 利润) - 止损:-5% ($50 损失)
### 树:
``` Enter position ├─ Rise (60%) → +$100 └─ Fall (40%) → -$50
EV = (0.6 × 100) + (0.4 × -50) = 60 - 20 = +$40
Wait └─ No position → $0
EV = $0 ```
**结论:** 建仓具有正 EV (+$40),优于等待 ($0)。
## 方法局限性
⚠️ **关键点:**
1. **主观估算** — 概率往往是“拍脑袋”得出的 2. **不考虑风险偏好** — 忽视心理学(损失厌恶) 3. **简化模型** — 现实更为复杂 4. **不稳定** — 数据的微小变化可能会极大地改变决策树 5. **可能不准确** — 存在其他更精确的方法(随机森林)
**但是:** 即使数字是近似值,该方法对于**梳理思路**也是非常有价值的。
## 用户工作流
### 1. 结构化
询问: - 行动选项有哪些? - 可能的结果有哪些? - 每个结果的数值/效用是多少? - 我们如何衡量数值?(金钱、效用单位、幸福点数)
### 2. 概率估算
帮助估算的方法: - 历史数据(如果可用) - 可比情况 - 专家判断(用户经验) - 主观评估(如果没有数据)
### 3. 可视化
在 markdown 中绘制树:
``` Decision ├─ Option A │ ├─ Outcome A1 (X%) → Value Y │ └─ Outcome A2 (Z%) → Value W └─ Option B └─ Outcome B1 (100%) → Value V ```
### 4. EV 计算
对于每个选项: ``` EV_A = (X% × Y) + (Z% × W) EV_B = V ```
### 5. 建议
具有最高 EV 的选项 = 最佳选择(理性上)。
**但要补充背景:** - 风险承受能力(用户能否承受最坏情况) - 时间跨度(何时需要结果) - 其他因素(声誉风险、情绪、伦理)
## 按领域的应用示例
### 交易与投资
**仓位规模:** - 选项:资金的 5%、10%、20% - 结果:具有不同概率的利润/损失 - 数值:以美元为单位的绝对利润
**入场时机:** - 选项:现在入场、等待 -5%、等待 -10% - 结果:价格上涨/下跌 - 数值:机会成本 vs 更好的入场价格
### 商业策略
**产品发布:** - 选项:发布 / 不发布 - 结果:成功 / 失败 - 数值:收入、市场份额、成本
**招聘决策:** - 选项:招聘候选人 A / 候选人 B / 不招聘 - 结果:成功入职 / X 个月后离职 - 数值:生产力、成本、机会成本
### 个人决策
**职业变更:** - 选项:留任 / 换工作 / 创业 - 结果:新角色中的成功 / 失败 - 数值:薪水、满意度、成长、风险
**房地产:** - 选项:购买 A 房 / B 房 / 继续租房 - 结果:价格上涨 / 下跌 / 个人情况变化 - 数值:净资产、每月成本、生活质量
### 运营
**产能规划:** - 选项:扩大生产 / 外包 / 维持现状 - 结果:需求增加 / 减少 - 数值:利润、利用率、固定成本
**供应商选择:** - 选项:供应商 A / 供应商 B / 内部完成 - 结果:质量、可靠性、故障 - 数值:总拥有成本
## 计算器脚本
使用 `scripts/decision_tree.py` 进行自动 EV 计算:
```bash python3 scripts/decision_tree.py --interactive ```
或者通过 JSON:
```bash python3 scripts/decision_tree.py --json tree.json ```
JSON 格式:
```json { "decision": "Launch product?", "options": [ { "name": "Launch", "outcomes": [ {"name": "Success", "probability": 0.4, "value": 500000}, {"name": "Failure", "probability": 0.6, "value": -200000} ] }, { "name": "Don't launch", "outcomes": [ {"name": "Status quo", "probability": 1.0, "value": 0} ] } ] } ```
输出:
``` 📊 Decision Tree Analysis
Decision: Launch product?
Option 1: Launch └─ EV = $80,000.00 ├─ Success (40.0%) → +$500,000.00 └─ Failure (60.0%) → -$200,000.00
Option 2: Don't launch └─ EV = $0.00 └─ Status quo (100.0%) → $0.00
✅ Recommendation: Launch (EV: $80,000.00) ```
## 最终检查清单
在给出建议之前,请确保:
- ✅ 涵盖了所有选项 - ✅ 每个分支的概率总和为 100% - ✅ 数值是现实的(而非幻想) - ✅ 用户清楚最坏的情况 - ✅ 风险/回报比是明确的 - ✅ 提及了方法局限性 - ✅ 添加了定性背景(不仅仅是 EV)
## 方法优势
✅ **简单** — 人们凭直觉就能理解树状图 ✅ **可视化** — 结构清晰 ✅ **数据需求量小** — 可以使用专家估算 ✅ **白盒** — 逻辑透明 ✅ **最好/最坏情况** — 可见极端场景 ✅ **多位决策者** — 可以考虑不同的利益
## 方法劣势
❌ **不稳定** — 微小的数据变化 → 巨大的树状变化 ❌ **不准确** — 通常存在更精确的方法 ❌ **主观** — 概率估算“来自头脑” ❌ **复杂** — 结果众多时会变得笨拙 ❌ **不考虑风险偏好** — 假设风险中性
## 重要提示
该方法对于**梳理思路**很有价值,但数字往往是凭空捏造的。
更重要的是过程 — **强迫自己思考所有分支**并明确评估后果。
不要将决策宣传为“科学证实”的 — 它只是一个用于有意识选择的框架。
## 延伸阅读
- 运筹学中的决策树 - 影响图(对于复杂决策更紧凑) - 效用函数(考虑风险厌恶) - 蒙特卡洛模拟(为了更高的准确性) - 实物期权分析(用于战略决策)