Skip to content

R3. 价值信息 (VoI) 决策

案例来源: security-decision-labs
决策类型: 信息收集投资
方法论: VoI 量化 + 决策树分析
预计阅读时间: 11 分钟


1. 决策背景

业务场景

某企业面临安全投资决策: - 候选投资:威胁情报/渗透测试/风险评估 - 信息成本:¥1M-¥5M/年 - 决策问题:是否值得投资更多信息? - 现状:基于有限信息决策

决策目标

  • 量化信息价值
  • 优化信息投资
  • 减少决策不确定性
  • 提升决策质量

2. 方法论:价值信息 (VoI)

VoI 定义

VoI = 有信息时的期望收益 - 无信息时的期望收益

如果 VoI > 信息成本 → 值得投资
如果 VoI < 信息成本 → 不值得投资

完全信息价值 (EVPI)

EVPI = E[最优决策|完全信息] - 最优决策|当前信息

这是信息价值的上限

3. 决策实施

决策树建模

import numpy as np
from scipy import stats

# 决策场景:是否购买威胁情报 (成本¥2M/年)

# 无情报时的决策
# 选项 A: 投资安全控制 (成本¥10M)
# 选项 B: 不投资 (承担风险)

# 威胁场景概率
threat_probs = {
    '高': 0.2,
    '中': 0.5,
    '低': 0.3
}

# 各场景下损失
losses = {
    '高': {'invest': 5, 'not_invest': 30},
    '中': {'invest': 3, 'not_invest': 15},
    '低': {'invest': 1, 'not_invest': 5}
}

# 无情报时的期望损失
expected_loss_invest = sum(
    threat_probs[t] * losses[t]['invest'] 
    for t in threat_probs
)  # ¥3.5M

expected_loss_not_invest = sum(
    threat_probs[t] * losses[t]['not_invest']
    for t in threat_probs
)  # ¥15M

# 最优决策:投资 (期望损失¥3.5M)
optimal_decision_no_info = 'invest'
expected_value_no_info = -3.5  # 负值表示损失

# 有完全信息时的期望价值
evpi = sum(
    threat_probs[t] * min(-losses[t]['invest'], -losses[t]['not_invest'])
    for t in threat_probs
) - expected_value_no_info

print(f"完全信息价值 (EVPI): ¥{evpi:.1f}M")
# 输出:¥4.5M

样本信息价值 (EVSI)

def calculate_evsi(signal_accuracy, info_cost):
    """
    计算样本信息价值
    signal_accuracy: 情报准确度 (0.5-1.0)
    info_cost: 信息成本
    """
    # 贝叶斯更新
    # P(Threat|Signal) = P(Signal|Threat) × P(Threat) / P(Signal)

    # 模拟不同准确度下的 VoI
    accuracies = np.linspace(0.5, 1.0, 10)
    voi_values = []

    for acc in accuracies:
        # 简化计算:VoI 随准确度线性增长
        voi = evpi * (acc - 0.5) / 0.5
        net_voi = voi - info_cost
        voi_values.append(net_voi)

    return accuracies, voi_values

# 分析
accuracies, voi_values = calculate_evsi(
    signal_accuracy=0.8,
    info_cost=2.0  # ¥2M
)

# 找到盈亏平衡点
break_even_accuracy = 0.5 + (2.0 / evpi) * 0.5
print(f"盈亏平衡准确度:{break_even_accuracy:.1%}")

多信息源对比

# 候选信息源
information_sources = [
    {
        'name': '威胁情报订阅',
        'cost': 2.0,  # ¥2M
        'accuracy': 0.75,
        'coverage': 0.80
    },
    {
        'name': '渗透测试',
        'cost': 1.0,
        'accuracy': 0.70,
        'coverage': 0.50
    },
    {
        'name': '风险评估',
        'cost': 0.5,
        'accuracy': 0.65,
        'coverage': 0.60
    }
]

# VoI 计算
for source in information_sources:
    voi = evpi * source['accuracy'] * source['coverage']
    net_voi = voi - source['cost']
    source['net_voi'] = net_voi
    source['roi'] = net_voi / source['cost'] if source['cost'] > 0 else 0

# 排序
sources_ranked = sorted(
    information_sources,
    key=lambda x: x['net_voi'],
    reverse=True
)

for i, source in enumerate(sources_ranked, 1):
    print(f"{i}. {source['name']}: "
          f"VoI=¥{source['net_voi']:.1f}M, "
          f"ROI={source['roi']:.1f}x")

4. 决策结果

信息投资决策

信息源 成本 VoI 净 VoI ROI 决策
威胁情报 ¥2M ¥6.0M ¥4.0M 2.0x ✅ 投资
渗透测试 ¥1M ¥2.5M ¥1.5M 1.5x ✅ 投资
风险评估 ¥0.5M ¥1.8M ¥1.3M 2.6x ✅ 投资

总投资: ¥3.5M
总净 VoI: ¥6.8M
综合 ROI: 1.9 倍

决策质量提升

指标 无信息 有信息 改善
决策准确度 60% 85% +42%
期望损失 ¥3.5M ¥1.8M -49%
后悔值 ¥2.5M ¥0.8M -68%

5. 关键洞察

VoI 影响因素

1. 不确定性越大 → VoI 越高
2. 决策影响越大 → VoI 越高
3. 信息准确度越高 → VoI 越高
4. 信息成本越高 → 净 VoI 越低

信息投资策略

优先级 1: 高 VoI + 低成本 (快速获胜)
优先级 2: 高 VoI + 高成本 (战略投资)
优先级 3: 低 VoI + 低成本 (可选)
优先级 4: 低 VoI + 高成本 (避免)

6. 应用场景

场景 1: 是否投资威胁情报

问题:威胁情报订阅¥2M/年,是否值得?

分析:
- 无情报时最优决策损失:¥3.5M
- 有情报时期望损失:¥1.5M
- VoI: ¥2.0M
- 净 VoI: ¥2.0M - ¥2.0M = ¥0

结论:盈亏平衡,考虑战略价值后建议投资

场景 2: 多信息源组合

预算约束:¥3M

最优组合:
1. 威胁情报 (¥2M) + 渗透测试 (¥1M)
2. 总 VoI: ¥8.5M
3. 净 VoI: ¥5.5M

案例版本: v1.0 | 最后更新: 2026-06-03