名称: 决策树
描述: 适用于所有领域的复杂决策分析工具。当用户需要评估具有不确定性的多个选项、分析风险/回报情景或系统化地梳理选择时使用。适用于商业、投资、个人决策、运营、职业选择、产品策略以及任何需要结构化评估的场景。触发词包括:决策树、我是否应该、如果...会怎样、评估选项、比较方案、风险分析。
决策树分析:一种结合概率与期望值的可视化决策工具。
✅ 适用于:
- 商业决策(投资、招聘、产品发布)
- 个人选择(职业、搬迁、购买)
- 交易与投资(仓位管理、入场/出场)
- 运营决策(扩张、外包)
- 任何具有可衡量后果的情景
❌ 不适用于:
- 具有真正不确定性(黑天鹅事件)的决策
- 需要快速反应的战术选择
- 纯粹情感或伦理问题
决策树 = 树状结构,其中:
- 决策节点(方形)—— 你的行动
- 机会节点(圆形)—— 随机事件
- 终端节点(三角形)—— 最终结果
流程:
1. 定义选项 —— 所有可能的行动方案
2. 定义结果 —— 每个行动后可能发生的情况
3. 估计概率 —— 每个结果发生的可能性(0-100%)
4. 估计价值 —— 每个结果的效用/回报(金钱、点数、效用单位)
5. 计算期望值 —— 期望值 = Σ (概率 × 价值)
6. 选择 —— 期望值最高的选项
期望值 = Σ (概率_i × 价值_i)
示例:
- 结果 A:70% 概率,+$100 → 0.7 × 100 = $70
- 结果 B:30% 概率,-$50 → 0.3 × (-50) = -$15
- 期望值 = $70 + (-$15) = $55
决策: 去参加派对还是待在家里?
决策
├─ 去派对
│ ├─ 带夹克
│ │ ├─ 冷 (70%) → 9 效用(派对)
│ │ └─ 暖 (30%) → 9 - 2 = 7 效用(不必要携带)
│ │ 期望值 = 0.7 × 9 + 0.3 × 7 = 8.4
│ └─ 不带夹克
│ ├─ 冷 (70%) → 9 - 10 = -1 效用(受冻)
│ └─ 暖 (30%) → 9 效用(完美)
│ 期望值 = 0.7 × (-1) + 0.3 × 9 = 2.0
└─ 待在家里
└─ 期望值 = 3.0(恒定)
结论: 带夹克去派对(期望值 = 8.4)> 待在家里(期望值 = 3.0)> 不带夹克去派对(期望值 = 2.0)
决策: 是否推出新产品?
推出产品
├─ 成功 (40%) → +$500K
└─ 失败 (60%) → -$200K
期望值 = (0.4 × 500K) + (0.6 × -200K) = 200K - 120K = +$80K
不推出
└─ 期望值 = $0
结论: 推出产品(期望值 = +$80K)优于不推出($0)。
决策: 入场建仓还是等待?
入场建仓
├─ 上涨 (60%) → +$100
└─ 下跌 (40%) → -$50
期望值 = (0.6 × 100) + (0.4 × -50) = 60 - 20 = +$40
等待
└─ 不建仓 → $0
期望值 = $0
结论: 入场建仓具有正的期望值(+$40),优于等待($0)。
⚠️ 关键注意事项:
但是: 即使数字是近似的,该方法对于结构化思考仍然很有价值。
提问:
- 有哪些行动选项?
- 可能产生哪些结果?
- 每个结果的价值/效用是多少?
- 我们如何衡量价值?(金钱、效用单位、幸福点数)
通过以下方式帮助估计:
- 历史数据(如果有)
- 可比情景
- 专家判断(用户经验)
- 主观评估(若无数据)
用 Markdown 绘制决策树:
决策
├─ 选项 A
│ ├─ 结果 A1 (X%) → 价值 Y
│ └─ 结果 A2 (Z%) → 价值 W
└─ 选项 B
└─ 结果 B1 (100%) → 价值 V
针对每个选项:
期望值_A = (X% × Y) + (Z% × W)
期望值_B = V
期望值最高的选项 = 理性上的最佳选择。
但需补充背景信息:
- 风险承受能力(用户能否承受最坏情况)
- 时间范围(何时需要结果)
- 其他因素(声誉风险、情感、伦理)
仓位管理:
- 选项:投入资本的 5%、10%、20%
- 结果:不同概率下的盈利/亏损
- 价值:以美元计的绝对利润
入场时机:
- 选项:现在入场、等待下跌 5%、等待下跌 10%
- 结果:价格上涨/下跌
- 价值:机会成本 vs 更好的入场价格
产品发布:
- 选项:发布 / 不发布
- 结果:成功 / 失败
- 价值:收入、市场份额、成本
招聘决策:
- 选项:雇佣候选人 A / 候选人 B / 不雇佣
- 结果:成功入职 / X 个月后离职
- 价值:生产力、成本、机会成本
职业转变:
- 选项:留下 / 换工作 / 创业
- 结果:在新角色中成功 / 失败
- 价值:薪资、满意度、成长、风险
房地产:
- 选项:购买房屋 A / 房屋 B / 继续租房
- 结果:价格上涨 / 下跌 / 个人情况变化
- 价值:净资产、月度成本、生活质量
产能规划:
- 选项:扩大生产 / 外包 / 维持现状
- 结果:需求增加 / 减少
- 价值:利润、利用率、固定成本
供应商选择:
- 选项:供应商 A / 供应商 B / 内部生产
- 结果:质量、可靠性、故障
- 价值:总拥有成本
使用 scripts/decision_tree.py 进行自动化的期望值计算:
python3 scripts/decision_tree.py --interactive
或通过 JSON:
python3 scripts/decision_tree.py --json tree.json
JSON 格式:
{
"decision": "是否推出产品?",
"options": [
{
"name": "推出",
"outcomes": [
{"name": "成功", "probability": 0.4, "value": 500000},
{"name": "失败", "probability": 0.6, "value": -200000}
]
},
{
"name": "不推出",
"outcomes": [
{"name": "维持现状", "probability": 1.0, "value": 0}
]
}
]
}
输出:
📊 决策树分析
决策:是否推出产品?
选项 1:推出
└─ 期望值 = $80,000.00
├─ 成功 (40.0%) → +$500,000.00
└─ 失败 (60.0%) → -$200,000.00
选项 2:不推出
└─ 期望值 = $0.00
└─ 维持现状 (100.0%) → $0.00
✅ 建议:推出(期望值:$80,000.00)
在给出建议前,请确保:
✅ 简单 —— 人们能直观理解树状结构
✅ 可视化 —— 结构清晰
✅ 数据需求少 —— 可使用专家估计
✅ 白盒模型 —— 逻辑透明
✅ 展示极端情况 —— 最好/最坏情景可见
✅ 适用于多方决策 —— 可考虑不同利益相关者的观点
❌ 不稳定 —— 数据微小变化可能导致决策树大幅变动
❌ 不精确 —— 通常存在更精确的方法
❌ 主观性强 —— 概率估计往往“凭感觉”
❌ 可能变得复杂 —— 结果过多时会难以处理
❌ 未考虑风险偏好 —— 假设决策者是风险中性的
该方法对于结构化思考很有价值,但数字往往缺乏坚实依据。
更重要的是思考过程本身 —— 迫使自己思考所有分支并明确评估后果。
不要将决策包装成“科学证明” —— 它只是一个用于做出审慎选择的框架。